文章目录
环境
已经在win10下搭建好Ubuntu22.04的WSL2
安装设置VcXsrv
SLAM需要安装配置WSL界面显示程序,这里简单介绍VcXsrv程序。VcXsrv是一个免费开源的软件,并且在SourceForget上评价也不错。VcXsrv是用来设置界面窗口的,VcXsrv可以运行安装了WSL(Windows Linux子系统)的Linux GUI程序。
下载VcXsrv
这里下载的是VcXsrv的1.20.14.0版本
安装VcXsrv
多屏和单屏好像区别不大。
最后一步要保存,不然每次都要设置这些
在wsl里面安装xfce4
接下来配置wsl。在wsl里面安装xfce4
sudo apt-get update
sudo apt-get install xfce4
VcXsrv适配WSL
用ipconfig命令查找IPv4地址
在Windows PoweShel界面用ipconfig命令查找IPv4地址
在.bashrc文件中配置IPv4地址
#export DISPLAY=192.168.1.111:0 # 固定地址
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0 # 动态的
编辑完成后,退出,激活。
误区注意:
先在cmd面板里用ipconfig查看ipv4地址,然后在后面加上:0.0,例如你的ipv4是xxx.xx.xxx.x,那就在ubuntu命令行里输入 export DISPLAY=xxx.xx.xxx.x:0.0 。这个还是很容易犯错,因为ipconfig得到的结果里有两个ipv4地址,一个是本地windows的地址,一个是wsl的地址,你要把wsl的ipv4替换进去才行。
注:由于每次电脑重启之后wsl的ip都会变,一种办法是这样
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0
打开防火墙
打开windows防火墙,设置vcxsrv的权限,如下图,图源github讨论区
启动
最后输入sudo startxfce4就可以打开图形化桌面了。
值得一提的是,如果你在vcxsrv设置的第一步时候勾选多窗口,那linux的应用程序就仿佛源生的windows程序一样在你的桌面上。你甚至可以由此在windows上享受真正的无广告wps。
常见报错(未测)
/usr/bin/startxfce4: X server already running on display
然后尝试采用vim ~/.bashrc修改IP,但是发现用sudo vim /etc/resolv.conf出来的虚拟网卡地址一直在变,第一改还管用,后来就不管用了,后来搜了一下,按照下面这个改就好了
同样vim ~/.bashrc,但是不是单纯输入“export DISPLAY = XXXX(虚拟网卡地址),而是改成:
export DISPLAY=$(awk ‘/nameserver / {print $2; exit}’ /etc/resolv.conf 2>/dev/null):0
export LIBGL_ALWAYS_INDIRECT=1
参考
SLAM开发环境搭建和配置
为wsl2安装图形化界面
Win10子系统Ubuntu的WSL2开启、图形界面安装以及CUDA配置