最近准备在自己的电脑(windows)下用wsl2装docker, 然后将显卡共享给别人用(别骂了别骂了太穷啦太穷了)
发现windows微软商店下载的ubuntu20.04子系统没有预装图形界面, 想在wsl里面显示东西不好使用。摸索了一番,最终决定使用Xfce+dummy虚拟显示+VNC的显示方案。
安装Xfce桌面
sudo apt install xfce4 xfce4-goodies
安装dummy虚拟显示包
至于为什么要安装虚拟显示,我看网上一些在wsl里面的显示方案都是用什么rdp远程桌面,配置一堆堆有点不方便,安装xserver-xorg-video-dummy的话相当于有一块虚拟屏幕了(其实是不装虚拟显示启动Xfce桌面会报没有屏幕才去找的这个东西)
sudo apt-get install xserver-xorg-core-hwe-18.04
sudo apt-get install xserver-xorg-video-dummy
对了,我的wsl子系统是ubuntu20.04,可以安装xserver-xorg-core-hwe-18.04的包,因为没有找到20的,要是16.04的话有16.04版可以装
配置虚拟屏幕,编辑/usr/share/X11/xorg.conf.d/xorg.conf
, 填入以下内容:
Section "Monitor"
Identifier "Monitor0"
HorizSync 28.0-80.0
VertRefresh 48.0-75.0
Modeline "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync
EndSection
Section "Device"
Identifier "Card0"
Driver "dummy"
VideoRam 256000
EndSection
Section "Screen"
DefaultDepth 24
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Depth 24
Modes "1920x1080_60.00"
EndSubSection
EndSection
安装vnc
vnc服务端就多了去了,什么x11vnc,vnc4server,tigervnc这些,其实都一样,看你平时用的哪个,我选x11vnc
sudo apt-get install x11vnc -y
(vnc配置密码这些随便搜一搜就有了)
使用
装完这些东西之后,要想用vnc登入wsl的桌面,需要在windows下安装一个vnc viewer
在wsl端,终端输入以下命令
unset DISPLAY #先取消掉DISPLAY环境变量,不然下一步xfce不会启动
sudo startxfce4 & #启动xfce并在后台运行,注意一定要加sudo
sudo x11vnc # 打开vnc,这一句只是x11vnc简单开启而已,其他参数像端口配置,重启等自己去探索
之后在windows下vncviewer输入IP地址即可访问wsl的桌面