Get X11 Forwarding In macOS High Sierra

I needed to forward X11 output from one of my Linux servers recently to run virt-manager (manager for virtual machines in KVM), and because it’s been a while I had to download and install X11 server again.

As some of you know, Xorg server is no longer shipped/installed with macOS by default. So you have to download it from XQuartz page: Usually you do it, install it and that’s it – no additional steps are needed.

But things are slightly different for the macOS High Sierra, apparently.

The latest release hasn’t been updated since 2016 which I believe is before High Sierra – which explains why things don’t “just work” anymore. Fear not though – I tracked the issue down and it’s explained below.

UPDATE 03/2019: MacOS Mojave works just great, you may skip Step 3 in the procedure below.

Steps to get X11 Forwarding in macOS High Sierra

  1. Download and install the latest release from website
  2. Start XQuartz
  3. IMPORTANT: verify xauth location SSH configuration file /etc/ssh/ssh_config might contain path to xauth tool, which may be incorrect depending on your OSX/MacOS version. Here’s how to check:
greys@maverick:~ $ grep xauth /etc/ssh/sshd_config

if this returns nothing, you can skip to Step 4 below. If this gives you an output, compare it to the path from the next command:

greys@maverick:~ $ which xauth

If the locations differ, update the /etc/ssh/ssh_config file:

greys@maverick:~ $ sudo vi /etc/ssh/ssh_config
  1. Connect to remote server using -X option which does X11 forwarding for SSH: greys@maverick:~ $ ssh -X centos.unixtutorial.or
  2. Check the DISPLAY variable, it should now be set correctly:
greys@centos:~ $ echo $DISPLAY

That’s it for today!

See Also

Contact Me

Follow me on Facebook, Twitter or Telegram:
I learn with Educative: Educative
IT Consultancy
I'm a principal consultant with Tech Stack Solutions. I help with cloud architectrure, AWS deployments and automated management of Unix/Linux infrastructure. Get in touch!

Recent Tweets