How to graphically interface with a headless server?

27,911

Solution 1

Yes, X forwarding over ssh is a beautiful thing indeed. It allows you to use graphical applications on an app by app basis and have windows handled by your own desktop environment. You do not even need a desktop environment installed on the server.

You do need to set up some authentication things for it to work though. I believe you need xauth for that.

It's SO much faster than VNC as well. VNC was always rather laggy in my experience.

Edit: I have no experience using this method via Windows, but I found this tutorial for you if you're interested.

Solution 2

You could use freenx instead of vnc. Freenx transmits x-commands (with caching) instead of bitmaps.

Solution 3

Xming and XDMCP is a brillant option.

Edit:

Xming is a x-server for windows, which is based on Cygwin and has the ability to share the clipboard and implements different desktop layouts as well.

XDMCP is a simple and - important - unencrypted protocol (don't use it over the internet) to connect a X-displaymanager and a x-server.

Solution 4

I don't know about the "best" way, I guess YMMV, but here's a fairly comprehensive overview of tools at your disposal: http://www.mynitor.com/2010/02/07/15-remote-desktop-solutions-for-linux/

I particular here's my experience:

  1. nomachine nx - Impressive speed. In its native mode it feels like you're in front of the console. It supports starting new sessions as well as shadowing the console (but shadowing is slower). It supports detaching and attaching to sessions. Clipboard sharing only worked one way for me and I wasn't able to fix it. nomachine offers free server and client packages with some licensing restrictions.
    FreeNX is built on the nomachine nx libraries

  2. x2go - Impressed with this also especially sound redirection but I didn't use it for as long as nomachine nx because I found out about it later.

  3. x11vnc - Great vnc server that is able to attach to the console session. Used it in conjunction with nomachine nx. I'm not sure if it can be run in headless mode but I'm listing it in case it can, because for me it was the fastest vnc server around.

  4. xrdp - Looked promising but it looks to be unmaintained. The OpenSuse nomad solution is based on xrdp and I hear nomad is the best remote desktop experience you can get on linux.

  5. teamviewer - The linux version is still beta, runs under wine and consumes some CPU but I used it a lot quite recently and I was pleased with it. Not sure if it works on a headless server.

Solution 5

Also consider xpra, which allows you to detach to an running session from somewhere else, like "screen for X".

There's also Window Shifter, a front end for xpra, which should work also for Windows, see the demo.

Share:
27,911

Related videos on Youtube

silvo
Author by

silvo

Updated on September 17, 2022

Comments

  • silvo
    silvo about 1 year

    I have a ubuntu development server at work. It is an old rack server that is located somewhere in the company's dungeon, where nobody ever goes. The only way it can work is as a so-called headless server (i.e. with no monitor/keyboard connected and only accepting network connections).

    Obviously, if you just need terminal access ssh is more than enough. I, however, would also like to connect to the graphical interface from time to time. At the moment I am using the built in VNC functionality but I am pretty sure this is neither the most efficient nor the most secure way of approaching this issue.

    I have done a bit of research on the issue but failed to come to any definite conclusions. I read about trying to forward the X environment over ssh, which would at least solve my security concerns. Can anyone share their experiences in setting this up? Is there any other way that might be worth looking at?

    I almost exclusively connect to this server from a Windows machine. I don't know if that might be a problem for some of the methods suggested.

  • Suppressingfire
    Suppressingfire over 13 years
    "ssh -X <server> <program>" should set up everything (I've never needed to touch xauth myself, though it does need to be installed in order for the -X option on ssh to work).
  • Andrea Bertani
    Andrea Bertani over 13 years
    @Suppressingfire: Oh thanks. I guess I should have included the command myself.
  • silvo
    silvo over 13 years
    Can I use it on a Windows machine?
  • mp3foley
    mp3foley over 13 years
    Yes, X forwarding works with windows. I have used it with Cygwin/X, on Windows XP. Not the fastest or prettiest, but does work.
  • manyxcxi
    manyxcxi over 13 years
    I believe you can download the NoMachine NX client for Windows and that it works with FreeNX- though I could be wrong. nomachine.com/download.php
  • Ressu
    Ressu over 13 years
    You probably should edit the answer to include a bit more details on why and how this works. Knowing what Xming and XDCMP mean this is the best choice.
  • ddeimeke
    ddeimeke over 13 years
    I will do that.
  • Li Lo
    Li Lo over 13 years
    This looks interesting.
  • LassePoulsen
    LassePoulsen over 13 years
    ssh X11 forwarding also limits what services you have to enable on your server! I suspect most servers have ssh anyways. Enabling remote X11 (XDMCP) isn't really known for being secure.
  • owl
    owl over 7 years
    the tutorial link is now broken, mind someone who can update it?