Wie man bei Lektüre dieses Blogs sicherlich bereits vermuten konnte, beschäftige ich mich derzeit mit der Einrichtung meiner „neuen“ Apple Spielzeit. Bzw. mit der Einrichtung des Betriebssystems Mac OS X Yosemite. Dabei bin ich insbesondere auf der Suche nach Lösungen für meine bisher „lieb gewonnenen“ Anwendungen von Linux bzw. Windows. Das Ziel: Diese auch auf dem Mac zum Laufen zu bekommen bzw. durch Alternativen abbilden zu können.
Eines meiner Anwendungsszenarien ist der Verbindungsaufbau zu Linux/Unix-Maschinen via SSH inkl. X11-Forwarding. Dieses benötige ich, wenn ich via SSH auf entfernte Server und deren X11-System sowie darauf aufbauende Anwendungen (Browser auf der Zielmaschine, Acronis Konsole, …) zugreifen möchte.
Problem: Keine default X11-Unterstützung in neueren Mac OS X Versionen
Hierzu benötigt man zuerst eine X11-Unterstützung im Mac OS X-Betriebssystem. Leider hat Apple die X11-Komponente aus Mac OS X entfernt und deren Weiterentwicklung in ein gesondertes Community-Projekt „XQuartz“ ausgelagert.
Die Lösung: XQuartz installieren
Um X11 nutzen zu können, muss also unter neueren Mac OS X Versionen XQuartz zunächst von der Website des Projekts heruntergeladen und installiert werden. Die Installation ist recht einfach. Allerdings nimmt diese ein paar Minuten in Anspruch… so dass man sich (zumindest ich) gut und gerne kurz einen Kaffee holen kann. 🙂
Nachdem man diesen Schritt durchgeführt und XQuartz installiert hat, muss man „nur noch“ eine SSH-Verbindung mit X11-Forwarding aufbauen bzw. in der Verbindungssoftware konfigurieren. Ich verwende dafür das Tool Royal TS in der OS X-Variante. Es gibt jedoch auch viele andere gute Clients. Genauso gut kann man aber auch in der Shell direkt eine Verbindung mittels des openssh-clients aufbauen:
ssh -X <usernameremote>@<remotemachine>
Anschließend sollte der Zugriff und das X11-Forwarding mittels SSH auf die entfernte Maschine funktionieren.
Ggf. lohnt sich auch, je nach Leitung, die Aktivierung der Kompression mittels des Parameters -C zu aktivieren. Dies geschieht mit dem Befehl:
ssh -X -C <usernameremote>@<remotemachine>
Für weitere Hilfen bzw. Konfigurationsoptionen empfehle ich, entweder die man-page des openssh-clients durch Eingabe von „man ssh“ im Terminal oder die Website des XQuartz-Projektes zu konsultieren.
Viel Spaß damit… ! 🙂
Update: 19.06.2020: Die Anleitung oben funktioniert auch mit neueren Versionen von Mac OS X, also: El Capitan, Sierra, High Sierra, Mojave, Catalina, … und hoffentlich noch viele weitere Versionen.