WSL2-ubuntu18.04配置笔记5:基于vnc和xfce4实现远程桌面
WSL2-ubuntu18.04配置笔记
WSL2 ubuntu18.04配置-5远程桌面配置
- 为了防止因为配置桌面系统导致系统意外崩溃,首先对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
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)