一.安装
以root用户运行以下命令来安装vncserver;
yum install tigervnc-server复制代码
同样运行以下命令来安装vncviewer;
yum install vnc复制代码
停止并禁用防火墙;
systemctl stop firewalld.service复制代码
systemctl disable firewalld.service复制代码
二.配置
vncviewer基本上不用配置;
vncserver的配置,创建一个新的配置文件,以开启1号窗口为例(也可以同时开启多个窗口,修改数字即可),方法如下:
cp /lib/systemd/system/vncserver@.service /lib/systemd/system/vncserver@:1.service
或者再增加一个窗口:
cp /lib/systemd/system/vncserver@.service /lib/systemd/system/vncserver@:2.service
编辑
/lib/systemd/system/vncserver@:1.service
,设置用户root相关参数,最终内容如下:
[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=/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 || :'复制代码
上述内容中最好设置为root用户,否则可能会看到以下报错:
vncserver@:1.service - Remote desktop service (VNC)
Loaded: loaded (/usr/lib/systemd/system/vncserver@:1.service; enabled)
Active: failed (Result: exit-code) since Tue 2015-04-14 10:09:24 CST; 1min 36s ago
Process: 3258 ExecStart=/sbin/runuser -l sysadmin -c /usr/bin/vncserver %i (code=exited, status=1/FAILURE)
Process: 3254 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
Apr 14 10:09:24 F1A-VMHOST-SWPE systemd[1]: Starting Remote desktop service (VNC)...
Apr 14 10:09:24 F1A-VMHOST-SWPE runuser[3258]: Password:
Apr 14 10:09:24 F1A-VMHOST-SWPE systemd[1]: vncserver@:1.service: control process exited, code=exited status=1
Apr 14 10:09:24 F1A-VMHOST-SWPE systemd[1]: Failed to start Remote desktop service (VNC).
Apr 14 10:09:24 F1A-VMHOST-SWPE systemd[1]: Unit vncserver@:1.service entered failed state.
Warning: Unit file changed on disk, 'systemctl daemon-reload' recommended.复制代码
三.应用
更新systemctl以使其生效;
systemctl daemon-reload复制代码
设置vncserver的密码;
vncpasswd root复制代码
按提示输入密码以及确认密码
启动该服务用来启用vnc的1号窗口;
systemctl start vncserver@:1.service 或者 vncserver :1复制代码
关闭1号窗口:
systemctl stop vncserver@:1.service 或者 vncserver -kill :1复制代码
设置为开机自动启动;
systemctl enable vncserver@:1.service复制代码
启动后就可以在客户端上面输入IP加刚才提到的那个编号即可登陆机器(xxx.xxx.xxx.xxx:1) 看到一个灰色的Xwindow桌面但上面什么也没有
运行过一次
VNSERVER
后会在HOME
目录下面生成一个.VNC
文件夹(在开始启动的时候可看到该文件夹的位置)注:该目录为隐藏,可直接输入路径进入。修改xstartup
文件,去掉unset SESSION_MANAGER
和exec /etc/X11/xinit/xinitrc
前面的注释符号,将最后一行twm &
改成gnome-session &
vi /root/.vnc/xstartup
#!/bin/sh # Uncomment the following two lines for normal desktop: # unset SESSION_MANAGER //此行注释去掉 # exec /etc/X11/xinit/xinitrc //此行注释去掉 [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & twm & //改成 gnome-session & //或者注释掉twm & 并且 gnome-session & 去掉注释复制代码
重新启动VNCSERVER即可
2、VNC的启动/停止/重启
#service vncserver start/stop/restart复制代码
关闭具体的vncserver命令:
vncserver -kill :1复制代码
vncserver -kill :2复制代码
遇到的错误:
执行命令:
vncpasswd复制代码
windows与Linux之间通过VNC进行连接时无法相互之间复制、粘贴;
解决方法:在Linux中执行命令
vncconfig -nowin&复制代码