Xterms über x-sitzungen hinweg „trennen“ und „neu anfügen“?

14

Gibt es eine Möglichkeit, ein xterm (oder ein anderes Fenster) zu speichern / zu trennen und es in einer anderen X-Sitzung auf demselben Computer erneut zu öffnen / zu laden / erneut zuzuordnen?

Was ich versuche zu erreichen, ist, laufende xterms zwischen zwei VNC-Sitzungen zu "verschieben", die auf einer Maschine laufen.

Nein, ich suche keinen Bildschirm :)

Ich möchte keinen Bildschirm verwenden, da ich dann für jedes xterm eine separate Bildschirmsitzung verwenden muss. Die Verwendung mehrerer Registerkarten auf dem Bildschirm funktioniert in meinem Fall nicht einwandfrei, da ich mehrere Begriffe gleichzeitig betrachten muss - nicht zwischen den Registerkarten wechseln.

NX ist eine weitere Option, die aufgetaucht ist, für die Installation von s / w sind jedoch Berechtigungen auf dem Server erforderlich. Ich suche nach einer Lösung mit X oder einer Option in einem der Fenstermanager direkt. fvwm / xfce / gnome wäre gut, aber auch andere WMs mit dieser Funktion sind willkommen.

Abhinav
quelle

Antworten:

8

Ich weiß, dass dieser Beitrag alt ist, aber ...

http://xpra.org/ Xpra ist 'Bildschirm für X'

... verrückt, wie viele Leute geantwortet zu haben schienen, ohne Ihre Frage tatsächlich zu lesen. Mit Xpra können Sie nicht nur Anwendungen auf jedem Computer von einem Bildschirm auf einen anderen verschieben, sondern auch die Verbindung zwischen den Apps und einem realen Bildschirm trennen und später erneut herstellen.

MadReasonable
quelle
Ich bin gerade auf xpra aufmerksam geworden und habe mich an diese Frage erinnert. Ich dachte, ich würde nach all der Zeit eine anständige Antwort bekommen. Na ja, hab eine Gegenstimme.
Greg
4

Nicht ganz das, wonach Sie gefragt haben, aber der Bildschirm kann tun, was Sie wollen.

Diese Freigabe erfolgt auf der Shell-Ebene und nicht auf der X-Window-Ebene. Sie können also zwei xterms (auf verschiedenen Xservern, sofern diese sich auf derselben Box befinden) ausführen, screen -xdie dieselben sh-Sitzungen anzeigen .

Dies würde für nicht-terminale Dinge nicht funktionieren.

EDIT: xpra ist wohl was du willst.

Greg
quelle
1
Danke, ich bin mir des Bildschirms bewusst, aber es ist nicht das, wonach ich suche.
Abhinav
1
Mit screen können Sie tatsächlich verschiedene xterms mit verschiedenen Terminals haben. Verwenden Sie einfach screen -x und schalten Sie jedes xterm auf einen eigenen Bildschirm um. Ein xterm kann Bildschirm 1, ein anderer Bildschirm 2 usw. haben. Dies könnte auch alles per Skript erfolgen ... "xterm -e Bildschirm -x -p 1 &" usw.
BAUM
+1 für Bildschirm. Sie sagten: "Ich möchte keinen Bildschirm verwenden, da ich dann für jedes xterm eine separate Bildschirmsitzung verwenden muss." Sie können jedoch dieselbe Bildschirmsitzung für alle Ihre xterms verwenden (mit screen -x können Sie as erneut anfügen TREE sagte), und jedes xterm kann auf das gleiche Bildschirmfenster (wenn es das ist, was Sie wollen) oder ein anderes Bildschirmfenster in jedem xterm (wenn es das ist, was Sie wollen, es ist nicht klar aus Ihrer ursprünglichen Frage) schauen.
James Polley
Wenn Sie screen nicht verwenden möchten, verwenden Sie tmux.
Valbaca
2

Sie können screen innerhalb eines xterms verwenden. Mit diesem Programm können Sie Terminalsitzungen anhängen und trennen. Sie würden also ein xterm starten, den Bildschirm innerhalb des xterm starten und das xterm wie gewohnt verwenden. Um die Sitzung zu verschieben, trennen Sie sich von der Sitzung auf dem Bildschirm und beenden das xterm. Starten Sie ein anderes xterm und verbinden Sie es erneut mit der vorhandenen Bildschirmsitzung.

Wenn Sie dies mit einem beliebigen X-Programm tun möchten, können Sie NX verwenden . Es funktioniert wie Bildschirm, indem Sie in der Lage sind, einen X-Server zu trennen / zu verbinden. Es versteht auch das X11-Protokoll und kann daher X über langsame Netzwerke sehr gut beschleunigen.

KeithB
quelle
Vielen Dank für den Hinweis auf NX, aber ich habe keine Berechtigung, s / w auf den Servern zu installieren. Ist in einem der Fenstermanager etwas eingebaut oder X selbst, das verwendet werden kann?
Abhinav
2

CryoPID war früher in der Lage, GTK + -Anwendungen (wie das Gnome-Terminal) zwischen X-Servern zu verschieben. Es ist schon eine Weile nicht mehr gewartet worden, so dass es im Moment vielleicht nicht funktioniert, aber einige Leute haben es aufgegriffen und wieder angefangen daran zu arbeiten.

TRS-80
quelle
1

Wie ausgeliefert? Nein. Früher gab es eine "xmovex" -Anwendung, die manchmal das tat, was Sie fragten, aber sie war nicht sehr beliebt und funktionierte nicht sehr gut.

Es gibt verschiedene Möglichkeiten, sich dem zu nähern, was Sie möchten:

  • Führen Sie den Desktop in einer VNC-Sitzung aus und stellen Sie von überall aus eine Verbindung dazu her.
  • Geben Sie Ihren Desktop über x11vnc frei.
  • schau in nx und freenx.
David Mackintosh
quelle
Ich habe bereits / run / zwei VNC-Sitzungen. Ich muss, wenn möglich, xterms zwischen ihnen verschieben.
Abhinav
1

Nein. Out of the Box X verfügt nicht über diese Funktion. Wenn Sie dies tun möchten, verwenden Sie am besten XVNC , einen x-Server, der in einen virtuellen VNC-Frame-Puffer gerendert wird. Anschließend können Sie mit einem VNC-Client eine Verbindung zu Ihrer X-Sitzung herstellen.

Betroffen vonTunbridgeWells
quelle
1

Haben Sie sich xmove angeschaut?

http://en.wikipedia.org/wiki/Xmove

Richard Hoskins
quelle
Abhinav, hast du dir diese Option angesehen? Ich habe versucht, das Gleiche zu tun, und ich habe diese Frage gefunden, als ich nach xmove gesucht habe.
Rplevy
xmove ist alt und tot, NX ist alt, funktioniert aber trotzdem, xpra funktioniert
totaam
0

Wenn Sie sich nur für die Befehlszeilensitzung innerhalb von xterm interessieren, verwenden Sie screen

Roalt
quelle
0

Ich frage mich, ob Sie für den Export Display Handling suchen .

nik
quelle
Soweit ich weiß, wird beim Exportieren der Anzeige das Fenster auf einer bestimmten Anzeige angezeigt. Ich möchte die Anzeige ändern, während der erzeugte Prozess ausgeführt wird.
Abhinav,