I want the GUI on my Ubuntu server

Is it possible to install the same GUI as the desktop version of Ubuntu on my linode?

If so, can anyone give me the steps for doing that and connecting via VNC (or similar)? Thanks.

18 Replies

Have a look here: http://www.linode.com/wiki/index.php?ti … &oldid=869">http://www.linode.com/wiki/index.php?title=Debian_Etch&oldid=869

It's Debian is like Ubuntu and it not about a desktop, but it might be close enough.

@kangaby:

Have a look here: http://www.linode.com/wiki/index.php?ti … &oldid=869">http://www.linode.com/wiki/index.php?title=Debian_Etch&oldid=869

It's Debian is like Ubuntu and it not about a desktop, but it might be close enough.

That's a really nice tutorial. Thank you. That will help with a lot of things I want to do.

However, it doesn't discuss installing the GUI. I would still like to install the Ubuntu GUI that like the one that comes with the desktop version, if that is possible. Thanks.

for a lightweight, less resource-hungry GUI:

apt-get install xubuntu-desktop

for a REALLY lightweight GUI:

apt-get install matchbox-desktop

For the KDE desktop

apt-get install kubuntu-desktop

For the standard GNOME desktop

apt-get install ubuntu-desktop

James

Running a GUI on a server is wasteful of server resources. If you really must run graphical configuration utilities, you can run them on your GUI at home over SSH using something like Cygwin/X.

@Xan:

Running a GUI on a server is wasteful of server resources. .
I thought our field had moved past those old attitudes. What is more important: human resources (me) or server resources? I thought all the top thinkers in computer science now realized that human resources need to be in the top spot.

On a practical level, I am a Linux newbie. I have a week to get a Linux web server up and running with lighttpd, MySQL, WordPress mu and RoR. I have spent more than half that time asking questions and reading docs, but I am not going to make my deadline unless I change my approach. If I fail, then it's back to Windows Server 2003. If installing a GUI helps me get a Linux server up and running and helps me avoid getting stuck with another MS Windows server, then I would say that's a good thing, right? (Good from the perspective of Linux fans, maybe not MS.)

@zunzun:

for a lightweight, less resource-hungry GUI:

apt-get install xubuntu-desktop

For the standard GNOME desktop

apt-get install ubuntu-desktop

Thank you. I prefer the standard desktop because all I want to do is get started with Linux, as explained in this post:

http://www.linode.com/forums/viewtopic.php?t=2917

The more standard the GUI, the more I can rely on Ubuntu help docs.

Can I install more than one desktop?

Do you mind offering me some tips on connecting remotely to the newly installed desktop?

I assume I need to install and start vncserver, but I don't know exactly how to do that yet. (I can probably do a bit of searching and find the answer if I know that vncserver is indeed what I want do run.)

Is one (Windows) VNC client preferrable to another?

"I thought our field had moved past those old attitudes. What is more important: human resources (me) or server resources? I thought all the top thinkers in computer science now realized that human resources need to be in the top spot. "

That's far too simplistic an analysis. In the real world one has to take into account the amount of resource that can be thrown at it. If I can hire 50 Indians from Bangalore cheaper to do manual labour rather than developing and implementing (and upgrading hardware to handle the loads) a server based solution then human resources are cheaper.

In addition, "staff" resources are nearly always considered lesser priority than the customer experience. If a company has to double their server specs just to allow a staff member to get a better work experience, or make the staffer do things a different way… the staffer loses.

In the case of linode, you have an extremely limited amount of resources to play with. In particular, disk I/O and CPU resources are at a premium, although memory could be as well if you're trying to do a lot. If you run a remotely displayed GUI then you're spending your rare (and thus expensive) resources. If the GUI still runs even with no one displaying it (which happens with vncserver, for example) then that expensive resource is still being used, preventing it from actually being used to service customer requests.

From a practical perspective… most Linux GUIs are designed to perform desktop functions, not server functions. The few applications that do have GUIs are either web based (look for "webmin", for example) or are better off running with the display on your local machine.

