1

I need a GUI access to my remote Linux machine, from a windows laptop. To this end, I tried 2 methods as of yet:

a) installed xrdp and tigervnc. It works but it's damn slow, plus I'm worried by the security issues (see below).

b) ssh -X. This allows to have single X11 applications on my laptop, which would suffice, but strangely enough, it is even more slow than the full desktop with xrdp.

So, I have a couple of questions:

  1. May you suggest alternative, quicker methods?
  2. What about security with xrdp/vnc? Can it be tunneled with ssh without further speed sacrifices? If yes, how to do it? If not, can I authenticate passwordless, with some ssh-like encrypted keys?

Thanks a lot.

5
  • 3
    Use a web interface designed for servers there are many to choose from. Webmin cockpit etc. Graphical desktops are a waste.
    – Panther
    Commented Oct 21, 2017 at 18:21
  • @Panther that’s an answer. Please post it in the answer box.
    – Tim
    Commented Oct 22, 2017 at 3:29
  • @Tim - Although it works for me, many people do not like it, so it seems more an opinion / comment. Perhaps a Q/A with review of web interfaces would would work better.
    – Panther
    Commented Oct 22, 2017 at 3:56
  • 1
    @Panther even if people don’t like it, it’s still an answer to his question. When your statement is an answer, it goes in the answer box.
    – Tim
    Commented Oct 22, 2017 at 12:52
  • @Tim - Done, thank you. If you want I can pull that post into a specific Q /A How do you manage servers graphically ? - and then post the answer and it can be community available / maintained.
    – Panther
    Commented Oct 22, 2017 at 15:49

4 Answers 4

5

Command line is sufficient

I understand the idea of a command line interface may be a bit uncomfortable at first, but really it is a reasonable choice. You use the command line interface as on a Desktop so you should already be a little familiar with bash / zsh / shell of choice.

Advantage - fast and secure (via ssh).

IMO desktop environments do not really help on servers as everything server side is command line.

Start/stop services, edit config files, install/update packages, moving data files, firewall and network tools, and user management such tasks are not enhanced by running a graphical terminal.

Installing a desktop environment adds hundreds of packages the vast majority are unused and thus takes up disk space, complicated upgrades, and adds potential security holes (more applications == more potential security holes).

To manage servers use ssh + screen or an alternate to screen - Is there any user friendly alternative to screen?

This allows you to attach and reattach to your server.

Be sure to secure ssh with a least keys http://bodhizazen.com/Tutorials/SSH_security

nano / vim / emacs are all great tools for editing. You can use vim + ssh edit files remotely https://unix.stackexchange.com/questions/202918/how-do-i-remotely-edit-files-via-ssh

Or you can mount your file system over sshfs https://help.ubuntu.com/community/SSHFS


Graphical tools - WEB solutions are better than a desktop

If you feel you NEED a graphical interface use one of the many web based interfaces. These tools are faster than VNC, more secure than VNC, graphical interfaces, and server task specific.

You can secure them via https or ssh (depending on tool).

You can connect to them from any OS via a browser.

  1. Webmin http://www.webmin.com/

Webmin picture

  1. Cockpit http://cockpit-project.org/

enter image description here

And if needed there are several specialized web interfaces such as

  1. phpmyadmin - manages databases https://www.phpmyadmin.net/

phpmyadmin

  1. Vitrualization also has several options.

Virt manager

oVirt

  1. There a wide range of alternate tools you can find many web interfaces if you google search. https://www.tecmint.com/web-control-panels-to-manage-linux-servers/

cPanel

5
  • All of that is awesome, and I upvoted it. Still, for reasons too long to explain briefly, I'm in search of a way to having my remote desktop, in a fast and secure manner.
    – MadHatter
    Commented Oct 22, 2017 at 19:45
  • I wonder what does Phpmyadmin have to do with the question?
    – Peshmerge
    Commented Oct 22, 2017 at 20:21
  • @MadHatter FreeNX is fastest and secure
    – Panther
    Commented Oct 22, 2017 at 20:25
  • 1
    @Peshmerge - The origional question did not say what they wanted a graphical desktop on a server for exactly and I am pointing out there are a wide range of web based apps that are IMO better suited to any task rather than installing a desktop on a server (cringe) and forward over ssh (cringe some more).
    – Panther
    Commented Oct 23, 2017 at 1:43
  • Indeed, but it also didn't mention it's a web server. So suggesting server-administration tools is a bit far from the original, in my opinion.
    – Peshmerge
    Commented Oct 23, 2017 at 5:57
1

I use two different options:

  1. Teamviewer. Free for non commercial use, cross platform including Windows, macOS, Linux and Raspberry Pi. One program to install for both remote control of other devices and remote access from other devices.

    Also has an iOS and Android app, for remote control on the go.

  2. RealVNC. Free for non commercial use up to 5 devices. Also cross platform including Windows, macOS, Linux and Raspberry Pi. You have to install one program for remote control (which doubles as a VNC viewer). The server is a separate program.

    Also has an iOS and Android app.

3
  • Thanks. But it is my understanding that those are solutions equivalent to the one I already use. Are they quicker? More secure? Thanks.
    – MadHatter
    Commented Oct 22, 2017 at 1:35
  • @MadHatter Easier, less configuration required, works cross platform. Speed is dependant on internet connection quality. Security is probably slightly reduced. The advantages are listed in my answer. What features are you after specifically that you don’t have now?
    – Tim
    Commented Oct 22, 2017 at 3:29
  • Essentially: 1) Speed. It depends upon internet connection, but nonetheless could be improved by compression, or a 8-bit color palette, etc.. 2) Security. I'd prefer a ssh-like handshake, based upon RSA keys rather than user/pw authentication.
    – MadHatter
    Commented Oct 22, 2017 at 19:47
1

You can use Chrome Remote Desktop. You have to install Google Chrome on your Linux machine, and add an extension to Google Chrome and login with your Google account to be able to use it.

Since I have used Chrome Remote Desktop, I don't need any other paid programs. You can even access your machines from your mobile device - it has Android and iOS devices (for iPhone and iPad).

This page has more information about installing it. Access another computer with Chrome Remote Desktop

5
  • 1
    This is excellent - but note that Google Chrome can no longer be installed on 32bit Linux computers. That might limit the devices you can use.
    – Tim
    Commented Oct 21, 2017 at 17:26
  • That is true. I forgot about that.
    – Peshmerge
    Commented Oct 21, 2017 at 17:28
  • I have a 64 bit machine. I'll try it ASAP. Is it quicker than vnc-based solutions? Thanks!
    – MadHatter
    Commented Oct 22, 2017 at 1:33
  • Indeed, It's faster and the that one of the biggest advantages of Chrome Remote Desktop.
    – Peshmerge
    Commented Oct 22, 2017 at 7:02
  • I didn't research that, I assume that is secure because it's created by Google. But for me personally I don't have any issues. Maybe one thing to be considered as a privacy related issue, you have login with the same gmail account on both machines to be able to use the service.
    – Peshmerge
    Commented Oct 22, 2017 at 20:19
0

Assuming your performance issues are bandwidth related rather than machine resource limitations, try X2Go https://wiki.x2go.org - this is built on the original NX libraries, which are both secure and low bandwidth optimised.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .