mac X11 XQuartz的安裝與使用
本地系統:MacOS 12.4
遠程主機系統:Ubuntu 18.04
命令說明
ssh命令
ssh 命令大家很熟悉了,這里僅介紹與 X11 forwarding 相關的幾個選項。
本部分譯自 ssh 命令手冊,可見 man ssh
- -X :打開 X11 forwarding。也可以通過在 configuration 文件中對每個 host 單獨進行設置。
- 應謹慎啟用 X11 forwarding。具有繞過遠程主機文件權限的用戶(對于用戶的X授權數據庫)可以通過轉發連接訪問本地X11顯示器。攻擊者可能能夠執行諸如擊鍵監控之類的活動。 因此,X11 forwarding 默認受到 X11 SECURITY 擴展限制。 有關更多信息,請參閱 ssh_config(5) 中的 ssh -Y 選項和 ForwardX11Trusted 指令。
- -x:關閉 X11 forwarding。
- -Y:信任該 X11 forwarding,被信任的 X11 forwarding 不受到 X11 SECURITY 擴展限制。
xhost命令
xhost 是用來控制X server訪問權限的。
通常當你從 hostA 登陸到 hostB 上運行 hostB 上的應用程序時,做為應用程序來說,hostA 是 client,但是對圖形來說,是在 hostA 上顯示的,需要使用 hostA 的 Xserver,所以 hostA 是 server。因此在登陸到 hostB 前,需要在 hostA 上運行 xhost +
來使其它用戶能夠訪問 hostA 的 Xserver。
步驟
-
下載XQuartz并安裝;
-
使用 xhost 命令,為遠程主機添加權限:
xhost + 10.199.160.252
將上述 ip 換成自己的遠程主機 ip。
-
ssh 連接遠程主機并打開 X11 forwarding:
ssh -XY song@10.199.160.252
-
可以通過 xclock 命令來驗證 X11 forwarding 是否能正常運行:
xclock
如果在本機出現一個鐘表的圖形界面說明轉發成功。
可能的問題及解決方法
-
在本機設置:
defaults write org.macosforge.xquartz.X11 enable_iglx -bool true
-
指定顯示端口
export DISPLAY=localhost:1122
-
如果遇到亂碼,可嘗試:
export LANG=C
Ref:
https://blog.csdn.net/wang_zh1/article/details/107871367