|
wsl Ubuntu默认只能打开命令行,看不到图形化界面,有些操作不方便。这里介绍两种方法来远程连接到wsl里
VNC
因为win10的wsl不支持systemd, 所以这种方式只能是Windows11的系统,Window10只能用xrdp
1、禁用WSLg
在c:\users\用户名下新建一个.wslconfig文件,内容如下:- [wsl2]
- guiApplications=false
复制代码 2、安装桌面程序
可以先安装桌面程序的一个管理程序: sudo apt install tasksel -y
然后运行sudo tasksel,选择需要的桌面程序安装(空格是选中,上下键切换,tab切到OK键),我这里选择Ubuntu desktop。
3、安装vnc服务端
sudo apt install tigervnc-standalone-server -y
4、设置vnc密码
vncpasswd 为当前用户设置
sudo -H vncpasswd 为root设置
sudo -H -u gdm vncpasswd 为gdm用户设置
建议都设置一遍
5、修改Xorg文件
如果某次执行apt upgrade后,连接不上vnc了,应该就是这个文件被恢复成了默认,你再改回来就可以了。
chatgpt关于这个文件的解释:
sudo mv /usr/bin/Xorg /usr/bin/Xorg_old
sudo vim /usr/bin/Xorg_new写入以下内容:- #!/bin/bash
- for arg do
- shift
- case $arg in
- # Xvnc doesn't support vtxx argument. So we convert to ttyxx instead
- vt*)
- set -- "$@" "${arg//vt/tty}"
- ;;
- # -keeptty is not supported at all by Xvnc
- -keeptty)
- ;;
- # -novtswitch is not supported at all by Xvnc
- -novtswitch)
- ;;
- # other arguments are kept intact
- *)
- set -- "$@" "$arg"
- ;;
- esac
- done
- # Here you can change or add options to fit your needs
- command=("/usr/bin/Xvnc" "-geometry" "1920x1080" "-PasswordFile" "${HOME:-/root}/.vnc/passwd" "$@")
- systemd-cat -t /usr/bin/Xorg echo "Starting Xvnc:" "${command[@]}"
- exec "${command[@]}"
复制代码 这个脚本就是打印一条日志后启动xvnc服务,vnc的分辨率是1920x1080,你可以改成你显示器的分辨率大小,PasswordFile是指定vnc连接时密码文件的路径,因为刚才对当前用户、root和gdm都设置了密码,所以这三个用户的home下都有这个文件
sudo chmod 0755 /usr/bin/Xorg_new
sudo ln -sf Xorg_new /usr/bin/Xorg
启用systemd
最新的系统已经默认启用了,你也可以编辑看看。
sudo vim /etc/wsl.conf写入以下内容github上说: 开启systemd之后,wsl就需要执行正常的关机(shutdown now | poweroff)或者在远程桌面里点关机,然后再执行wsl --shutdown。如果直接执行wsl --shutdown可能会造成系统损坏,不过我平时一直都是wsl --shutdown也没啥问题
连接vnc后自动登录
sudo vim /etc/gdm3/custom.conf 取消下面的注释,并改成当前用户名- AutomaticLoginEnable=true
- AutomaticLogin=用户名
复制代码 当你连接vnc后,就会默认登录你填写的用户名
重启wsl
wsl --shutdown 关闭再打开
查看是否运行成功
正常来说重新启动wsl,使用ps -ef|grep vnc查看进程时有一个Xvnc的进程,使用lsof -i:5900可以看到Xvnc监听了5900端口
下载vnc客户端
我用的RealVNC Viewer, 下载地址: https://www.realvnc.com/pt/connect/download/viewer/。连接的时候地址填:127.0.0.1:5900, 密码就是vncpasswd设置的密码
上面有点花屏不知道是为什么,我每次连接都是这样。可以通过右键改几次背景之后就正常了
xrdp
xrdp的配置很简单,先安装下包sudo apt-get install xrdp -y
安装完就会创建一个自启的服务/etc/systemd/system/multi-user.target.wants/xrdp.service
因为xrdp的端口和Window本身冲突了,需要改下端口: sudo vim /etc/xrdp/xrdp.ini,我改成3399了
然后重启服务: sudo systemctl restart xrdp
这时候你可能会发现127.0.0.1:3399连接不上,但是用localhost:3399又可以连接上。原因可以看https://stackoverflow.com/a/73407304,不过用localhost也是一样的。
session选Xorg或者Xvnc都可以,用户名填wsl的用户名和密码
总结
正常情况下两个都是可以的,但是最近更新后,我发现第一种方法里运行Gparted的时候直接闪退,然后在连上去就不显示任何东西了,第二种方法如果session选的是Xorg也是这种情况,选Xvnc就正常。
不清楚是什么原因,目前先用着xrdp的Xvnc,后面看看更新会不会解决这个bug
参考
本文由博客一文多发平台 OpenWrite 发布!
来源:https://www.cnblogs.com/kanadeblisst/p/17937974
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|