How can I connect to a remote X server _without_ ssh?
If you want to run a X
command on a remote system and and show the client
on your local system the solution is rather simple:
-
You have to ensure that your X Server accepts connection via
TCP
, nowadays this is typically disabled as it is a security problem. You basically have to run your Xorg server without the-nolisten tcp
option. Forgdm3
you can addDisallowTCP=false
to/etc/gdm3/daemon.conf
under the security context. Afterwards you have to restart gdm3. Nowps axuf | grep Xorg
should show your X-Server without the-nolisten tcp
option.Now your XServer should listen on port
6000
, you can check withnetstat -anp | grep 600.
You have to allow access from your remote system to your local Xsession, this can be either done via
xhost
to generally allow access from a specific system, e.g.xhost +host
or via supplying the magic cookie, see DISPLAY and AUTHORITY for more information.Now you just have to specify the
DISPLAY
variable on your remote host, e.g:export DISPLAY=localsystem:0
. Now all x clients will automatically try to use your local system. If you didn't allow TCP access (or have a firewall in between) or you didn't provide the needed authorization (e.g. wrongxhost
command, did not copy the xauth cookie) your commands won't be able to connect to your system.
Please be aware that the connection is not encrypted and you basically
typing plaintext. If you use xhost
you also allowed all clients from that
specific host access to your Xserver, e.g. they can read keyboard inputs etc.
Related videos on Youtube
ern0
wide spectrum developer, framework creator, oldschool scener consultant organizer, application designer, document writer developer architect, framework creator, system analyst, database designer, programmer, OOP, C/C++, Java, Python, PHP, Assembly (MOS 6502, MC68000, i8086), JavaScript etc. areas IoT (was: embedded systems), Arduino, server-side programming, dataflow systems, automation, enterprise, logistics, manufactoring, demand planning, ISO9001, DVB, web, music and audio
Updated on September 18, 2022Comments
-
ern0 almost 2 years
I am very happy with ssh -X when I'm connecting to my machine over internet. But at home, I want to connect with my notebook to my desktop machine without ssh. What's the best way of doing this? (Both machines run Linux, Xubuntu.)
-
Amitav Pajni almost 12 yearsPlease clarify your question. Exactly what is it that you want to be able to do?
-
ern0 almost 12 yearsUse my local machine as X server with a remote one (on LAN), without SSH.
-
Gilles 'SO- stop being evil' almost 12 yearsWhy not use ssh? It's the right tool for the job.
-
ern0 almost 12 yearsSSH is a kinda overhead, especially for tiny machines, like Raspberry Pi. Other reason: simple is beautiful.
-
Jonathan Ben-Avraham over 9 yearsThis setup is very useful when using a host X display to connect to VM clients on the same physical server over a private internal network. In such a configuration, the host X display is an X terminal for connecting to the client VM's. For this configuration, SSH has no security value, and VNC or qemu graphics both reduce functionality of the display and add huge overhead.
-
-
ern0 almost 12 yearsDoes desktop sharing use X?
-
pradeepchhetri almost 12 years@ern0: use the Remmina Remote Desktop Client, that uses X.
-
sunnysideup almost 12 years
ssh -x
is not really related to connecting to a remote desktop, it is used to execute X applications remotely and show the content on the host