Ubuntu
在 X11 SSH 轉發中,鍵盤不能正常工作(只有 Ctrl + .. 和數字小鍵盤工作!)
我在辦公室使用 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
- 遵循 VSCode 鍵盤故障排除指南:https ://github.com/Microsoft/vscode/wiki/Keybinding-Issues#troubleshoot-linux-keybindings
我已將此添加到 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!