How to graphically interface with a headless server?
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:
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 librariesx2go - 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.
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.
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.
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.
Related videos on Youtube
silvo
Updated on September 17, 2022Comments
-
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 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 over 13 years@Suppressingfire: Oh thanks. I guess I should have included the command myself.
-
silvo over 13 yearsCan I use it on a Windows machine?
-
mp3foley over 13 yearsYes, X forwarding works with windows. I have used it with Cygwin/X, on Windows XP. Not the fastest or prettiest, but does work.
-
manyxcxi over 13 yearsI 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 over 13 yearsYou 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 over 13 yearsI will do that.
-
Li Lo over 13 yearsThis looks interesting.
-
LassePoulsen over 13 yearsssh 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 over 7 yearsthe tutorial link is now broken, mind someone who can update it?