檢查 X11 轉送是否正常運作的最簡單範例是什麼?

檢查 X11 轉送是否正常運作的最簡單範例是什麼?

我可以訪問一個集群,並想使用最簡單的範例透過 X11 轉發 ssh 進入該集群,看看它是否有效。目前,我只需登入叢集:

$ ssh -Y user@cluster

我知道叢集中唯一有顯示功能(如 GUI)的程式是matlab,所以我只需運行它:

$ matlab

在過去,這是可行的,但我想知道最簡單的命令來在螢幕上顯示某些內容,看看它是否有效。目前,運行matlab會開啟命令介面,但不會顯示錯誤或其他任何內容。

有人知道什麼是替代命令來查看是否有任何功能嗎?這個想法是由 Ubuntu 繼承的單一命令,並且不需要我安裝 X11 以外的任何東西。就像是:

$ display_a_box_with_text HELLOWORLD

我不確定是否只有我這麼認為,但檢查 X11 是否正常工作的唯一方法是運行 MATLAB,這似乎很荒謬。一定有更好的方法來檢查這一點。

答案1

不要使用您發出的 ssh 命令,而是嘗試:

$ ssh -v -Y user@cluster

新增另一個參數-v啟用指令的調試模式ssh。搜尋包含 的行Requesting X11 forwarding,例如:

$ ssh -v -Y user@cluster
[...]
debug1: Requesting X11 forwarding with authentication spoofing.
[...]

登入後,您可以嘗試以下命令來開啟 X 視窗:xtermxclockxcalcxedit等 這些已經在註釋中提到了。

您要求一個帶有自訂文字的對話框,因此您應該嘗試xmessage

$ xmessage -center hello!

答案2

如果您沒有xmessage,這些是替代方案:

  • xdg-open .( sudo apt install xdg-utils)
  • xterm

這些在我工作的 CentOS 7 伺服器上運行。

答案3

你可以嘗試三件事

  1. xeyes
  2. xclock
  3. xmessage -center hello!

答案4

這是從中摘取的答案郵政

若要檢查是否啟用了 X11 轉發,請查看 DISPLAY 環境變數的值:echo $DISPLAY。您應該會看到類似 localhost:10 的值(遠端電腦上執行的應用程式被告知連接到同一台電腦上執行的顯示器,但該顯示器連接實際上是透過 SSH 轉發到客戶端顯示器的)。請注意,如果未設定 DISPLAY,則手動設定它是沒有用的:如果轉送到位,環境變數始終設定正確

相關內容