I have an Ubuntu 13.04 laptop and an Ubuntu 12.04 desktop. I want to be able to open and see images, windows, and pdf files that are located on the desktop via remote access from my laptop.

When I tried to follow instructions like those at hungry.com, I managed to sudo apt-get install telnetd, xhost +, then access into my desktop using telnet, set and export the DISPLAY variable, and then open a .png file using the eog image.png command, but the image would open up on the remote desktop's screen and NOT on my laptop's screen. I tried changing the DISPLAY variable to the ip address of my laptop followed by :0, but I could only get images to display on the remote desktop.

In addition, when I tried to do it the other way around and to access my laptop from my desktop, I got the message WARNING **: Could not open X display. In addition, if I don't have DISPLAY set, xterm terminal says X11 initialization failed

Finally I tried to use SSH. First I generated a public and private key, then when I tried to connect using PuTTY with the IP address of the remote desktop and default settings. When I clicked open, it said PuTTY Fatal Error Connection refused: OK. When I tried the terminal command ssh ###.###.##.### (remote desktop IP), ssh said the same thing: ssh: connect to host ###.###.##.### port 22: Connection refused.

How do I get the pictures from my desktop to appear on my laptop?

For my purposes, I don't care if anyone can intercept and view my homework files. I just want there to be as little lag as possible and to be able to see the remote desktop windows.

SSH is too slow, VNC doesn't allow multiple users to view different images, and telnet just won't re-route my image back to the local machine.

Look - Telnet only opens in the remote machine (not the local one) regardless of how I set the IP. See:

ubuntu@ubuntu:/home$ telnet ###.###.##.### //Host IP address Trying ###.###.##.### //Host IP address Connected to ###.###.##.### //Host IP address Escape character is '^]'. Ubuntu 12.04.3 LTS

johnmichaelreed@Ubuntu1204LTS:~$ DISPLAY=###.###.##.###:0.0 //Local IP johnmichaelreed@Ubuntu1204LTS:~$ export DISPLAY johnmichaelreed@Ubuntu1204LTS:~$ eog ./Facebook.png //DISPLAYS ON HOST'S SCREEN.

It's either the above, OR

** (eog:10450): WARNING **: Command line `dbus-launch --autolaunch=6d91b5555c8bbff7573f20a500000002 --binary-syntax --close-stderr' exited with non-zero exit status 1: Autolaunch error: X11 initialization failed.\n

What's up with that?


If you want to display the whole desktop, then the easiest way is to enable Desktop Sharing on the desktop machine - either from the dash by searching for 'Desktop Sharing' or from a terminal as vino-preferences:


This will run a VNC server which you can connect to from the laptop machine using any VNC client (the default client for Ubuntu being 'Remmina', which you can also find via the dash):


Note that VNC is not secure and if this machine is accessible from the public internet then you should take additional steps to secure it such as blocking VNC ports and enforcing tunneling via SSH.

If you want multiple users to be able to connect concurrently and run their own separate GUI sessions, then instead of 'Desktop Sharing', you can install an actual vncserver - there are several different vncserver implementations including vnc4server and tightvncserver

       vncserver is a wrapper script for Xvnc, the free X server for VNC (Vir‐
       tual Network Computing). It provides all capabilities of a  standard  X
       server,  but  does  not connect to a display for itself.  Instead, Xvnc
       creates a virtual desktop you can view or control remotely using a  VNC

Alternatively, you can use SSH directly with X-forwarding to relay individual application windows from the desktop to the laptop (as you apparently tried) - the most likely reasons it failed to connect are either that you don't have an SSH server running on the desktop machine (it is not installed by default); you can install it from the Software Center or from a terminal using

sudo apt-get install openssh-server

or that the SSH port is blocked by a firewall or via iptables.

On the client (laptop) you do not need PuTTY, it is sufficient to run the ssh client from the command line as

ssh -X your.desk.top.ip

or, if you have some kind of DNS / mDNS running

ssh -X hostname

Note that telnet is not secure either and best practice is to uninstall telnetd and use SSH in its place.

  • SSH is TOO SLOW. VNC is 5x faster, but it does not allow multiple users. Telnet only opens in the remote machine. See: $ telnet Host_IP / Trying Host_IP / Connected to Host_IP / :~$ DISPLAY=###.###.##.###:0.0 // DISPLAY=Local_IP / :~$ export DISPLAY / :~$ eog ./Facebook.png // DISPLAYS ON HOST'S SCREEN – drshdfhzs Nov 22 '13 at 6:26
  • If SSH forwarding is slower than a full desktop shared over VNC, then that suggests something is configured wrongly. Also VNC for sure allows multiple users - the 'Desktop Sharing' implementation is a particular type of VNC meant for relaying a physical display, but if you want multiple concurrent user sessions you can install others such as vnc4server or tightvncserver which allow each user to start their own session and connect to it on a specified display / port. – steeldriver Nov 22 '13 at 16:09
  • VNC on low quality without encryption VS SSH with -c arcfour. SSH is bringing full quality and it is doing security stuff, which has overhead. I can't figure out why Telnet won't work. I exactly followed: x.cygwin.com/docs/ug/using-remote-apps.html – drshdfhzs Nov 22 '13 at 19:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.