1

I've spent a bunch of time scanning these (and other) forums for how to remedy the following situation but to no avail. Hopefully someone can share their expertise!

At my University, I'm on a Linux machine (Scientific Linux 7) with xauth present:

$ which xauth
   /bin/xauth

I would like to (a) run GUI apps from my (remote) Macbook (with XQuartz present), and (b) have them show up on this Linux machine.

When I run

ssh -o ForwardX11=yes user@wg-dhcpblahblahblah.secure.wireless.university.edu

, I'm prompted for my Mac's password; when I enter it, I get my Mac's terminal. When I look around in this terminal, I'm able to access my Mac's files. This part is all well and good.

However, if I attempt to run a Mac (GUI-based) program via the Mac's terminal (as seen on the Linux machine), the GUI opens on the Mac and not on the Linux machine. For example, running

/Applications/texstudio.app/Contents/MacOS/./texstudio

from the Mac's terminal (as seen on the Linux machine) opens TeXStudio's GUI on the Mac and not on the Linux machine! This, of course, is problematic, as it means that (a) seems to be achieved but (b) has failed.

On the Mac, my /etc/ssh/sshd_config file contains the following lines:

   X11Forwarding yes
   X11DisplayOffset 10
   X11UseLocalhost no

# XAuthLocation added by XQuartz (http://xquartz.macosforge.org)
   XAuthLocation /opt/X11/bin/xauth

; however, I've also tried it with X11UseLocalhost yes to no avail.

Note, too, that x11 seems to be "doing its job," because if I run something like xeyes or xclock (in the Mac terminal on the Linux machine), I get the eyes/clock showing up (on the Linux machine).

Am I missing something obvious here?

Notes:

  1. I can't make any changes to the Linux machine I'm using: It's part of a major-specific Linux computing lab, and no sort of installation/"backend file" manipulation can be done.
  2. I'm using my university's secure Wi-Fi, both on the Linux machine AND on the Mac.
4

You’re missing that macOS GUI applications don’t use X11 and therefore can’t be forwarded to an X11 server using SSH... They use Quartz for their display.

As far as I’m aware macOS only supports full-desktop remote display nowadays (except for X11 applications running with XQuartz, as you determined). From one macOS device to another, you can use Remote Desktop; in your case, you’ll need to use something like VNC (run VNC on the Mac, and connect to it with a VNC client).

The Wikipedia Comparison of remote desktop software has a good overview of the available options: look for software which supports macOS servers and Linux clients.

  • Thank you for your comment! I'm clearly very ignorant on things like X11, so if you don't mind: Can you elaborate? What do MacOS GUI applications use instead of X11? Since I can't get my desired result using SSH, ARE there alternatives for getting my MacOS GUI applications to run remotely on my Linux machine? – cstover Nov 8 '17 at 15:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.