Ubuntu

在 X11 SSH 轉發中,鍵盤不能正常工作(只有 Ctrl + .. 和數字小鍵盤工作!)

  • April 22, 2019

我在辦公室使用 Ubuntu 18.04 桌面。

為了使用伺服器,我們需要連接到遠端 Windows 8 機器,然後從這裡打開 SSH 連接到 Ubuntu 16.04 伺服器。

所以,本地(ubuntu18.04)—>遠端(windows8server)—>伺服器(ubuntu16.04)

在遠端 Windows 機器上,我使用 Git Bash (MINGW64) 這個命令打開到伺服器的連接:

export DISPLAY=localhost:0
ssh -Y -C -i "C:/path/to/key" user@serverIP

我能夠在 GUI 模式下執行大多數應用程序,如 Nautilus、Geany、VSCode、Git…。


但是,有一個大問題: 鍵盤上的大多數鍵都不起作用,除了 Ctrl + S、Ctrl + V、Ctrl + Z …(大多數熱鍵)和數字小鍵盤上的鍵 1、2、3..9 .

另外,我注意到一個奇怪的行為:有時會同時“輸入”幾十個相同的字元,例如:“zzzzzzzzzz”“aaaaaaaaaaaa”


我試過的:

  • 驗證伺服器上的鍵盤佈局是否正確
user@serverIP~$: localectl status
System Locale: LANG=en_US.UTF-8
LANGUAGE=en_US:en
VC Keymap: us
X11 Layout: us
X11 Model: pc105+inet
X11 Options: terminate:ctrl_alt_bksp

我已將此添加到 settings.json 但它不起作用:

"keyboard.dispatch": "keyCode"
  • 查看了這個執行緒:https ://askubuntu.com/questions/203173/run-application-on-local-machine-and-show-gui-on-remote-display 。有人建議使用“x2x 包”。似乎需要在遠端 Windows 機器上安裝。但是,我沒有管理員權限。

我最終得到了另一種解決方案 - 使用程式碼伺服器:https ://github.com/codercom/code-server

首先,下載二進製文件並將其粘貼到伺服器上的 /usr/local/bin 中,然後從任何地方執行它。

nohup code-server --password=123456 &

在我的遠端機器上,我通過 SSH 通過在 git-bash 中輸入以下命令來連接伺服器的本地主機:

ssh -i "/path/to/yourkey" -L 8080:127.0.0.1:8443 user@ipaddress -N

(確保你打開這個 git-bash 視窗)

最後,我打開 Chrome 並打開http://localhost:8080開始使用 code-server!

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