2016-07-14 7 views
0

Lassen Sie uns nicht reit Sitzung paar Mal anhängen:Wie unterscheidet man Displays im Gnu-Screen-Multi-Display-Modus?

In einem Terminal (zB mit pts 11):

$ screen -x #say this will get pid 111 

In einer anderen (etwa pts 22):

$ screen -x #get pid 222 

Ist gibt es einen Weg zu programmatisch unterscheiden diese beiden von der Innenseite des Bildschirms?

OR (in anderen Worten)

Gibt es eine Möglichkeit pid 111/222 oder pty 11/22 auf aktuell geöffnete Fenster nach innen zu verbinden?

Hinweis Ich kann "manuell" sagen, indem Sie den Bildschirmbefehl ": displays" (C-a *) aufrufen. Aber es scheint, dass es nicht möglich ist, die Ausgabe von Bildschirmbefehlen irgendwo umzuleiten (um klar zu sein: Bildschirmbefehle (C-a :), nicht Befehle auf dem Bildschirm).

Antwort

0

:displays ist ein fehlender Befehl innerhalb der von der -Q gebotenen Möglichkeiten Befehlszeilenoption des Bildschirms

Derzeit Sie die beste vorhandene Option verwenden, indem Sie manuell C-a * Eingabe der Anzeigeliste zu bekommen.

Sie könnten sicherlich diese außerhalb des Bildschirms durch die Verwendung von Tools wie expect automatisieren Tastenanschläge und script zu senden, um die Sitzung zu protokollieren, aber es wäre eine Menge Arbeit.

Um dies zu tun innerhalb des Bildschirms (d. H. Machen Bash-Protokoll den Benutzer eine Aktion zum Beispiel), es ist ziemlich unmöglich, wenn Sie einige Annahmen gemacht. Siehe zum Beispiel Access SSH client IP address, within a screen session

Verwandte Themen