centos 7.4 tigervnc 的配置及使用

centos 7.4 tigervnc 的配置及使用

yum search tigervnc    #搜索 vnc 软件
yum -y install tigervnc-server    #安装 vnc server
yum remove tigervnc    #卸载 vnc
rpm -qa |grep tigervnc    #查看是否安装成功

cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service

##设置 root 用户的vnc 文件,PIDFile 设置成 root 的根目录
#root 用户,PIDFile 设置成 root 的根目录
sudo sed -i "s#ExecStart=/usr/sbin/runuser -l <USER>#ExecStart=/usr/sbin/runuser -l root#g" /etc/systemd/system/vncserver@:1.service
sudo sed -i "s#PIDFile=/home/<USER>#PIDFile=/root#g" /etc/systemd/system/vncserver@:1.service

或者将 /etc/systemd/system/vncserver@\:1.service 文件中的 <USER> 更换成指定的用户(如下更换成 root):
ExecStart=/usr/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
PIDFile=/home/<USER>/.vnc/%H%i.pid

更换成:
ExecStart=/usr/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid

#配置密码(此密码和系统密码可以不一样)
vncpasswd 
Password:
Verify:
Would you like to enter a view-only password (y/n)? n        #提示是否设置一个只读账号,选择 n

systemctl daemon-reload    #加载进程(很重要,必须要做)

systemctl restart vncserver@:1.service    #启动 vncserver@:1.service
systemctl enable vncserver@:1.service    #开机启动

cat /root/.vnc/*.log    #可以查看当前用户对应的端口

firewall-cmd --permanent --add-service=vnc-server    添加防火墙
firewall-cmd --reload

#vncserver@:1.service 默认从 5901 开始

#连接 vnc server 的方式需要加端口号 10.0.13.200::5901

Ctrl + Alt + Shift + F    #退出全屏

vncserver -list    #查看现在vnc session 的连接情况
:1        8243        #:1 对应着 vncserver@:1.service  中的用户

vncserver -kill :1    #kill 掉进程 :1


#其他用户 PIDFile 设置在 /home 目录中
cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@\:2.service
sudo sed -i "s#ExecStart=/usr/sbin/runuser -l <USER>#ExecStart=/usr/sbin/runuser -l merit#g" /etc/systemd/system/vncserver@:2.service
sudo sed -i "s#PIDFile=/home/<USER>#PIDFile=/home/merit#g" /etc/systemd/system/vncserver@:2.service
vncpasswd    #注意切换到 merit 用户,设置 vnc 密码,不然查看系统日志报如下错误:tail -f /var/log/messages
    Jan  8 16:32:12 ftp systemd: vncserver@:2.service: control process exited, code=exited status=1
    Jan  8 16:32:12 ftp runuser: Password:

systemctl daemon-reload 
systemctl restart vncserver@:2.service


#其他注意
rm -rf /tmp/.X11-unix/*        #删除 vnc 连接的缓存文件
vncserver -geometry 800x600    #设置分辨率

New 'erp-ora:2 (root)' desktop is erp-ora:2

Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/erp-ora:2.log

tail -f /var/log/message     #系统启动后的信息和错误日志

启动服务报错的处理办法:
systemctl restart vncserver@:1.service
Job for vncserver@:1.service failed because the control process exited with error code. See "systemctl status vncserver@:1.service" and "journalctl -xe" for details.
处理方法1:
rm -rf /tmp/.X11-unix/*

普通用户的ExecStart不同于root,加/sbin/runuser则会在启动服务时报以下错误
Job for vncserver@:2.service failed because the control process exited with error code. See "systemctl status vncserver@:2.service" and "journalctl -xe" for details.

1. 设置的密码会被加密保存在用户主目录下的.vnc子目录(/root/.vnc/passwd)目录中;同时在用户主目录下的.vnc子目录中为用户自动建立xstartup配置文件

  (/root/.vnc/xstartup),在每次启动VND服务时,都会读取该文件中的配置信息。

    /root/.vnc/目录下还有一个“testdb:1.pid”文件,这个文件记录着启动VNC后对应后天操作系统的进程号,用于停止VNC服务时准确定位进程号。

    以上是常规的配置,我有次装完后在上面目录找不到,实际上xstartup在/etc/vnc目录。可以通过locate搜索命名查找指定文件。

2. 若VNC非正常关闭,会导致当前非正常关闭的端口一直被占用(上面提到的.pid文件)。必须手动清楚相关文件,文件一般在/tmp 和 /tmp/.X11-unix/ 目录中。

    例如:/tmp/.X1-lock 和 /tmp/.X11-unix/X1

    如果记不住,我们可以通过启动命令:vncserver :1 ,指定启动端口。报错信息中会指明加锁文件所在位置。
 

猜你喜欢

转载自blog.csdn.net/yaoshixian/article/details/86084739