- 安装vncserver和GNOME
yum install -y tigervnc tigervnc-server
yum groupinstall -y "GNOME Desktop"
- 获取配置文件模板
vncserver
设置密码,然后会创建以下文件
.......
Creating default startup script /root/.vnc/xstartup
Creating default config /root/.vnc/config
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/localhost:1.log
.......
- xstartup文件供启动虚拟会话时使用,是一个shell文件,配置启动会话时桌面环境或窗口管理器,如下:
#!/bin/sh
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
#exec /etc/X11/xinit/xinitrc
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80×24+10+10 -ls -title “$VNCDESKTOP Desktop” &
gnome-session gnome
- config文件中的配置可在vncserver命令参数中指定,如
vncserver -geometry 1024x768
- passwd为存储密码的文件,可以使用vncpasswd [密码文件] 进行密码更改
- log中记录了登录日志
- 配置systemd
cp /usr/lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
vnc每个会话使用一个端口,编号默认从:1开始,对应端口为5901,以此类推。vncserver@:1代表启动5901的会话。
该文件开头就说明了快速创建配置文件的方法
#Quick HowTo:
#1. Copy this file to /etc/systemd/system/vncserver@.service
#2. Replace <USER> with the actual user name and edit vncserver
# parameters appropriately
# (ExecStart=/usr/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i"
# PIDFile=/home/<USER>/.vnc/%H%i.pid)
#3. Run `systemctl daemon-reload`
#4. Run `systemctl enable vncserver@:<display>.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 <USER> -c "/usr/bin/vncserver %i"
PIDFile=/home/<USER>/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
[Install]
WantedBy=multi-user.target
- vnc管理
- 当前启动的会话
vncserver -list
TigerVNC server sessions:
X DISPLAY # PROCESS ID
:2 4332
- 杀掉第n个x-display
vncserver -kill :n
- 启动会话,每个会话使用一个端口,编号默认从:1开始,对应端口为5901,以此类推。
vncserver #如果没有会话,一般从:1开始 端口5901
vncserver :2 #指定会话为:2 端口5902
- vncconfig
控制vnc的工具,在服务端执行vncconfig可以打开一个图形窗口,可在其中勾选激活客户端和服务端之间剪切版同步等功能。
nohup vncconfig &