Mi piace usare screen -d -RR
per creare / allegare automaticamente a una determinata schermata. Ho creato funzioni bash per renderlo più facile ...
function mkscreen
{
local add=n
if [ "$1" == '-a' ]; then
add=y
shift;
fi
local name=$1;
shift;
local command="$*";
if [ -z "$name" -o -z "$command" ]; then
echo 'Usage: mkscreen [ -a ] name command
-a Add to .bashrc.' 1>&2;
return 1;
fi
if [ $add == y ]; then
echo "mkscreen $name $command" >> $HOME/.bashrc;
fi
alias $name="/usr/bin/screen -d -RR -S $name $command";
return 0;
}
function rmscreen
{
local delete=n
if [ "$1" == '-d' ]; then
delete=y
shift;
fi
local name=$1;
if [ -z "$name" ]; then
echo 'Usage: rmscreen [ -d ] name
-d Delete from .bashrc.' 1>&2;
return 1;
fi
if [ $delete == y ]; then
sed -i -r "/^mkscreen $name .*/d" $HOME/.bashrc;
fi
unalias $name;
return 0;
}
Creano un alias per /usr/bin/screen -d -RR -S $name $command
. Ad esempio, mi piace usare irssi in una sessione sullo schermo, quindi nel mio .bashrc (sotto quelle funzioni), ho:
mkscreen irc /usr/bin/irssi
Quindi posso semplicemente digitare irc
un terminale per entrare in irssi. Se la schermata "irc" non esiste ancora, viene creata e / usr / bin / irssi viene eseguita da essa (che si connette automaticamente, ovviamente). Se è già in esecuzione, mi ricollego semplicemente ad esso, staccando con la forza qualsiasi altra istanza che è già collegata ad esso. È piuttosto carino.
Un altro esempio è la creazione di alias di schermata temporanei per i perldoc quando li incontro:
mkscreen perlipc perldoc perlipc
perlipc # Start reading the perldoc, ^A d to detach.
...
# Later, when I'm done reading it, or at least finished
# with the alias, I remove it.
rmscreen perlipc
L'opzione -a (deve essere il primo argomento) aggiunge l'alias dello schermo a .bashrc (quindi è persistente) e -d lo rimuove (questi possono essere potenzialmente distruttivi, quindi usali a tuo rischio). xD
Aggiungere:
Un altro bash-ism che trovo conveniente quando lavoro molto con lo schermo:
alias sls='/usr/bin/screen -ls'
In questo modo puoi elencare le tue schermate con molte meno sequenze di tasti. Non so se sls
entra in collisione con le utility esistenti, ma al momento non era sul mio sistema, quindi ci ho provato.