Wie zeige ich den aktuellen "Sitzungsnamen" oder "Sockennamen" einer Bildschirmsitzung in der Statusleiste an?

1821
Neg_EV

Ich führe mehrere Bildschirmsitzungen aus, die jeweils mit 'screen -S name ' erstellt wurden, und ich möchte in der Statusleiste den Namen anzeigen können, den ich zum Erstellen der aktuellen Bildschirmsitzung verwendet habe.

Dies scheint mir jedoch nicht zu gelingen. Irgendwelche Ideen?

3

3 Antworten auf die Frage

1
Max Cantor

Dies kommt in der nächsten Version: http://savannah.gnu.org/bugs/index.php?23738

Sie können auch die Terminalvariable verwenden $STY, obwohl die Benutzer scheinbar inkonsistente Ergebnisse erhalten.

0
Alastair Irvine

Dies wurde erfolgreich simuliert, indem der Sitzungsname des Bildschirms in hardstatus aufgenommen wurde.

Ich habe es noch weiter verbessert:

# generates equivalent of $STY followed by "on $HOST" if $STY is non-standard backtick 10 60 60 sh -c 'sty=$(screen -ls | grep --color=no -o "$PPID[^[:space:]]*") ; if [ $ = $HOST ] ; then echo $sty ; else echo "$sty on $HOST" ; fi' # includes session name thanks to backtick 10 hardstatus string "[screen %n%?: %t%? (%10`)] %h" 
0
Scz

Max Cantor bezieht sich in seiner Antwort auf eine nächste Version . Jetzt funktioniert es problemlos mit %Sder hardstatus-Zeile.

MWE (.screenrc):

hardstatus on hardstatus alwayslastline hardstatus string "%S" 

Dadurch wird der Sitzungsname ohne die ID (wie $) angezeigt .

(Gleiche Antwort auf andere Fragen hier und hier der Vollständigkeit halber).