1. centos 7安装tigervnc server
本文介绍如何在centos 7上安装vnc server,以便远程访问。本文参照了digitalocean的教程,加入了一些安装经验。
2. 安装tigervnc server
建议使用非root用户安装,-y
代表直接安装
sudo yum install -y tigervnc-server
3. 配置vnc service
以下方法是新方法,以前是要配置/etc/sysconfig/vncservers
,现在第一步是将默认提供的文件复制到/etc/systemd/system
命令如下:
sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
接下来修改该配置文件
sudo vim /etc/systemd/system/vncserver@:1.service
将其中<user>
替换为你想要的用户名,我这里是oracle
,添加设置分辨率的参数-geometry 1280x720
所有内容如下:
# the vncserver service unit file # # quick howto: # 1. copy this file to /etc/systemd/system/vncserver@:<display>.service # 2. edit <user> and vncserver parameters appropriately # ("runuser -l <user> -c /usr/bin/vncserver %i -arg1 -arg2") # 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=/sbin/runuser -l oracle -c "/usr/bin/vncserver %i -geometry 1280x720" pidfile=/home/oracle/.vnc/%h%i.pid execstop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' [install] wantedby=multi-user.target
保存文件并退出vim,重新加载配置
sudo systemctl daemon-reload
也可以设置成开机启动
sudo systemctl enable vncserver@:1.service
4. 修改防火墙
首先判断firewalld
是否启动,输入以下命令判断
sudo firewall-cmd --state
如果启动应该输出
running
如果是not running
,执行下面命令
sudo systemctl start firewalld
添加端口号5901-5905
sudo firewall-cmd --permanent --zone=public --add-port=5901-5905/tcp
重新加载防火墙
sudo firewall-cmd --reload
可以使用下面命令查看端口号是否被加入
firewall-cmd --list-all-zones
5. 设置vnc密码
通过ssh,用oracle用户名登录到服务器,执行下面命令
vncserver
终端会提示你输入密码,如下
you will require a password to access your desktops.
password:
verify:
xauth: file /home/oracle/.xauthority does not existnew 'localhost.localdomain:1 (oracle)' desktop is localhost.localdomain:1
creating default startup script /home/oracle/.vnc/xstartup
starting applications specified in /home/oracle/.vnc/xstartup
log file is /home/oracle/.vnc/localhost.localdomain:1.log
如果想修改密码,可以使用vncpasswd
。
现在已经有一个vnc服务在运行了,但我们需要使用刚刚配置的服务来启动,所以我们需要先杀死刚刚的vnc服务,使用下面命令。
vncserver -kill :1
接下来,重启我们配置的服务
sudo systemctl daemon-reload sudo systemctl restart vncserver@:1.service
使用下面命令查看该服务是否正确运行
sudo systemctl status vncserver@:1.service -l
如果正确启动,输出应为
● vncserver@:2.service - remote desktop service (vnc)
loaded: loaded (/etc/systemd/system/vncserver@:2.service; enabled; vendor preset: disabled)
active: active (running) since 日 2017-07-23 21:55:35 cst; 12h ago
process: 8720 execstart=/usr/sbin/runuser -l oracle -c /usr/bin/vncserver %i -geometry 1280x720 (code=exited, status=0/success)
process: 8716 execstartpre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/success)
main pid: 8744 (xvnc)
cgroup: /system.slice/system-vncserver.slice/vncserver@:2.service
‣ 8744 /usr/bin/xvnc :2 -desktop 127.0.0.1:2 (oracle) -auth /home/oracle/.xauthority -geometry 1280x720 -rfbwait 30000 -rfbauth /home/oracle/.vnc/passwd -rfbport 5902 -fp catalogue:/etc/x11/fontpath.d -pn7月 23 21:55:32 127.0.0.1 systemd[1]: starting remote desktop service (vnc)...
7月 23 21:55:35 127.0.0.1 systemd[1]: started remote desktop service (vnc).
如果想配置多用户同时访问,需要将上面vncserver@:1.service
,改为vncserver@:2.service
,然后配置其中用户名、分辨率参数,再按我的步骤走一遍就可以了
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论