Bon, je remonte ce poste qui le mérite, en rajoutant un alias pour les adeptes de screen :
function sr {
pgrep -x screen > /dev/null
if [ $? -ne 0 ] ; then screen ; exit 0 ; fi
echo $TERM
if [ $TERM = "screen" ]
then
echo "screen"
else
echo "screen -r"
fi
}
Deux trois explications :
pgrep -x renvoie les numéros des processus qui ont comme nom
exactement
screen. Sinon, gnome-screensaver est sélectionné, c'est pas terrible.
Si aucun screen n'est lancé, on en lance un. (noter que la fenêtre d'o๠l'on lance le screen se fermera en même temps que celui-ci)
Si un screen est lancé, deux cas :
1. on est déjà dans un screen (variable $TERM) : on ouvre une nouvelle fenêtre
2. on n'est pas dedans : on tente de se rattacher à un screen déjà existant
(note que ceci ne fonctionne que si vous n'avez qu'un screen d'ouvert et détaché.
Dans tous les autres cas, vous aurez un message d'erreur)
Ceci n'est utile que si vous souhaitez ne conserver qu'un seul screen lancé à la fois, évidemment...[/i]
EDIT : bon je laisse ceci comme témoignage de ma stupidté ...
Vous pouvez utiliser celui-là :
alias sr="screen -raAd"
Bref 😐
J'en profite pour rajouter un truc utile pour screen : par défaut, tous les raccourcis commencent par ctrl + A
(c'est bête par ce que le raccourci : aller au début de la ligne, pour le shell c'est aussi ctrl - a.
Ca se règle dans .screenrc :
escape ^xx par exemple.
(du coup, ça devient Ctrl-x c pour créer une nouvelle fenêtre)
Je sais, ça rentre aussi en conflit avec le crtl-x de nano, mais je ne l'utilise jamais.
Choisissez celui qui vous plaà®t.