[[Vorlage(Archiviert)]] {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:Paketquellen_freischalten:] [:Terminal: Ein Terminal öffnen] [:Programme_starten:] }}} [[Inhaltsverzeichnis(1)]] [[Bild(./xpra_logo.png, 48, align=left)]] [http://xpra.org/ Xpra] {en} ('''X''' '''P'''ersistent '''R'''emote '''A'''pplications) ist eine Art "[:Screen:Screen für X11]", mit dem grafische Programme im Netzwerk genutzt werden können. Zusätzlich kann die Verbindung unterbrochen und später vom gleichen oder einem anderen Rechner aus fortgesetzt werden, ohne dass das jeweilige Programm beendet wird. Eine Alternative für (nichtgrafische) Kommandozeilenprogramme ist [:Mosh:]. So ist es z.B. möglich, bestimmte nur auf anderen Rechnern vorhandene Programme zu nutzen, ohne diese lokal installieren zu müssen. Xpra arbeitet grundsätzlich mit "seamless windows", also der Integration eines Programmfensters in den vorhandenen Desktop (in Gegensatz zu [:VNC:], das Programme entfernter Rechner innerhalb eines eigenen Fensters darstellt). Xpra ist nicht auf Linux beschränkt. So können beispielsweise Linux-Programme auf dem Windows- oder Mac-OS-X-Desktop angezeigt werden oder (mit Einschränkungen) auch umgekehrt. Es ist für langsame Verbindungen optimiert und bietet gegenüber [:SSH#X-Forwarding:SSH-X-Forwarding-Verbindungen] den Vorteil, dass Verbindungen wieder aufgenommen werden können, ohne dass die ursprüngliche Anwendung geschlossen wird. Mit [http://winswitch.org/ Window Switch] {en} (ehemals Window Shifter) existiert eine grafische Oberfläche für Xpra, die weiter unten kurz beschrieben ist. Es unterstützt neben Xpra noch weitere Netzwerk-Fernwartungsprotokolle wie VNC, [:Archiv/NX:NX] und RDP (Windows-Rechner). Ähnlich ist [:X2Go:], das ebenfalls einzelne Programme entfernter Rechner ausführen kann. Der Unterschied zu Xpra besteht in der Möglichkeit, nicht nur einzelne Programme, sondern einen kompletten Desktop über das Netzwerk zu nutzen (als eigene Sitzung, nicht als geteilte wie bei VNC). = Installation = [[Bild(Wiki/Icons/synaptic.png, 48, align=right)]] Das Programm ist in den offiziellen Paketquellen enthalten. Folgendes Paket muss auf den beteiligten Rechnern installiert werden [1]: {{{#!vorlage Paketinstallation xpra, universe }}} Fehlende Abhängigkeiten wie ein SSH-Server werden automatisch nachinstalliert. Möchte man Winswitch einsetzen, wird folgendes Paket benötigt: {{{#!vorlage Paketinstallation winswitch, universe, optional, grafische Oberfläche }}} == Fremdquelle == Aktuelle Versionen können über eine Fremdquelle bezogen werden. Zuerst authentifiziert man diese. [[Vorlage(Fremdquelle-auth, http://winswitch.org/gpg.asc)]] Anschließend wird die Fremdquelle hinzugefügt. [[Vorlage(Fremdquelle, http://winswitch.org/, xenial, main)]] Nach dem Aktualisieren der Paketquellen erfolgt die Installation wie oben angegeben. = Verwendung = Xpra kann auf der Kommandozeile benutzt werden. Zunächst ein einfaches Beispiel [3], um auf dem entfernten Rechner die Anwendung `xterm` zu starten, deren Fenster auf dem eigenen Desktop angezeigt wird: {{{#!vorlage Befehl xpra start ssh:BENUTZERNAME@RECHNERNAME:100 --start-child=xterm }}} Nun kann man bereits beliebige grafische Anwendungen des entfernten Rechners durch die Eingabe des Programmnamens in `xterm` aufrufen, die als Fenster auf dem eigenen Desktop erscheinen. Die eigentliche Verbindung kann mit [[Vorlage(Tasten, strg+c)]] jederzeit unterbrochen und später – auf Wunsch auch von einem anderen Rechner aus – fortgesetzt werden: {{{#!vorlage Befehl xpra attach ssh:BENUTZERNAME@RECHNERNAME:100 }}} Während einer bestehenden Verbindung liefert ein kleines Symbol im Panel weitere Informationen zum Status und der Auslastung der Verbindung. Endgültig beendet wird die Übertragung mit folgendem Befehl: {{{#!vorlage Befehl ssh BENUTZERNAME@RECHNERNAME xpra stop :100 }}} {{{ BENUTZERNAME@RECHNERNAME's password: ******** server requested disconnect: server shutdown xpra at :100 has exited. }}} Der versteckte Ordner '''~/.xpra/''' im [:Homeverzeichnis:] dient als temporärer Speicherort. {{{#!vorlage Tabelle [[Bild(./xpra_panelapplet.png, x200)]] [[Bild(./xpra_sessioninfo.png, x200)]] +++ <:>Xpra Panel-Applet <:>Sessioninformationen }}} == Details == Besteht eine Terminal-Verbindung zum entfernten Rechner, erfolgt der Verbindungsaufbau in zwei Schritten. Mit Server ist hier der entfernte, mit Client der eigene (lokale) Rechner gemeint. Als Displayport (`100`) kann auch ein anderer, nicht bereits verwendeter Port eingesetzt werden. === Server === * Verbindung starten: {{{#!vorlage Befehl xpra start :100 --start-child=PROGRAMMNAME }}} * Verbindung beenden: {{{#!vorlage Befehl xpra stop :100 }}} === Client === * Mit entferntem Rechner verbinden: {{{#!vorlage Befehl xpra attach ssh:BENUTZERNAME@RECHNERNAME:100 }}} [[Bild(./winswitch_logo.png, 48, align=right)]] == Window Switch == Dieses Programm ruft Xpra bei Bedarf automatisch im Hintergrund auf. Selbst residiert es – nach dem Programmstart [4] über ''"Internet -> Window Switch"'' – als kleines Symbol im Benachrichtigungsfeld des Panels. Da es in der Standardeinstellung automatisch nach anderen Rechnern im Netzwerk sucht, erscheint ein kleines Fenster, in dem (einmalig) nur noch das jeweilige Kennwort des Benutzers eingegeben werden muss, auf dem Window Switch ebenfalls gestartet ist. Nun stehen über das Panel-Applet vielfältige Möglichkeiten zur Verfügung. Unter anderem können Fenster zwischen Rechnern verschoben werden, was sich im ursprünglichen Programmnamen widerspiegelt. Auf der Homepage gibt es dazu ein kleines [http://winswitch.org/video/ Video] {en}, das diesen Vorgang zwischen Ubuntu und Windows XP demonstriert. {{{#!vorlage Tabelle [[Bild(./winswitch.png,x200)]] [[Bild(./winswitch_remoteapp.png, x200)]] [[Bild(./winswitch_settings.png, x200)]] +++ <:>Panel-Applet <:>Entferntes Programm starten <:>Einstellungen }}} Statusinformationen, Protokolle und Einstellungen werden im versteckten Ordner '''~/.winswitch/''' im [:Homeverzeichnis:] gespeichert. = Links = * [http://xpra.org/ Projektseite] {en} * [ubuntu_doc:community/Xpra:Xpra im Ubuntu-Wiki] {en} * [archwiki:Xpra:Xpra im Arch-Wiki] {en} * [man:xpra:Manpage zu xpra] {en} * [https://winswitch.org/documentation/protocols/choose.html Choosing a session type] {en} - Vergleich verschiedener von Winswitch unterstützter Netzwerkprotokolle * [heise:-1058766:Fensterschubser – X11-Fenster auf andere Displays umleiten] {de} - iX, 04/2015 * [https://systemausfall.org/wikis/howto/xpra xpra howto] {de} - Blogbeitrag, 03/2013 #tag: Netzwerk, Fernwartung, Remotedesktop, VNC