“Xpra is a tool which allows you to run X programs — usually on a remote host — and then direct their display to your local machine, disconnect from these programs, and reconnect from
the same or another machine, all without losing any state. It differs from standard X forwarding in that it allows disconnection and reconnection without disrupting the forwarded
application; it differs from VNC and similar remote display technologies in that xpra is rootless: i.e., applications forwarded by xpra appear on your desktop as normal windows managed
by your window manager, rather than being all “trapped in a box together”. Xpra also uses a custom protocol that is self-tuning and relatively latency-insensitive, and thus is usable
over network connections that are too slow or unreliable for standard X forwarding. Xpra can also be used to shadow an existing X11 display.”
By default the Xpra server announces available sessions (username and display number) via mDNS to the local network. Use mdns=no to disable it.
is a pretty cool “run my gui app on server but display window locally” x11 window forwarding tool.
hostnamectl Operating System: CentOS Linux 7.5 (Core) (client and server) Architecture: x86-64 # on client and server install xpra package # ubuntu/debian apt based apt update apt install xpra # fedora/centos/redhat rpm based cd /etc/yum.repos.d/ && sudo wget https://xpra.org/repos/CentOS/xpra.repo yum update yum search xpra ffmpeg-xpra.x86_64 : ffmpeg libraries for xpra ffmpeg-xpra-debuginfo.x86_64 : Debug information for package ffmpeg-xpra libvpx-xpra.x86_64 : vpx library for xpra libwebp-xpra.x86_64 : WebP library and conversion tools for xpra libwebp-xpra-debuginfo.x86_64 : Debug information for package libwebp-xpra python2-xpra.x86_64 : python2 build of xpra python2-xpra-audio.x86_64 : python2 build of xpra audio support python2-xpra-client.x86_64 : python2 build of xpra client python2-xpra-server.x86_64 : python2 build of xpra server x264-xpra.x86_64 : x264 library for xpra x264-xpra-debuginfo.x86_64 : Debug information for package x264-xpra xpra.x86_64 : Xpra gives you "persistent remote applications" for X. xpra-common.noarch : Common files for xpra packages xpra-common-client.noarch : Common files for xpra client packages xpra-common-server.noarch : Common files for xpra server packages xpra-debuginfo.x86_64 : Debug information for package xpra xpra-html5.noarch : Xpra HTML5 client ffmpeg-xpra-devel.x86_64 : Development package for ffmpeg libvpx-xpra-devel.x86_64 : Development files for the vpx library libwebp-xpra-devel.x86_64 : Development files for the webp library x264-xpra-devel.x86_64 : Development files for the x264 library yum install xpra xeyes xclock # restart server and client # still on client testrun (ssh on default port 22 (can leave this out)) xpra start email@example.com:22 --start-child=xeyes # now in the terminal window # if you hit Ctrl+C (Cancel) # it will disconnect, but leave xeyes running on the server # to reconnect xpra attach ssh:firstname.lastname@example.org:22 # amazing! stuff! well done :) # html5 client xpra start --bind-tcp=0.0.0.0:14500 --html=on --start=xterm # You can then point your browser to # http://localhost:14500/ # and the xterm should appear in your browser window.
#OMG! It even allows file upload into the user’s home directory!
holy cow 🙂
it also tries to implement remote-print… meaning: if you open a document on the server, it shall allow you to print locally. (untested)
“2018-11-22 14:00:32,372 Error: printing disabled:
2018-11-22 14:00:32,372 No module named cups”
menu: Session Info screenshot
very well done statistics dialogue