Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

Since I am new to Ubuntu, and as the GUI makes finding and installing applications a snap (at least for me), I was checking if there's a remote desktop feature for Ubuntu Server and I found out this...

[1] Is the following true?

Ubuntu Desktop = Ubuntu Server + GUI + pre-installed apps meant mostly for desktop use

[2] If the above is true, (a) I can instead ask my web hosting provider to provide me with a dedicated server with Ubuntu desktop version installed, right? (b) Will I be on the losing end by installing Ubuntu desktop for a server? I mean, will it use up much more RAM for processes? And will it be slower compared to Ubuntu Server - - i.e., will the website/application hosted on it load slower etc?

[2] Suppose that I've a Ubuntu Server-installed dedicated server provided by a web hosting provider. And all I have is access to terminal, how do I enable remote desktop? like this?

sudo aptitude install ubuntu-desktop

What next? How do I proceed with enabling remote desktop on the server? and then how do I connect from my desktop? I have only found GUI-based HOW TOs, and no credible terminal-based solutions. So, please don't take this for a duplicate.

[4] Would enabling remote desktop as mentioned above cause any security issues, really?

[5] I was told that KDE's GUI is faster and better performant when compared to Gnome and Unity. Is that true? (Which means, I should use this command for [3]: sudo aptitude install xubuntu-desktop --or-- sudo aptitude install kubuntu-desktop)

Extremely sorry if this is not the way (putting a lot of questions into one - - I thought they're related, so...)

share|improve this question
    
What applications do you need on the server, that you need GUI to find and install them? –  mikewhatever Nov 15 '11 at 20:39
    
I don't know command line, and it feels more safer to me when I use GUI, as I can kinda see what happens + it's like I am in more control of what's happens. –  user33877 Nov 15 '11 at 20:55
    
"from @Salem's answer should I perceive that there's no way to enable remote desktop for Ubuntu Server without replacing the kernel itself?" No, the kernel has absolutely nothing to do with that. See my comment to Salem's answer. –  Eliah Kagan Nov 15 '11 at 21:04
1  
"I don't know command line, and it feels more safer to me when I use GUI, as I can kinda see what happens + it's like I am in more control of what's happens." Your question makes it sound like you only want a GUI for package management purposes. If you want a fully featured GUI with a separate desktop from the machine you're SSHing in from, then it might be preferable to use remote desktop than to use ssh -X as I suggested in my answer. But really, if you're choosing to use Ubuntu Server, you should become comfortable with the command line. It's intimidating at first, but it gets easier! –  Eliah Kagan Nov 15 '11 at 21:07
1  
Please remember that you can ask CLI related questions here on AskUbuntu (as well as other Ubuntu support sites). Also, I highly recommend the Ubuntu Server Guide (available for 8.04 LTS, 10.04 LTS, 10.10, 11.04, and 11.10. –  Eliah Kagan Nov 15 '11 at 21:26

2 Answers 2

up vote 3 down vote accepted

You should not need a GUI installed on the server (just the "skeleton" files installed with the package xserver-common), nor remote desktop, in order to use graphical package management tools. You can instead use ssh -X to connect to the server and run the application:

ssh -c blowfish -C -X username@hostname

You can leave off the -c blowfish and or -C, but if you do, your connection will likely be noticeably slower when running graphical programs. But if you were on a LAN with the machine, then I'd recommend leaving out -C and keeping -c blowfish.

(-c blowfish makes ssh use the blowfish cipher, which is as secure as the 128-bit AES cipher which is otherwise the default, but which tends to be computationally faster, decreasing latency. -C enables compression, if it's available, which increases speed on slow connections--including just about any connection over the Internet--by making it so that there is less data that needs to be transferred. However, -C is not usually helpful on very fast connections such as when the client and server are on the same local area network, because in that case the increased latency caused by performing the computational operations of data compression and decompression can more than cancel out the benefit of transferring a smaller volume of data. See the descriptions of the -c and -C options on the ssh(1) manpage, and Ciphers in the ssh_config(5) manpage, for more details about how to use those flags. And in general, if you are curious about how a command works, you can look at its manual page by issuing the command man command-name or online.)

Then you can install whatever graphical package management utility you want:

sudo apt-get update; sudo apt-get install software-center

Or: sudo apt-get update; sudo apt-get install synaptic

Or: sudo apt-get update; sudo apt-get install update-manager

(You can, of course, install more than one--after running sudo apt-get update, run a command like sudo apt-get install update-manager synaptic.)

Then run whichever utility you want to use, by typing its name (they all have the same executable names as package names...though that is not true for all software in Ubuntu) and pressing enter.

Since you're logged in with ssh -X, programs that you run on the remote server will display their windows and other graphical user interface element on the local (client) machine.

This will likely work out of the box when connecting from another Unix-like system. However, if the client is Windows, then you'll need to use an SSH client that supports X11 forwarding, and you'll need to have an X11 installed and running on the client machine. You can achieve this pretty easily with Cygwin (see the Cygwin/X User's Guide).

It is possible (and quite easy) to install GUI's on an Ubuntu Server system, though it is considered inadvisable to do so for a production system. You can do this yourself (assuming you have administrative rights on the system, and if you don't, then you cannot perform any package management at all!). See the Server GUI documentation. But please take note of the (good) reasons, explained on that page, for why you probably should not do this.

share|improve this answer
    
Can you plz tell me what -c blowfish and -C do in the command? My PC runs Ubuntu 11.10 as of now. –  user33877 Nov 15 '11 at 21:04
1  
-c blowfish uses the blowfish cipher, which is as secure but generally faster computationally than the default AES128 cipher. -C enables compression if it's available, which tends to increase speed except when the connection speed is already very high (like over a LAN). I've just edited my answer to include that information, in greater detail, as well as other related information you might find useful. –  Eliah Kagan Nov 15 '11 at 21:22

1- I think not: Ubuntu Server is optimized for server usage ServerFAQ.

2- To enable "remote desktop", you should first choose what technology you will use to connect to server (SSH, VNC, NX, etc). If you use SSH, you just have to install openssh-server on server, and configure it to your needs.

4- It depends how you configure it. For example, with SSH you can configure server to only accept connections from certain IP addresses, or only allow connections from machines with certain RSA keys... But generally, if you use a strong password,

5- XFCE is faster in my experience, KDE i dont know.

Note: Maybe SSH it's not the best tool to do what you want, especially if you want to "see a desktop" :)

share|improve this answer
    
Thanks a lot for the link, I see that (a) Ubuntu server installs a server-optimized kernel by default... (b)Ubuntu Desktop will receive 3 years of support, while Ubuntu Server will be supported for 5 years –  user33877 Nov 15 '11 at 20:58
1  
Yeah, the kernel (and absence of graphical interface and various other packages by default) is really the only technical difference. There is nothing stopping you from installing a GUI on an Ubuntu Server system, though it is inadvisable to install a GUI on a production server (for the reasons explained on that page). Anyway, I recommend that you either become comfortable with the use of command-line package management tools, or use ssh -X as detailed in my answer. –  Eliah Kagan Nov 15 '11 at 21:02
    
@EliahKagan Thanks for the advise. Yes, I plan to get used to the CLI gradually. –  user33877 Nov 15 '11 at 21:08

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.