Linux

在使用 x11 的遠端 (MacOS) 機器上使用本地 (Linux) 機器上的 GUI 程序?

  • November 8, 2017

我花了很多時間掃描這些(和其他)論壇,以了解如何解決以下情況,但無濟於事。希望有人可以分享他們的專業知識!

在我的大學,我在一台 Linux 機器(Scientific Linux 7)上,xauth目前:

$ which xauth
  /bin/xauth

我想(a)從我的(遠端)Macbook(XQuartz現在)執行 GUI 應用程序,並且(b)讓它們出現在這台 Linux 機器上。

當我跑

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

,系統提示我輸入 Mac 的密碼;當我輸入它時,我得到了我的 Mac 終端。當我環顧這個終端時,我可以訪問我的 Mac 的文件。這部分一切都很好。

但是,如果我嘗試通過 Mac 的終端(如在 Linux 機器上看到的)執行 Mac(基於 GUI)程序,則 GUI 在Mac上打開,而不是在 Linux 機器上打開。例如,執行

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

從 Mac 的終端(如在 Linux 機器上看到的)在 Mac 上不是在 Linux 機器上打開 TeXStudio 的 GUI!這當然是有問題的,因為這意味著(a)似乎實現了,但(b)卻失敗了。

在 Mac 上,我的/etc/ssh/sshd_config文件包含以下幾行:

  X11Forwarding yes
  X11DisplayOffset 10
  X11UseLocalhost no

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

; 但是,我也嘗試過,X11UseLocalhost yes但無濟於事。

還要注意,x11 似乎正在“完成它的工作”,因為如果我執行類似xeyesor的東西xclock(在 Linux 機器上的 Mac 終端中),我會看到眼睛/時鐘(在 Linux 機器上)。

我在這裡遺漏了一些明顯的東西嗎?

筆記:

  1. 無法對我正在使用的 Linux 機器進行任何更改:它是特定於專業的 Linux 計算實驗室的一部分,並且無法進行任何類型的安裝/“後端文件”操作。
  2. 我在 Linux 機器和 Mac 上都使用我大學的安全 Wi-Fi。

您錯過了 macOS GUI 應用程序不使用 X11,因此無法使用 SSH 轉發到 X11 伺服器……他們使用Quartz進行顯示。

據我所知,macOS 現在只支持全桌面遠端顯示(除了執行 XQuartz 的 X11 應用程序,正如您所確定的那樣)。從一台 macOS 設備到另一台,您可以使用遠端桌面;在您的情況下,您需要使用 VNC 之類的東西(在 Mac 上執行 VNC,並使用 VNC 客戶端連接到它)。

遠端桌面軟體的維基百科比較對可用選項進行了很好的概述:尋找支持 macOS 伺服器和 Linux 客戶端的軟體。

引用自:https://unix.stackexchange.com/questions/403327