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: https://www.xquartz.org/releases/index.html. 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
- Download and install the latest release from xquartz.org website
- Start XQuartz
- 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:
/opt/X11/bin/xauth
greys@maverick:~ $ sudo vi /etc/ssh/ssh_config
- Connect to remote server using -X option which does X11 forwarding for SSH:
greys@maverick:~ $ ssh -X centos.unixtutorial.or
- Check the DISPLAY variable, it should now be set correctly:
greys@centos:~ $ echo $DISPLAY
localhost:10.0
That's it for today!
Leave a Reply