Here's something you may not be aware of with Unix; the "display" model is different to Windows XP and 2003 and stuff. In the Unix "X" model, client programs can run anywhere and have their output displayed almost anywhere. You don't need a GUI desktop on the remote machine; you need a GUI desktop locally and tell the program to display its output on your machine. This is the Cygwin/X suggestion made by Xan. It gives the best of both worlds; your local PC does the hard work of desktop management. You still get GUI functionality. But your server doesn't have to run a full desktop. Unix is more flexible than Windows in this respect; the whole graphical model was designed around remote display (infact local desktops still use the same model, just using a more efficient connection model).

@Mountain:

I thought our field had moved past those old attitudes. What is more important: human resources (me) or server resources?

That's why I suggested Cygwin/X. The X window system is designed specifically to run graphical programs remotely, sparing your server from dealing with all that workstation stuff. Running VNC on top of X windows is a little silly; X is already designed for that.

Thanks for the explanations. It does sound like a much better solution to run X remotely.

Maybe I can install Ubuntu desktop version locally in VirtualPC rather than use Cygwin. Would this work equally well?

Any way you can get a local unix-like desktop would work for purposes of running apps remotely, so VirtualPC should work fine. Cygwin is just a way to run an X server on Windows (there are others).

@sweh:

Here's something you may not be aware of with Unix; the "display" model is different to Windows XP and 2003 and stuff. In the Unix "X" model, client programs can run anywhere and have their output displayed almost anywhere. You don't need a GUI desktop on the remote machine; you need a GUI desktop locally and tell the program to display its output on your machine. This is the Cygwin/X suggestion made by Xan. It gives the best of both worlds; your local PC does the hard work of desktop management. You still get GUI functionality. But your server doesn't have to run a full desktop. Unix is more flexible than Windows in this respect; the whole graphical model was designed around remote display (infact local desktops still use the same model, just using a more efficient connection model).

I was not aware of that. A lot has changed in the past couple months. I am now running Ubuntu as my main desktop OS. I would like to take another try at setting up and managing a Linode server. This time I want to run X locallly, as suggested in this thread.

Can anyone point me to tutorials that will help me connect a local X session to my Linode server? (Both are running Ubuntu btw).

Thanks.

P.S. I am really enjoying the process of weaning myself off Windows.

It should be pretty easy to get remote X11 sessions going with your Linode. I just tried it out on my test Linode and it went very smoothly. Here are the steps I used:

1) Install your X application & supporting libs:

sudo apt-get install xterm

2.1) Edit /etc/ssh/sshd_config on your Linode:

X11Forwarding yes
X11DisplayOffset 10    #Default, I think

2.2) …and restart sshd

sudo /etc/init.d/ssh restart     #You can do this in an ssh session without being disconnected

3) Edit ~/.ssh/config on your workstation:

Host your.linode.hostname
    ForwardX11 yes
    Compression yes     #Not absolutley necessary
    CompressionLevel 7  #Can be adjusted--this has worked well for me

4) Connect to your Linode from your workstation and start the app:

ssh -f your.linode.hostname xterm    #The -f tells ssh to go to the background after asking for passwords so you get your terminal back

5) Wait for it to come up. This depends on your available bandwidth, connection latency and the application.

6) Be amazed!

If all of that doesn't get you going, poke around on the Intertubes for some other pointers.

–James

Thank you for the nice tutorial and the Google search terms.

I read your stuff and I also read several articles that came up from your search link. I have to admit that I am now a bit confused about the best way to do this. In particular, the comments at this post left me with a lot of questions: http://digg.com/linux_unix/Tutorial_For … E_over_SSH">http://digg.com/linuxunix/TutorialForwardingGNOMEover_SSH

So far -- just with ssh -- I have been able to open an SSH terminal session to my Linode, and I have been able to connect Nautilus. I was also able to use my local text editor to create and edit files on the Linode. Things got a bit dicey when I tried to edit and copy files that required root permissions. I am not sure how to smoothly handle that.

