我需要从 Linux 服务器(我没有 sudo)运行 GUI 来工作。在 Windows 11 计算机上,我使用 Ubuntu-22.04 设置了 WSL,并成功执行了这些步骤在我的 Windows 系统上显示 Linux GUI:xeyes
并且其他相关程序在本地工作时按预期工作。
但是,我无法从我的工作服务器运行 GUI。
下面是一个例子xeyes
;打印了以下错误:
myprofile@palaeoprime:~$ xeyes
debug1: client_input_channel_open: ctype x11 rchan 3 win 65536 max 16384
debug1: client_request_x11: request from 127.0.0.1 44850
debug1: channel 1: new [x11]
debug1: confirm x11
X11 connection rejected because of wrong authentication.
debug1: channel 1: free: x11, nchannels 2
Error: Can't open display: palaeoprime:10.0
服务器上启用了 X11 转发(X11Forwarding yes
,X11UseLocalhost no
和X11DisplayOffset 10
存在于 中/etc/ssh/sshd_config
),并且也安装了 Xauth。
当连接到服务器时ssh myprofile@serverIP -X -v
,输入密码后出现以下文本:
debug1: channel 0: new [client-session]
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug1: pledge: exec
Warning: No xauth data; using fake authentication data for X11 forwarding.
debug1: Requesting X11 forwarding with authentication spoofing.
debug1: Sending environment.
debug1: channel 0: setting env LANG = "C.UTF-8"
有解决方案吗?或者我更可行的方法是在本地安装 Xming 并从那里开始工作?这是我在 Super User 上的第一篇文章,如果不够详细或措辞不当,我深表歉意,如果需要澄清,我很乐意添加编辑。干杯!
答案1
您不需要使用 WSL2。
下载Xming X 服务器默认情况下它将为您所有的本地 IP 设置一个 X 屏幕 :0。
一旦您使用 ssh 连接到服务器。将 DISPLAY 变量设置为您的 IP(假设您正在使用 VPN,请使用 VPN 地址):0,然后导出该变量以使其他 shell 可以使用它,例如:
DISPLAY=10.212.111.200:0
export DISPLAY
从 cmd 行连接后,运行 X 应用程序,例如 xfce4-terminal
另一种解决方案是使用 VNC,您需要管理员设置 vnc。设置完成后,您可以使用 VNC 连接到登录时分配的显示器,然后以此方式使用 X11 应用程序