38

I'm looking for a program to remote desktop from my MacBook Pro to the Ubuntu VM I have set up on my home computer.

I've read Chicken of the VNC works but after using it, it seems to be incredibly laggy.

Is there a better solution out there or do I just have to deal with it?

Giacomo1968
  • 55,001
  • 1
    If you just want a single program, you could also try ssh -X ubuntuVM and then run your programs, e.g.: firefox & – sarnold Mar 04 '11 at 01:35
  • https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-vnc-on-ubuntu-20-04 – HappyFace Oct 14 '20 at 17:30

10 Answers10

32

This site lists a number of servers, such as Vino and krfb. On the mac, you can just use the Screen Sharing client (in Finder's Go menu, click Connect to Server, then enter the address vnc://192.168.0.6 or whatever IP address the Ubuntu system is on, making sure to retain the vnc:// portion).

Giacomo1968
  • 55,001
FeifanZ
  • 436
  • 1
    This seems promising. I've tried this but it just seems to spend forever trying to contact the ubuntu VM, even after I authenticate the connection on ubuntu. Is this screen sharing meant for this purpose? –  Mar 04 '11 at 01:44
  • Screen sharing is just a VNC client. It's definitely an issue with your server software (Chicken)…unless you have a slow network/router? –  Mar 04 '11 at 02:19
  • 6
    @feifanZ answer is working for ubuntu 15.10, but there is a problem with ubuntu Vino required-encryption setting. simply run this gsettings set org.gnome.Vino require-encryption false before trying to access. – insidepower Nov 02 '15 at 05:44
  • apart from @insidepower tweak, you must set a password in the unity settings window in my case – danius Jan 25 '18 at 00:37
  • I tried to connect from Mac 10.14.5 to Ubuntu 19.04, my Mac complaints the VNC version is not supported. – GummyBear21 Jun 28 '19 at 01:52
  • also works for connecting into Ubuntu 18.04, after disabling vino encryption as suggested by @insidepower – kumetix Jul 21 '19 at 08:16
11

I successfully logged-in remotely from my iMac macOS Mojave desktop into my hackintosh, which is a retrofitted 2012 Apple Macbook Pro running smoothly Ubuntu 16.04:

From the Ubuntu Desktop

  1. Download and install vino by running sudo apt-get install vino within the Ubuntu terminal.
  2. Next run vino-preferences.
  3. After the vino application preferences window prompts, ensure that the "Allow other users to view your desktop" and "Allow other users to control your desktop" options are selected beneath the "Sharing" field; it is also recommended to select the "You must confirm each access to the this machine" and "Require the user to enter system-password".
  4. Run sudo-reboot and then log-in to the Ubuntu 16.04 desktop.
  5. Retrieve and the device-IP address by running ifconfig -a; the local-IP address of the device will be returned within the terminal-output under the field: "inet addr:" (e.g. inet addr: 10.3.1.233). After noting the local-IP address of the device, proceed with the next set of instructions from your macOS desktop.

From Ubuntu 18.04-2 LTS

  1. Evidently, vino functionality was merged in Ubuntu 18.04.2 LTS Gnome Control Center, so it's much easier- simply go to "Settings".
  2. Within "Settings", scroll down to the "Sharing" tab within the left-hand side of the window.
  3. Turn on "Screen Sharing"- select "Allow connections to control the screen" and "Require a password" underneath "Access Options" then proceed with the below instructions to remotely access your Ubuntu 18.04.2 LTS desktop from your macOS desktop.

Logging-in From macOS Mojave

  1. Access the "Spotlight" by typing "CMD" + "Space-bar"
  2. Within the Spotlight field, enter vnc://your_server_ip:5900 (e.g. vnc://10.3.1.233:5900).
  3. If successful, the Screen Sharing application should automatically launch within your macOS desktop to remotely view your Ubuntu 16.04 or Ubuntu 18.04.2-LTS device on your local-network as depicted by the screen-shot below- enjoy!

enter image description here

Disable Encryption

If you encounter error message stating something like: "the remote computer is incompatible with the version of your VNC client". For example the built-in Screen Sharing app on Mac, or the VNC Viewer for Windows. You should be able to fix it by asking Vino server to disable encryption. You do this by entering the command:

sudo gsettings set org.gnome.Vino require-encryption false

and then restart the Vino server with command:

sudo systemctl restart vino-server --user

zevoid
  • 3
  • MacOS 10.12 gets "The software on the remote computer appears to be incompatible with this version of Screen Sharing." when attempting to connect. – user2561747 Jun 10 '20 at 00:04
  • 1
    @user2561747 did you disabled encryption in the bottom of post? – dphans Nov 19 '20 at 18:35
  • 1
    on Ubuntu 20.04 I still had to sudo apt-get install vino before "Screen Sharing" would appear in my Settings>Sharing menu – user5359531 Mar 23 '21 at 20:10
  • I tried all these things and was not able to connect to my desktop (Ubuntu 20.04) from my Mac (10.14 Mojave). Keep getting the "incompatible" error message. Tried on my other mac running 10.12 Sierra and it cannot find the remote VNC server. Despite doing sudo apt-get install vino and configuring the Screen Sharing in the GNOME settings (and running the extra bit about disabling encryption), systemctl still cannot find any service named vino-server. Also, from the Mac I tried to connect both via hostname and via IP address, with and w/o port, neither worked – user5359531 Mar 23 '21 at 20:29
4

I have just sorted out this same challenge and had some great success, so wanted to share.

Goal: get screen sharing on my 2015 MacBook Pro (MacOS 11.4 Big Sur) to show me the screen of a fresh install of Ubuntu 20.04.2 LTS on my Mac Mini i7, over the house WIFI.

Steps to success for me were:

  • Get computers on the same wifi (no Vlan separations etc.)
  • Update both machines to most current version
  • On the Ubuntu Desktop:
    1. Open Settings -> Sharing
    2. Toggle the switch at the top to 'ON' (It should switch to Purple)
    3. Activate Screen Sharing
    4. Note the 'Computer Name' shown near the top of the window, you will need it on the Mac (you can also use the IP address if you )
    5. Ensure 'Allow connections to control the screen' and 'Require a password' are selected
    6. Make sure the right network is shown at the bottom of that window
    7. You can close the settings app now.
    8. Open a terminal and type: settings set org.gnome.Vino require-encryption false
    9. You can close the terminal app.
  • On the Mac
    1. From the Finder, select Go -> Connect to Server ... (or select Command+K)
    2. In the window that comes up, type vnc://<ubuntu_computer_name>.local
    3. When prompted, enter the password you chose on the Ubuntu machine

BTW, this should also work on most home wifi/ethernet combinations, but check your network settings to make sure they are not isolated from each other.

Giacomo1968
  • 55,001
2

Just tunnel your X11 session over SSH. Nice and fast - because you're sending drawing commands, etc. Not whole bitmaps.

ssh -X user@hostname (or IP address)

And then just type the name of a program, eg:

nautilus

You can run a whole desktop as well.

  • 5
    How can I run "a whole desktop"? nautilus just brings up a directory window. – zkurtz Nov 14 '15 at 18:27
  • 2
    Failed to connect to Mir when tried to run nautilus. – Jason Nichols Jun 15 '18 at 19:06
  • The way X11 works, you really don't want to put a network round-trip in between an X11 session's IO. It's faster to render remotely – DeepSpace101 Oct 13 '18 at 04:24
  • This is the correct and most simple answer. Mac preinstalled with XQuartz. While "nautilus" just opens the file manager, you can also run "google-chrome" to start Chrome. Basically, you can run anything. The process will be running on the Linux box and the display will be routed to your Mac. I just tried this from my Mac 10.14.5 to Ubuntu 19.04. But I have to say Chrome is a bit slow in this case. – GummyBear21 Jun 28 '19 at 01:51
1

You can use Microsoft Remote Desktop from App Store. Set up your Ubuntu this way:

From DigitalOcean community page.

sudo apt-get update

If you don't have desktop installed:

sudo apt-get install ubuntu-desktop

After that install XRDP:

sudo apt-get install xrdp

Enable XRDP to start on boot:

sudo systemctl enable xrdp

If you have a firewall make sure that the 3389 port is open:

sudo ufw allow 3389/tcp

Now connect with Microsoft Remote desktop to your Linux machine.

Giacomo1968
  • 55,001
mishap
  • 111
1

JollysFastVNC is reportedly the fastest VNC server available for OSX.

That said, in my experience slow connections in/out from Ubuntu often mean it's trying to do IPv6 when it shouldn't be.

geekosaur
  • 11,851
  • 34
  • 41
0

Consider using NX - it should be a lot faster than VNC.

0

TeamViewer is a very fast VNC-like software - it also bypasses firewall and port-forwarding issues, so incredibly easy to set up. I have only ever used it Windows to Windows, but they have a Mac and Linux version. You should be able to install the unattended version on the Ubuntu VM, so the username and password are always the same.

-1

I've tried cople of options like RealVNC and the builtin one in Ubuntu. And I think that TeamViewer is best one.

-1

NoMachine (NX) is an excellent Remote Desktop solution - good overview here... https://www.linux.com/learn/remote-linux-desktops-nomachine-nx