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 在重新启动时发生了变化,目前无法修复。
以下两种方法对我有用。我用的是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
。
我正在尝试 运行 根据许多网站提供的教程在 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 在重新启动时发生了变化,目前无法修复。
以下两种方法对我有用。我用的是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
。