X11 轉送到 Mac 不起作用

X11 轉送到 Mac 不起作用

我在 VMWare 中運行 Ubuntu 伺服器。我想將 X11 從 Ubuntu 客戶機轉送到 Mac 主機。

我已經安裝XQuartz 2.7.9 (xorg-server 1.17.4)在Mac主機上了。

Ubuntu 上的 SSH 轉送已啟用。

然後我在 iTerm 中嘗試了以下操作:

%> echo $DISPLAY
/private/tmp/com.apple.launchd.mjxVyILVrR/org.macosforge.xquartz:0
%> ssh -X root@xxxx
# echo $DISPLAY

# gnome-terminal
Unable to init server: Could not connect: Connection refused
Failed to parse arguments: Cannot open display

$DISPLAY 為空,X11 轉送不起作用。

有任何想法嗎?

答案1

試著跑ssh -Y root@xxxx進去xterm 裡面XQuartz 而不是 iTerm。那樣有用嗎?

答案2

在遠端系統中開啟 /etc/ssh/sshd_config 並設定 X11Forwarding yes 。然後重啟ssh服務並重試

答案3

如果我錯了請糾正我。您想要從 Mac 遠端存取執行 Ubuntu 的計算機,當您“ssh”進入 Ubuntu 並嘗試“echo $DISPLAY”時,您會得到一個空響應。以下解決方案可能不適用於您的情況,但如果您嘗試的內容與我嘗試過的內容類似,請嘗試一下。

正如您已經發現的那樣,必須先找到 DISPLAY 變數。

所以在你的 Mac 中如果你以普通用戶身份輸入

echo $DISPLAY

那你會得到類似下面的東西(就是你手上的情況)。不管怎樣,你們都會在你們的系統中看到類似的東西。

/private/tmp/com.apple.launchd.0aQYNoXMFK/org.xquartz:0

然後嘗試類似的東西

xeyes

現在您知道您的顯示器正在工作

現在,如果您想嘗試與 root 相同的操作(請不要跳到我身上,我知道你們中的一些人強烈反對 root 訪問),但如果不起作用,則在 root 提示符中執行以下操作

export DISPLAY=/private/tmp/com.apple.launchd.0aQYNoXMFK/org.xquartz:0

與您在普通用戶帳戶中找到的相同。然後將“/Users/normal user/.Xauthority”處的“.Xauthority”複製到“/var/root/”。 .Xauthority 檔案已經存在,但這會覆蓋它。

cp /Users/normal user/.Xauthority /var/root/

當然,導出可能會起作用,但執行上述操作並沒有壞處。現在嘗試以下操作。

echo $DISPLAY

你應該會看到以下內容

/private/tmp/com.apple.launchd.0aQYNoXMFK/org.xquartz:0

如果您從普通使用者提示字元「ssh」進入 Ubuntu,那麼您不需要執行 root 部分,但由於我使用 root「ssh」我的 Ubuntu 系統,所以我經常必須這樣做。

然後當你透過 ssh 進入 Ubuntu 時輸入

echo $DISPLAY

你會看到類似下面的內容

localhost:10.0

如果您已完成所有其他操作(例如轉發等),則上述內容將起作用。

同樣,如果您想在 Ubuntu 中使用 root,並且“echo $DISPLAY”沒有產生任何回應,請嘗試以下操作(假設您處於 root 提示符號下)。

cp /home/user name/.Xauthority /root/.Xauthority

現在嘗試

echo $DISPLAY

再一次,你會看到類似下面的內容

localhost:10.0

為了好玩嘗試一下

xeyes

它適用於我的情況。希望這對您有所幫助,並且能夠解決像上面這樣的問題,或者像我這樣的問題,有人遇到過,並且像我一樣在這個問題上花了幾個小時,同時撓頭並試圖拔掉頭髮:-))。

答案4

在嘗試了很多不同的選擇之後,這對我有用:

在我的 Mac 上:

我首先啟動 xQuartz。然後我進入終端並運行export DISPLAY=localhost:0.

在我的遠端 Linux PC 上:

我遇到了 Wayland 問題,所以我去了/etc/gdm/custom.conf並取消註釋該行WaylandEnable=false。我也定了export XAUTHORITY=$HOME/.Xauthority。最後,我設定了export QT_QPA_PLATFORM=xcb一些圖形庫是 python 工作的原因。

設定完成後,您現在可以使用 ssh 進入遠端伺服器ssh -Y remoteserver@IP,希望這應該可以工作。

相關內容