xfce4-session "cannot connect display" 错误

xfce4-session "cannot connect display" error

我正在尝试 运行 根据许多网站提供的教程在 WSL 上运行 xubuntu-desktop。但我似乎无法连接到 VcXsrv 的显示器,它总是显示:

xfce4-session: Cannot open display: .
Type 'xfce4-session --help' for usage.

如果我运行启动xfce4,它说:

/usr/bin/startxfce4: X server already running on display muhammadsalmanafzal:0.0
xrdb: Connection refused
xrdb: Can't open display 'muhammadsalmanafzal:0.0'
xfce4-session: Cannot open display: .
Type 'xfce4-session --help' for usage.

虽然,Xlaunch 的VcXsrv window 是关闭的。 有人可以帮我查找错误吗?我究竟做错了什么? 另外,当我第一次安装 xubuntu-desktop 时,最后它说:

Errors were encountered while processing:
 blueman
E: Sub-process /usr/bin/dpkg returned an error code (1)

然后我在某处读到要删除它,所以我做了并重新安装了 xubuntu-desktop 并且没有给出错误。

如果你是 运行ning WSL 1 然后,你需要将以下行添加到主目录中的 .bashrc:

export DISPLAY=:0.0
再次

和 运行 bash。 但是,如果您使用的是 运行ning WSL 2,那么您需要通过检查 Powershell 中的 ipconfig 然后将相对导出到 .bashrc

[编辑]

我认为 windows 更新到 20H2 后,上述解决方案停止工作。因此,根据 their site Ubuntu 的官方建议,您可以在 ~/.bashrc 中添加以下行并重新启动它。

 export DISPLAY=:0 # in WSL 1
 export DISPLAY=$(awk '/nameserver / {print ; exit}' /etc/resolv.conf 2>/dev/null):0 # in WSL 2
 export LIBGL_ALWAYS_INDIRECT=1

更好的解决方案是 运行:

export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print }'):0

wsl2 在重新启动时发生了变化,目前无法修复。

https://qiita.com/baibai25/items/5841b0592727893d960f

以下两种方法对我有用。我用的是WSL2.

接近-1:

VcXsrv 的标题栏显示类似 VcXsrv Server Display MACHINENAME:0.0.

的内容

使用以下命令启动 xfce4:xfce4-session --display=MACHINENAME:0.0

MACHINENAME 替换为您的 PC 名称。

参考:https://github.com/Microsoft/WSL/issues/1800#issuecomment-455791220

方法二:

将以下行添加到 .bashrc 文件。

export DISPLAY=MACHINENAME:0.0

同样,MACHINENAME 应该是您的 PC 的名称

保存文件并重启 WSL2。

现在您只需使用命令 xfce4-session