Me gusta usar screen -d -RR
para crear / adjuntar automáticamente a una pantalla determinada. Creé funciones de bash para hacerlo más fácil ...
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;
}
Crean un alias para /usr/bin/screen -d -RR -S $name $command
. Por ejemplo, me gusta usar irssi en una sesión de pantalla, así que en mi .bashrc (debajo de esas funciones), tengo:
mkscreen irc /usr/bin/irssi
Entonces puedo escribir irc
una terminal para entrar en irssi. Si la pantalla 'irc' aún no existe, se crea y se ejecuta / usr / bin / irssi desde ella (que se conecta automáticamente, por supuesto). Si ya se está ejecutando, simplemente lo vuelvo a adjuntar, separando a la fuerza cualquier otra instancia que ya esté adjunta. Es bastante agradable.
Otro ejemplo es la creación de alias de pantalla temporales para perldocs a medida que los encuentro:
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
La opción -a (debe ser el primer argumento) agrega el alias de la pantalla a .bashrc (por lo que es persistente) y -d lo elimina (estos pueden ser potencialmente destructivos, así que utilícelo bajo su propio riesgo). xD
Adjuntar:
Otro bash-ism que encuentro conveniente cuando trabajo mucho con la pantalla:
alias sls='/usr/bin/screen -ls'
De esa manera, puede enumerar sus pantallas con muchas menos pulsaciones de teclas. No sé si sls
choca con alguna utilidad existente, pero no lo hizo en ese momento en mi sistema, así que lo hice.