Ich führe ein interaktives Fluchprogramm in einer Bildschirmsitzung auf ziemlich schwacher Hardware aus. Meistens ist der Bildschirm abgenommen. Gibt es eine Möglichkeit für dieses Programm, diese Situation zu erkennen und im Grunde genommen nicht mehr auf dem Bildschirm zu malen?
gnu-screen
Joachim Breitner
quelle
quelle
Antworten:
Es gibt ein irssi-Skript namens
screen_away
, das Ihren Abwesenheitsstatus basierend darauf festlegt, ob der Bildschirm angehängt ist oder nicht. Es funktioniert so:Für jede Shell, die in einem Bildschirm ausgeführt wird, wird die
STY
Umgebungsvariable auf den Socket-Namen festgelegt. Sie können ausführenscreen -ls
, um den Pfad abzurufen, in dem alle Sockets gespeichert sind:Überprüfen Sie das Ausführungsbit ein
/var/run/screen/.../$STY
. Wenn es eingestellt ist, wird der Bildschirm angehängt; sonst ist es losgelöst. Sie können der obigen Ausgabe entnehmen, dass zwei meiner drei Bildschirme angehängt sind und hier die entsprechenden Ausführungsbits gesetzt sind:Sie könnten auch nur halten die Ausgabe der Überprüfung
screen -ls
für eine Zeile , die enthält$STY
, und sehen , ob es in endet(Attached)
oder(Detached)
, aber das erfordert laufenscreen
über und überquelle