wsl xfce4问题 报错xrdb: Connection refusedxrdb: Can‘t open display的解决方案与问题分析

2024.9.18 更新

发现了有人洗稿,牛魔收藏量比我还多,道心直接不稳了,如鲠在喉

先说解决方法,造成这种问题的原因我会在下半部分说明

打开powershell或cmd,输入ipconfig,找到"无线局域网落适配器",一定看清楚,是无线局域网络适配器,记住/复制ipv4那一行IP地址

打开wsl,输入sudo vim ~/.bashrc 在最下面加上/更改export DISPLAY=(你刚才复制/记住的IP):0.0

(记得加上:0.0)

然后执行

source ~/.bashrc

已经迫不及待了(喜),直接启动(我超,元)

产生这种问题的原因

相信你一定用某种手段使用了代理,并且在.wslconfig中应用了

networkingMode=mirrored

即打开了镜像模式

对,问题就出在这里,让我们从头开始梳理

在默认情况下,wsl的网络模式是net模式,在这种模式下你在cmd中输入ipconfig会看到以太网适配器 vEthernet (WSL (Hyper-V firewall)),于是直接在~/.bashrc中应用export DISPLAY=xxx(那里面的ip地址)就可以,不会出现任何问题

但是!一旦你使用了镜像网络,这个适配器就失效了(其实我也不确定是不是真的失效了,总之是没有用了),但是在你输入ipconfig的时候,这个适配器依然会被显示出来,除非重启电脑它才会消失。

而取而代之的是无线局域网适配器 WLAN,也就是说你要将export DISPLAY=后面的IP地址改成它的IPV4地址

当然还有小伙伴会有疑问,holy cow?wtf?

我使用的是

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

啊!我从 /etc/resolv.conf 文件中提取所有 DNS 服务器的 IP 地址的功能呢,怎么不好使啊,我少的功能这块谁给我补啊?阿米诺斯!

莫急,你可以使用这个功能来做个实验,你会发现你获取的是默认网关地址(其充当局域网(LAN)和外部网络(如互联网)之间的中介)而不是ipv4地址(悲

这个问题真的是困扰了我几个小时,我翻遍了github和stackoverflow等社区都没有找到解决办法,直到我重启电脑并且观察ipconfig,发现vEthernet 没了的那一刻才有了解决这个问题的头绪,还是得加强网络方面的知识啊。

这个错误信息出现在使用xrdb命令时,它指示无法打开显示器'172.18.48.1:0'。这个错误通常出现在远程连接计算机时,因为XRDB是X11资源数据库的一个工具,用于管理X Window系统的资源。它会尝试在特定的显示上打开数据库文件来读取或修改资源。 出现这个错误的原因可能是以下几种情况之一: 1. 连接问题:可能存在连接问题,即无法连接到指定的IP地址'172.18.48.1'上的显示器。这可能是由于网络问题、远程服务器未启动X Window系统或者远程服务器配置了不允许远程登录的设置。 2. Xauthority问题XRDB需要使用Xauthority文件来进行身份验证和授权。如果Xauthority文件无法找到或者没有权限访问,就会出现这个错误。您可以检查.Xauthority文件的位置和权限设置。 3. 环境变量问题:可能没有正确设置DISPLAY环境变量,导致XRDB无法找到正确的显示器。DISPLAY环境变量用于指定显示器的地址和屏幕号。 解决此问题的方法可能包括: 1. 确保正确连接到显示器:检查网络连接和远程服务器上X Window系统的状态。确保远程服务器允许远程连接,并且正在运行X Window系统。 2. 验证Xauthority文件:确认Xauthority文件的位置和权限,确保XRDB可以正常访问。 3. 设置DISPLAY环境变量:确保DISPLAY环境变量正确设置为远程显示器的地址和屏幕号。例如,可以使用以下命令设置DISPLAY环境变量: export DISPLAY=172.18.48.1:0 请注意,具体的解决方法可能因系统配置的不同而有所不同。如果以上方法无效,建议查阅相关文档或向系统管理员寻求帮助来进一步解决该问题
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值