Ich benutze ständig GNU Screen. Aber ich habe versucht herauszufinden, ob es eine Möglichkeit gibt, X11-Apps zum Weiterleiten über den Bildschirm zu bewegen, wenn ich sshing (ist das ein Wort?). Wenn ich derzeit versuche, "gedit" über den Bildschirm auszuführen, wird es auf meinem "Server" -Computer und nicht auf meinem Client geöffnet. Wenn ich außerhalb des Bildschirms dasselbe mache, ist alles in Ordnung. Aber ich möchte, dass alles in Ordnung ist, wenn ich auch den Bildschirm benutze!
Vielen Dank!
PS: Ich habe das Problem gegoogelt und sehe die Erwähnung von xmove, aber ich kann das Paket, das xmove enthält, nicht auf meinem Ubuntu finden. (Ubuntu 10.10)
command-line
ssh
gnu-screen
Sandro
quelle
quelle
Antworten:
Um dies manuell zu tun, überprüfen Sie Ihre DISPLAY-Umgebungsvariable, sobald Sie SSHed in, aber vor dem erneuten Anschließen an den Bildschirm haben:
Legen Sie die Umgebungsvariable explizit fest, nachdem Sie die Verbindung zum Bildschirm wiederhergestellt haben:
wo : N.0 ist was das
echo
vor dem anhängen zeigte. Dies wird nicht perfekt sein, da einige Anwendungen möglicherweise erwarten, mit dem Session D-Bus zu kommunizieren, der für das Senden über die SSH-Verbindung etwas komplexer ist.quelle
echo $DISPLAY > $HOME/.display.txt; screen -x -d
und dann noch einen Bildschirm, der das tutexport DISPLAY=$(cat $HOME/.display.txt)
. /path/to/script
woscript
istexport DISPLAY=$(cat $HOME/.display.txt)
es gibt ein programm namens xpra in den repositories, es ist wie gnu screen für x11. es ist nicht allzu schwer damit zu arbeiten:
X Persistente Remote-Anwendungen
Xpra bietet Ihnen die Funktionalität von GNU Screen für X-Anwendungen.
Der Benutzer kann Remote-X-Anwendungen auf seinem lokalen Computer anzeigen und die Verbindung zum Remote-Computer trennen und wiederherstellen, ohne den Status der ausgeführten Anwendungen zu verlieren.
quelle
Byobu fügt die ssh- und gpg-Agenten automatisch wieder hinzu. Ich könnte es schaffen, die Anzeigevariable wieder zuzuordnen, wenn das für Sie hilfreich ist ...
quelle
So habe ich es beim Laufenlassen von byobu zum Laufen gebracht
Fügen Sie diese Zeile in .bash_login vor der Zeile "_byobu_source .." hinzu:
Und dann füge diese Zeile zu .bashrc hinzu :
quelle
Es scheint, dass das Problem darin besteht, dass die Umgebungsvariable XAUTHORITY in der Bildschirmsitzung nicht beibehalten wird. Ich habe dieses Problem gelöst, indem ich Folgendes zu meinem .bashrc hinzugefügt habe. Ich habe nicht gedacht, dass dies notwendig sein sollte, aber ich denke, Sie tun, was Sie müssen:
Ich erwarte nicht, dass dies die beste oder prägnanteste Lösung ist, aber es funktioniert.
quelle
FreeNX ist eine wunderbare App für die Arbeit mit Remote-Displays.
quelle
Auf der Grundlage von @harre-Vorschlägen stellte ich fest, dass dies die beste funktionierende Lösung ist, zumindest für RHEL via Putty. Ich weiß, dass es einen besseren Weg gibt, als eine Datei zu erstellen, die die Variable enthält, aber dies funktioniert außerhalb des Gates, um beim Laden über
X11
Zugriff auf die zu erhalten .DISPLAY
gnu screen
Automatisierte Lösung
Hinzufügen zu
.bashrc
(oder.bash_profile
, abhängig von Ihrem Anwendungsfall)Fügen Sie dann die folgende Datei hinzu (oder Ihre Pfadauswahl)
quelle