Multi monitor remote desktop to Ubuntu

Is there some way or remote desktop solution (paid OR free) that I can use to remote from one Linux PC to another with multi-monitor support?

In other words, Computer A and Computer B both run Ubuntu. Computer A has only one monitor. Computer B has two monitors.

I remote into Computer A from Computer B. I would like to use both monitors on Computer B.

Is this possible?

Please help! Thank you.


Solution 1:

First Solution:

x2go is an Open Source remote desktop application for GNU/Linux that uses NX technology protocol.

Install X2Go Server

On Ubuntu 14.04:

Run the following commands to add X2Go repository and install it in Ubuntu 14.04 or higher versions.

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:x2go/stable
sudo apt-get update
sudo apt-get install x2goserver x2goserver-xsession

On Ubuntu 12.04:

For Ubuntu 12.04 and previous versions, you can add X2Go repository and install it as shown below.

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:x2go/stable
sudo apt-get update
sudo apt-get install x2goserver x2goserver-xsession

Install X2Go Client

X2Go Client is available for Windows, Mac OS X, and many Linux distributions.

Add X2Go repository as shown above in the X2Go server installation section depending upon the distribution you use.

Then, install X2Go client using command:

On Debian and Ubuntu like systems:

sudo apt-get install x2goclient

X2Go supports multimonitor. Open x2go client in the New Session window go to the Input/output tab.

In the Display section you can choose the radio button of Use Whole Display and choose number of displays you want to use (number range from 1 to the your number of monitors).

enter image description here


Second Solution

FreeRDP will probably do what you want.

It's better to compile FreeRDP from sources because Multi-Monitor support is only available in versions >= 1.1.

Visit this page to learn how to install it from source.

Now you can use xfreerdp command from terminal:

xfreerdp /multimon /u:username /v:server_address:server_port

where username is your username on server, server_address is server location (IP address or hostname) and server_port is port (leave empty without ":" for default port).

If you dont like to build from source you can still install it using:

sudo apt-get install freerdp-x11

But you have to be sure that the version is >1.1

Solution 2:

I used NoMachine NX for a long time which worked well for me. The server run on a Ubuntu Server and I was able to connect from both Windows and Linux. According to this article, the previous version 3.5 (current is 4.x) already supported multiple monitors what is said to be improved in 4.x.

If this is what you are looking for, you could give it a try as there is a free version. When I used it the last time there were some limitations in the free version like only one session at a time. I can't tell you if it is still like that.

Edit: To what you said about:

...regardless of how many monitors are connected to the server (perhaps zero!).

My Server was headless so you don't need to worry about it's monitors. It's not like VNC but opens an own session.

And in addition: There is also a completely free version of NX. But I haven't any experiences with it.

Solution 3:

This is a simple solution that works for me as I work remotely with multiple monitors as well as across platforms.(Windows, Mac, and Linux)

I use a program called Teamviewer, that can be located at Teamviewer.com I am currently running it through wine but have run the linux version successfully as well. It will allow you to quickly switch between monitors although I haven't been successful at showing more than one at a time.

This has the added perk of your being able to go to any computer, sign in at their site, and access your computers from anywhere without loading the program.