Am I off base in thinking that I can have the kind of experience I'm used to when I connect to a Windows server with Remote Desktop (or Ubuntu's Terminal Server Client)? Windows 2003 server has a full GUI obviously, and when I connect to a remote Windows server over the Internet, I have an experience almost exactly the same as if I were sitting at the machine. I often run the remote session full screen across dual monitors (1920 x 1200 each) and there are almost no restrictions on the work/tasks I can do on the server.

What I think I understand so far about connecting to my Linode (which does not have a GUI installed) is that if I want this kind of experience, I need to use nomachine.com's NX server. Is that correct?

Thanks for all the help!

@Mountain:

@Xan:

Running a GUI on a server is wasteful of server resources. .
I thought our field had moved past those old attitudes. What is more important: human resources (me) or server resources? I thought all the top thinkers in computer science now realized that human resources need to be in the top spot.

Trust me. While there are times to run a GUI on a linux server, it's not an OS that's gui friendly for server needs.

And I don't want it to be. I spent 20 minutes this morning trying to wait for the windows and everything to load so i could find and click the options i needed in a w2k3 server to enable performance monitoring, find the culprit, and fix it….

Meanwhile, had it been a linux machine under the same load, I could have consoled into it with a remote kvm (since ssh may time out mid way), queue some commands up to find what's eating the resources, and act on it.. then go about my business knowing that eventually it would get there. But instead I was waiting for it to properly display the gui window etc.

@Mountain:

Thank you for the nice tutorial and the Google search terms.

I read your stuff and I also read several articles that came up from your search link. I have to admit that I am now a bit confused about the best way to do this. In particular, the comments at this post left me with a lot of questions: http://digg.com/linux_unix/Tutorial_For … E_over_SSH">http://digg.com/linuxunix/TutorialForwardingGNOMEover_SSH

So far -- just with ssh -- I have been able to open an SSH terminal session to my Linode, and I have been able to connect Nautilus. I was also able to use my local text editor to create and edit files on the Linode. Things got a bit dicey when I tried to edit and copy files that required root permissions. I am not sure how to smoothly handle that.

Am I off base in thinking that I can have the kind of experience I'm used to when I connect to a Windows server with Remote Desktop (or Ubuntu's Terminal Server Client)? Windows 2003 server has a full GUI obviously, and when I connect to a remote Windows server over the Internet, I have an experience almost exactly the same as if I were sitting at the machine. I often run the remote session full screen across dual monitors (1920 x 1200 each) and there are almost no restrictions on the work/tasks I can do on the server.

What I think I understand so far about connecting to my Linode (which does not have a GUI installed) is that if I want this kind of experience, I need to use nomachine.com's NX server. Is that correct?

Thanks for all the help!

in my experience, nomachine's NX server would suit your needs.. but I must highly stress you as a beginner to linux to become accustomed to navigating command line as well. I do not say this for any "elitist" reasoning, but just because this is how Linux has been founded and built… and while desktop wise it is making a progression to GUI, server wise it is still behind.

Also, you find interest in knowing that as of W2k8, almost everything is powershell (command line) again, and in fact 2k8 has an install mode that does not function with a gui.

My linode is loafing down in 1% cpu loads on average, and I've been considering installing the standard gui and running vnc on top of that.

The reasons why I'd do that as apposed to an x-windows server is that I can close the vnc viewer and come back hours, days, or weeks later and there everything sits waiting for me like how I left it.

My linode isn't "mission critical" - nor is it commercial.

But what I'd like to know is whether installing the standard desktop - like say gnome on fedora 8 - would that violate linode's TOS?

It's certainly not against the TOS or anything like that - but it's probably not useful. In particular, it's not going to help out significantly when, eg, setting up lighttpd and RoR, or anything like that.

If you just want to keep a session running, GNU screen does that for a console session too…

Is there anyone here who can help me set up a GUI on my server from scratch? Any help would be appreciated. Kinda tired of tackling this all day and find it better if someone could possibly do it for me…

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct