我在办公室使用 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 计算机上安装。但是,我没有管理员权限。
答案1
我最终得到了一个替代解决方案 - 使用代码服务器: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://本地主机:8080开始使用代码服务器!