• 为了防止因为配置桌面系统导致系统意外崩溃,首先对WSL系统进行备份,然后再进行配置

1. 系统备份

1.1 首先彻底关闭退出WSL2 ubuntu系统 ,在powshell中运行

  • 查看正在WSL发行版本
wsl --list --verbose
NAME                   STATE           VERSION
* docker-desktop-data    Running         2
  docker-desktop         Running         2
  Ubuntu-18.04           Running         2
  • 关闭所有版本
wsl --shutdown
wsl --list--verbose

可以看到所有的版本都已经关闭

 NAME                   STATE           VERSION
* docker-desktop-data    Stopped         2
  docker-desktop         Stopped         2
  Ubuntu-18.04           Stopped         2

1.2 打包备份系统

在powshell中操作
wsl --export

  • 查看现有的ubuntu
wsl -l -v 
  NAME                   STATE           VERSION
* docker-desktop-data    Stopped         2
  docker-desktop         Stopped         2
  Ubuntu-18.04           Stopped         2
  • 打包Ubuntu-18.04到其他目录

wsl --export Ubuntu-18.04 G:\WSL2\system1.0_before_desktop\Ubuntu-18.04.1.0.tar

2.0 安装tightvncserver和xfce4

apt-get install tigervnc xfce4

3.0 配置xstartup

vi /root/.vnc/xstartup
#!/bin/sh
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# unset DBUS_SESSION_BUS_ADDRESS
# exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
startxfce4 &
xsetroot -solid grey
#autocutsel -fork
vncconfig -iconic &
vncconfig -nowin&
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
# x-window-manager &
x-session-manager &
xfdesktop & xfce4-panel &
xfce4-menu-plugin &
xfsettingsd &
xfconfd &
xfwm4 &

4 启动vnc服务

vncserver :1 -geometry 1920x1440 --localhost no

可以看到vnc服务已经启动,屏幕编号为1,对应的端口号为5901

New 'X' desktop is LC-MS:1

Starting applications specified in /etc/X11/Xvnc-session
Log file is /root/.vnc/LC-MS:1.log

初次使用会要求设置密码
会询问是否设置为view-only。选择否,否则远程桌面只能看。不能操作,后续也可以通过vncpasswd命令更改
在这里插入图片描述

5.连接vnc服务

5.1 局域网内连接

5.1.1 查看ip地址

ifconfig

可以看到ip地址是 172.24.183.30

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.24.183.30  netmask 255.255.240.0  broadcast 172.24.191.255
        inet6 fe80::215:5dff:fe1b:8f42  prefixlen 64  scopeid 0x20<link>
        ether 00:15:5d:1b:8f:42  txqueuelen 1000  (Ethernet)
        RX packets 4379984  bytes 945201387 (945.2 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5983406  bytes 6239649689 (6.2 GB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 1540571  bytes 280724970 (280.7 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1540571  bytes 280724970 (280.7 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

5.1.2 windows客户端下载vncviewer

链接:https://pan.baidu.com/s/10gHannk5dlg8Wj2VO3Mtzw?pwd=h7fl
提取码:h7fl
–来自百度网盘超级会员V4的分享

也可以自行百度下载,下载后可以直接运行

5.1.3 连接vnc远程桌面

输入ip地址和端口号即可
在这里插入图片描述
接下来输入vnc密码
在这里插入图片描述
连接成功
在这里插入图片描述

6.局域网连接

在上一步中确定局域网ip172.24.183.30以及vnc端口为5901后,进行内网穿透即可,操作步骤与
WSL2 ubuntu18.04配置-3内网穿透实现不同局域网下远程登陆
中的教程完全一样,只是将内网端口改为5901即可

6 tips

6.1 端口占用

有时由于开启端口忘记关闭,会出现端口占用情况
比如我刚刚已经通过
vncserver :1 -geometry 1920x1440
将编号设置为1,因此不能重复开启
A VNC server is already running as :1
在这里插入图片描述

6.1.1 第一种选择,关闭端口

vncserver -kill :1

6.1.2 第二种选择,查看端口,并通过kill关闭进程

netstat -anp |grep tcp

可以看到5901的PID为15836

tcp        0      0 0.0.0.0:6001            0.0.0.0:*               LISTEN      15836/Xtightvnc
tcp        0      0 0.0.0.0:8787            0.0.0.0:*               LISTEN      4332/rserver
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      7554/sshd
tcp        0      0 0.0.0.0:5901            0.0.0.0:*               LISTEN      15836/Xtightvnc
tcp        0      0 172.24.183.30:5901      172.24.176.1:53868      ESTABLISHED 15836/Xtightvn

kill即可

kill 15836

6.1.3 不理会,开启新的端口(不推荐,端口不用时及时关掉)

该方法可以用来开启多个vnc
此时开启的vnc编号为2 则对应的连接端口为5902

vncserver :2 -geometry 1920x1440 --localhost no

7. 启动dbus服务

不启动dbus服务的会导致软件管理中心报错,至于会不会有其他的影响就不知道了

service dbus start

8. 安装中文字体

在连接远程桌面后依次打开application -> settings -> language support/region & language
此时会提示更新语言包,更新之后再安装中文字体即可
在更新之前要先运行

apt-get update

接下来安装ibus语言框架

apt-get install ibus ibus-clutter ibus-gtk ibus-gtk3 ibus-qt4

安装pinyin输入法

apt-get install ibus-pinyin

安装完成后就可以在application->settings->ibus preference里面打开ibus,会提示没有运行ibus框架,点确定运行就可以
打开ibus,添加中文输入法即可。
在这里插入图片描述

9. 配置完的桌面

在这里插入图片描述
现在再配合内网转发工具将桌面ip和端口映射至公网之后就可以实现跨局域网连接了

10. 养成好习惯,配置不容易,赶快备份

powershell中

wsl --shutdown
wsl --export Ubuntu-18.04 G:\WSL2\sytem2.0_xfce4_rstudioserver_frpc_ssh\Ubuntu-18.04.2.0.tar
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