远程登陆的操作有很多种,公司要求建立一个能够实时操作的远程控制图形化桌面程序,并且在同一个服务器下需要多人共同操作,同时相互之间不会影响。网上很多教程,不过都比较杂乱无章,这里我以Ubuntu18.04为例,整体步骤罗列如下,并附带一些常出现的问题和解决方法。
1、安装软件
sudo apt-get update
sudo apt-get install xfce4 xfce4-goodies
sudo apt-get install vnc4server
sudo apt-get install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal
sudo apt-get install lightdm //会出现gdm3,lightdm 两个选项,选择lightdm
2、配置防火墙
sudo ufw allow 5900
3、切换用户,前提是已经在Ubuntu中创建好了新的用户
su //进入root模式
su - user1 //切换到user1
4、创建vnc密码,两个应该都可以,作用是一样的
vncserver 或者 vnc4server
5、成功开启后,关闭vncserver服务
vncserver -kill :n ##这个n是上面创建的编号
6、修改xstartup文件的内容
sudo vi /home/user1/.vnc/xstartup
填入:
#!/bin/bash
export $(dbus-launch)
export XKL_XMODMAP_DISABLE=1
unset SESSION_MANAGER
gnome-panel &
gnome-settings-daemon &
metacity &
nautilus &
gnome-terminal &
# [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
# [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
gnome-session &
VNCSERVERS="2:root"
VNCSERVERARGS[1]="-GEOMETRY 800×600"
上面这段代码的最后两句我觉得加不加都行,感觉没必要。
7、给文件可执行权限
sudo chmod +x /home/user1/.vnc/xstartup
重新启动vncserver
vncserver :n -geometry 1280x768 -depth 24 -localhost no
n是端口号,-localhost no 是保证能够远程连接。
8、启动新配置的服务
sudo systemctl daemon-reload
9、重启vncserver(此步骤可省略)
/etc/init.d/vncserver restart //service vncserver restart
10、查看vnc状态,
ps aux | grep -i vnc
11、查看端口
netstat -lnp | grep 590
12、重复3-8步骤,可以实现Linux系统中的每个账户都可以进行vnc远程登陆。
13、点击左上角的新建连接,VNC Server:serverIP:端口号,Name随便取,点击【OK】,双击开始连接,密码就是刚才创建vncserver时的密码。(:n=:1,端口号为5900,:n=:2,端口号为5901。以此类推)
=============================================================================================
遇到的问题 :
解决方法,依次点击【控制面板】,【Windows Defender防火墙】,【高级设置】,【入站规则】,【文件和打印机共享(回显请求-ICMPv4-In)】,【启用规则】。
log日志出现以下错误
error opening security policy file /etc/X11/xserver/SecurityPolicy
Could not init font path element /usr/X11R6/lib/X11/fonts/Type1/, removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/Speedo/, removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/misc/, removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/75dpi/, removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/100dpi/, removing from list!
原因应该是字体包没有下载到原有的文件夹内,造成数据丢失。
=============================================================================================
解决方法(在root下进行):
apt-get install xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic
mkdir /usr/X11R6/lib ##如果报错,先mkdir /usr/X11R6, 再mkdir /usr/X11R6/lib
cd /usr/X11R6/lib
ln -s /usr/share/X11 X11
字体问题依然存在,不过可以正常使用了,我估摸着应该是系统版本和软件版本有些差异造成的,不影响,能用就行。
重启vncserver服务,或者系统reboot都可,最后再查看一下vnc的状态:
ps aux | grep -i vnc
==============================================================================================
如果以上操作执行完成后vnc仍然无法使用,并且确保上面的步骤没有出错。那么可以参考这篇文章,这是另一种方法,不过这种方法我没有成功,大家可以试试,并且这种方法我给大家找到了视频讲解,有兴趣可以看一看。
这个vnc我搞了两天,一些小毛病搞得我很无语,所以配置成功后进行了一番整理。不过这些都还好,最让我无语的是,我这边刚搭建好,三分钟后老板和我说这个不好用,打算用samba映射和ssh远程登陆。呵呵,wqndydcnmnghp。
共勉!!!