Remote Desktop for Ubuntu Server requires installing the desktop distro?

55,873

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:
55,873

Related videos on Youtube

Admin
Author by

Admin

Updated on September 18, 2022

Comments

  • Admin
    Admin over 1 year

    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...)

    • Admin
      Admin over 12 years
      What applications do you need on the server, that you need GUI to find and install them?
    • Admin
      Admin over 12 years
      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.
    • Admin
      Admin over 12 years
      "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.
    • Admin
      Admin over 12 years
      "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!
    • Admin
      Admin over 12 years
      @EliahKagan You are right by 100%. CLI is really intimidating me, making me cry at times even. :P Hopefully, I will get over it.
    • Admin
      Admin over 12 years
      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.
    • Admin
      Admin over 7 years
  • Anna
    Anna over 12 years
    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
  • Eliah Kagan
    Eliah Kagan over 12 years
    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.
  • Admin
    Admin over 12 years
    Can you plz tell me what -c blowfish and -C do in the command? My PC runs Ubuntu 11.10 as of now.
  • Anna
    Anna over 12 years
    @EliahKagan Thanks for the advise. Yes, I plan to get used to the CLI gradually.
  • Eliah Kagan
    Eliah Kagan over 12 years
    -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.