Windows下使用VNC连接CentOS7远程桌面
2021-05-01 18:28
标签:windows 使用 vnc 在实际维护远程linux服务器主机时,有时候纯命令行模式可能无法满足我们的需要,这时候需要使用远程主机的GUI模式,即能看到服务器的桌面,一般会使用两种方式:Xmanager或者VNC。我一开始使用的是Xmanager,版本是Xmanager5 Enterprise,但是在连接服务器时,可以连接上(已经看到主机名),却无法打开桌面,折腾了很久终于放弃,选择了VNC,相比之下方便很多。下面就自己的实践经验小结下,需要的朋友可以看看。 VNC分为服务端和客户端,linux服务器主机需要安装vncserver,centos7下一般使用tigervnc。 安装完毕后需要配置。 进入目录 我们会看到有个service叫做vncserver@.service,这就是我们需要的vnc服务。但是需要对它进行配置才可以使用。假设我们当前为root用户配置远程桌面,配置流程如下: 首先,复制该service,命名为vncserver@:1.service, 然后修改vncserver@:1.service 看到如下文本: [Unit] [Service] [Install] 这里需要且只需要做一种替换:将替换为需要配置的用户。注意因为root的home目录就是/root/,而不是/home/root/,所以替换后文本如下: [Unit] [Service] [Install] 如果是非root用户,例如用户admin,PIDFile处应该是: ExecStart=/sbin/runuser -l admin -c “/usr/bin/vncserver %i ” 最后Esc+:wq保存退出。 在刚才的配置文件中,有这样一段说明: # Quick HowTo: 即配置完后,还需执行 然后开启vnc服务 查看启动是否成功 如果现实active即表示开启成功。下面设置下vnc连接密码, 提示输入密码并确认,这是供远程连接时验证用的,自己设置一下即可。配置好以后可以重启下vnc服务 vnc服务虽然开启了,但是如果远程客户端需要连接,还需要为防火墙增加配置以开放端口。一般vnc服务是以590+x作为访问端口,x为配置的service@:x,例如此处的vncserver@:1.service,则端口是5901。 在 -A INPUT -p tcp -m state –state NEW -m tcp –dport 22 -j ACCEPT 下方添加配置 -A INPUT -p tcp -m state –state NEW -m tcp –dport 5901 -j ACCEPT 然后保存退出,重启防火墙。到这里基本的vnc服务端配置就结束了。 配置好了服务端的vnc服务后,远程就可以连接了。这里使用的是win7下连接,客户端使用的是tigervnc-1.5.0,百度下一般都有,下载后直接安装,安装过程中可以去掉作为服务端的勾选,不过没关系。之后进入安装目录,找到vncviewer.exe,双击执行,输入ip和端口号,点击connection即可,然后按照提示输入之前配置的访问密码,回车,即可看到远程的linux主机桌面。 有时候我们可能需要不止一个用户的桌面环境,比如我在远程安装oracle时,还需要一个oracle用户的桌面环境,而之前仅仅配置了root用户的,下面介绍下配置多用户的vncserver。配置思路很简单,就是配置多个vncserver@:n.service。 假设我们的用户已经建立好,这里以admin为例。首先以root用户登录,在 目录下,和前述一样,拷贝配置文件,不过这里不是:1,而是:2,数字可以自己设置,一般递增。 然后修改vncserver@:2.service 修改配置 [Unit] [Service] [Install] 保存退出。然后按照配置文件提示,执行 执行完毕后,切换到admin账户,执行 会要求输入验证密码 You will require a password to access your desktops. Password: New ‘localhost.localdomain:2 (admin)’ desktop is localhost.localdomain:2 Creating default startup script /home/admin/.vnc/xstartup 之后切换回root,执行 这时候提示启动不成功,执行命令 提示已经有一个vncserver as :2 running了,这时候我们先要杀掉这个进程,执行命令 但一般没有用,那么我们 查看vncserver :2的进程id,如pid为1311,则执行 然后再执行 还是报错,查看日志, 提示需要删除/tmp/.X2-lock 再次启动 还是报错,查看日志,提示需要删除/tmp/.X11-unix/X2 再次启动 终于不报错了,然后查看状态 发现已经启动,则完成。之后注意不要忘了如前述配置防火墙。 到此为止就结束了所有的配置,在实际启动过程中可能会遇到各种各样的问题,大家只要静下心来查看日志,一般都能解决。有错误的地方,还望指正。 本文出自 “爱生活的小白” 博客,请务必保留此出处http://sf1314.blog.51cto.com/13295031/1978749 Windows下使用VNC连接CentOS7远程桌面 标签:windows 使用 vnc 原文地址:http://sf1314.blog.51cto.com/13295031/1978749
说明下我这里CentOS主机已经安装了Gohome桌面,没有安装的请安装一个gui桌面。一、Linux主机安装VNC服务
1、安装vnc-server
root下执行命令:#yum install -y tigervnc-server1
2、配置vnc-server
#cd /lib/systemd/system#ls12
#cp vncserver@.service vncserver@:1.service1
#vi vncserver@:1.service1
Description=Remote desktop service (VNC)
After=syslog.target network.target
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 -c “/usr/bin/vncserver %i ”
PIDFile=/home//.vnc/%H%i.pid
ExecStop=/bin/sh -c ‘/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :’
WantedBy=multi-user.target
Description=Remote desktop service (VNC)
After=syslog.target network.target
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 || :’
WantedBy=multi-user.target
PIDFile=/home/admin/.vnc/%H%i.pid3、启动vnc-server
# 1. Copy this file to /etc/systemd/system/vncserver@:.service
# 2. Edit and vncserver parameters appropriately
# (“runuser -l -c /usr/bin/vncserver %i -arg1 -arg2”)
# 3. Run systemctl daemon-reload
# 4. Run `systemctl enable vncserver@:.service#systemctl daemon-reload#systemctl enable vncserver@:1.service12
#systemctl start vncserver@:1.service1
#systemctl status vncserver@:1.service1
执行#vncpassword1
#systemctl restart vncserver@:1.service1
4、配置防火墙
执行命令#vi /etc/sysconfig/iptables1
二、客户端远程连接
三、开启多个vncserver
1、复制vncserver@.service
#cd /lib/systemd/system1
#cp vncserver@.service vncserver@:2.service1
#vi vncserver@:2.service1
Description=Remote desktop service (VNC)
After=syslog.target network.target
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 admin -c “/usr/bin/vncserver %i ”
PIDFile=/home/admin/.vnc/%H%i.pid
ExecStop=/bin/sh -c ‘/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :’
WantedBy=multi-user.target#systemctl daemon-reload#systemctl enable vncserver@:2.service12
2、修改vnc登录验证密码
$vncserver :21
Verify:
xauth: file /home/admin/.Xauthority does not exist
Starting applications specified in /home/admin/.vnc/xstartup
Log file is /home/admin/.vnc/localhost.localdomain:2.log3、启动服务
#systemctl deamon-reload#systemctl start vncserver@:2.service12
#vncserver :21
#vncserver -kill :21
# ps -ef | grep vnc1
#kill -9 13111
#systemctl start vncserver@:2.service1
#journalctl -xn1
执行#rm /tmp/.X2-lock1
#systemctl start vncserver@:2.service1
执行#rm /tmp/.X11-unix/X21
#systemctl start vncserver@:2.service1
#systemctl status vncserver@:2.service1
下一篇:使用原生js仿写win10时钟
文章标题:Windows下使用VNC连接CentOS7远程桌面
文章链接:http://soscw.com/index.php/essay/80981.html