一.安装vncserver服务包
rpm -ivh tigervnc-server-1.3.1-9.ky3.kb1.x86_64.rpm
二.远程root用户操作步骤:
1.cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
2.在/etc/systemd/system/vncserver@:1.service中修改如下:
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
#Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c ‘/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :’
ExecStart=/usr/sbin/runuser -l root -c “/usr/bin/vncserver %i” #注意标红位置
PIDFile=/root/.vnc/%H%i.pid #注意标红位置
ExecStop=/bin/sh -c ‘/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :’
[Install]
WantedBy=multi-user.target
3.配置完该文件后,先使用vncpasswd命令生成远程连接的密码,可以直接vncserver(然后启动syst/emctl start vncserver@:1.service服务(报错不用管),会在root的家目录生成一个xstartup文件)。在/root/.vnc/xstartup文件中修改如下:
[root@localhost .vnc]# cat xstartup
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
#exec /etc/X11/xinit/xinitrc
mate-session & //添加该行,注释上行(连接时直接打开图形化)
4.不用重启(重启vncserver@:1.service服务
systemctl restart vncserver@:1.service )
三.远程普通用户(test)操作步骤
1.cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:2.service
2.在/etc/systemd/system/vncserver@:2.service中修改如下:
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
#Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c ‘/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :’
ExecStart=/usr/sbin/runuser -l test -c “/usr/bin/vncserver %i” //该行root改成test
PIDFile=/home/test/.vnc/%H%i.pid //该行root家目录改成test的家目录
ExecStop=/bin/sh -c ‘/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :’
[Install]
WantedBy=multi-user.target
3.配置完该文件后,su切换到test用户,在test用户下使用vncpasswd命令生成远程连接test的密码,然后启动vncserver@:2.service服务,会在该用户家目录生成一个xstartup文件。
在/home/test/.vnc/xstartup文件中修改如下:
[root@localhost .vnc]# cat xstartup
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
#exec /etc/X11/xinit/xinitrc
mate-session & //添加该行,注释上行
4.重启vncserver@:1.service服务
systemctl restart vncserver@:2.service
五.遇到的问题
1.若是对/etc/systemd/system/vncserver@:1.service该文件进行了修改,需要先执行如下命令
2.ls,再重启服务。
systemctl daemon-reload
3.有时候会因为多次启动服务导致不停的开启进程,vnc进程的端口号也一直在增加,建议启动完成之后使用“ps -ef |grep vnc”查看服务启动情况,这个现象需要注意,因为端口号和你文件名上的数字没有关系。
4.发现一种特殊的现象,使用systemctl start vncserver@:1.service,启动会报错,显示服务没有起来,但是使用ps命令查看vnc进程在,使用vncviewer可以正常连接上对应的端口。后来发现把Type=forking改成了Type=simple,重启服务就没有报错了。
5.如果遇到打开画面一直是火狐浏览器,点击火狐浏览器的页面叉掉(不是关闭全部的那儿,是单个页面的那个×)。
6.如果进去的画面是灰色,没有图形或者命令行显示,退出来,vncserver -kill掉当前在用,然后vncserver重新启动服务即可。
#vncpasswd
#vncserver -list
#vncserver -kill 连接名
#systemctl daemon-reload
#systemctl start vncserver-root@:3.service
#systemctl enable vncserver-root@:3.service