Windows下使用VNC连接CentOS7远程桌面

在实际维护远程linux服务器主机时,有时候纯命令行模式可能无法满足我们的需要,这时候需要使用远程主机的GUI模式,即能看到服务器的桌面,一般会使用两种方式:Xmanager或者VNC。我一开始使用的是Xmanager,版本是Xmanager5 Enterprise,但是在连接服务器时,可以连接上(已经看到主机名),却无法打开桌面,折腾了很久终于放弃,选择了VNC,相比之下方便很多。下面就自己的实践经验小结下,需要的朋友可以看看。

说明下我这里CentOS主机已经安装了Gohome桌面,没有安装的请安装一个gui桌面。

一、Linux主机安装VNC服务

1、安装vnc-server

VNC分为服务端和客户端,linux服务器主机需要安装vncserver,centos7下一般使用tigervnc。

root下执行命令:

#yum install -y tigervnc-server

安装完毕后需要配置。

2、配置vnc-server

进入目录

#cd /lib/systemd/system
#ls

我们会看到有个service叫做[email protected],这就是我们需要的vnc服务。但是需要对它进行配置才可以使用。假设我们当前为root用户配置远程桌面,配置流程如下:

首先,复制该service,命名为[email protected]:1.service,

#cp vncserver@.service [email protected]:1.service

然后修改[email protected]:1.service

#vi vncserver@:1.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 < 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

这里需要且只需要做一种替换:将< User>替换为需要配置的用户。注意因为root的home目录就是/root/,而不是/home/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 || :’

[Install]

WantedBy=multi-user.target

如果是非root用户,例如用户admin,PIDFile处应该是:

ExecStart=/sbin/runuser -l admin -c “/usr/bin/vncserver %i ”

PIDFile=/home/admin/.vnc/%H%i.pid

最后Esc+:wq保存退出。

3、启动vnc-server

在刚才的配置文件中,有这样一段说明:

# Quick HowTo:

# 1. Copy this file to /etc/systemd/system/[email protected]:.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 [email protected]:.service

即配置完后,还需执行

#systemctl daemon-reload
#systemctl enable [email protected]:1.service

然后开启vnc服务

#systemctl start vncserver@:1.service

查看启动是否成功

#systemctl status vncserver@:1.service

如果现实active即表示开启成功。下面设置下vnc连接密码,

执行

#vncpassword

提示输入密码并确认,这是供远程连接时验证用的,自己设置一下即可。配置好以后可以重启下vnc服务

#systemctl restart vncserver@:1.service

4、配置防火墙

vnc服务虽然开启了,但是如果远程客户端需要连接,还需要为防火墙增加配置以开放端口。一般vnc服务是以590+x作为访问端口,x为配置的[email protected]:x,例如此处的[email protected]:1.service,则端口是5901。

执行命令

#vi /etc/sysconfig/iptables

-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主机桌面。

三、开启多个vncserver

有时候我们可能需要不止一个用户的桌面环境,比如我在远程安装oracle时,还需要一个oracle用户的桌面环境,而之前仅仅配置了root用户的,下面介绍下配置多用户的vncserver。配置思路很简单,就是配置多个[email protected]:n.service。

1、复制[email protected]

假设我们的用户已经建立好,这里以admin为例。首先以root用户登录,在

#cd /lib/systemd/system

目录下,和前述一样,拷贝配置文件,不过这里不是:1,而是:2,数字可以自己设置,一般递增。

#cp vncserver@.service [email protected]:2.service

然后修改[email protected]:2.service

#vi vncserver@:2.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 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 || :’

[Install]

WantedBy=multi-user.target

保存退出。然后按照配置文件提示,执行

#systemctl daemon-reload
#systemctl enable [email protected]:2.service

2、修改vnc登录验证密码

执行完毕后,切换到admin账户,执行

$vncserver :2

会要求输入验证密码

You will require a password to access your desktops.

Password:

Verify:

xauth: file /home/admin/.Xauthority does not exist

New ‘localhost.localdomain:2 (admin)’ desktop is localhost.localdomain:2

Creating default startup script /home/admin/.vnc/xstartup

Starting applications specified in /home/admin/.vnc/xstartup

Log file is /home/admin/.vnc/localhost.localdomain:2.log

3、启动服务

之后切换回root,执行

#systemctl deamon-reload
#systemctl start [email protected]:2.service

这时候提示启动不成功,执行命令

#vncserver :2

提示已经有一个vncserver as :2 running了,这时候我们先要杀掉这个进程,执行命令

#vncserver -kill :2

但一般没有用,那么我们

# ps -ef | grep vnc

查看vncserver :2的进程id,如pid为1311,则执行

#kill -9 1311

然后再执行

#systemctl start vncserver@:2.service

还是报错,查看日志,

#journalctl -xn

提示需要删除/tmp/.X2-lock

执行

#rm /tmp/.X2-lock

再次启动

#systemctl start vncserver@:2.service

还是报错,查看日志,提示需要删除/tmp/.X11-unix/X2

执行

#rm /tmp/.X11-unix/X2

再次启动

#systemctl start vncserver@:2.service

终于不报错了,然后查看状态

#systemctl status vncserver@:2.service

发现已经启动,则完成。之后注意不要忘了如前述配置防火墙。

到此为止就结束了所有的配置,在实际启动过程中可能会遇到各种各样的问题,大家只要静下心来查看日志,一般都能解决。有错误的地方,还望指正。

最后推荐一篇不错的文章:CentOS7安装配置VNC

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-12-11 14:04:12

Windows下使用VNC连接CentOS7远程桌面的相关文章

Win10使用VNC连接Centos7远程桌面

一.安装VNC Viewer 1.首先win10下载安装VNC VIEWER 或者直接下载绿色版 2.linux系统安装vnc: 检查linux是否安装vnc:rpm -q tigervnc tigervnc-server 3.以root用户运行以下命令来安装vncserver; #yum install tigervnc-server 同样运行以下命令来安装vncviewer; #yum install vnc 4.配置VNC-Server 进入目录: #cd /lib/systemd/sys

windows下通过VNC客户端软件远程连接Ubuntu14.04的桌面共享服务vino

http://www.ubuntukylin.com/ukylin/forum.php?mod=viewthread&tid=8631 https://bugs.launchpad.net/ubuntu/+source/vino/+bug/1290666 解决方案如下: 1.安装dconf-editor sudo apt-get install dconf-editor 2.用Dconf-editor调整,并访问如下配置路径 org > gnome > desktop > app

windows下使用vnc viewer远程连接Linux桌面

在windows下使用vnc viewer远程连接Linux桌面,主要配置步骤: Linux: 1.rpm -qa vnc //查看是否安装vnc服务,如果没有安装,可以使用yum,或者rpm进行安装 2.修改配置文件: vim /etc/sysconfig/vncservers,如下图修改 3.设置vnc密码: vncpasswd 4.启动vncserver: service vncserver start 5.更改xstartup配置: vim /root/.vnc/xstartup,如下图

VNC轻松连接Linux远程桌面

VNC连接Linux桌面,要想连接Linux远程桌面,按照下面的步骤,非常简单.快速,Linux配置VNC(以RedHat.CentOS.Fedora系列为例). Linux平台安装VNCServer Windows平台使用VNC-Viewer 方法/步骤 1.在Linux平台安装VNCServer服务端软件包. #yum -y install vnc *vnc-server* 2.修改VNCServer主配置文件 #vim /etc/sysconfig/vncservers 复制最后两行并去掉

2.5 VNC轻松连接Linux远程桌面

VNC连接Linux桌面,要想连接Linux远程桌面,按照下面的步骤,非常简单.快速,Linux配置VNC(以RedHat.CentOS.Fedora系列为例). Linux平台安装VNCServer Windows平台使用VNC-Viewer 方法/步骤 1.在Linux平台安装VNCServer服务端软件包. #yum -y install vnc *vnc-server* 2.修改VNCServer主配置文件 #vim /etc/sysconfig/vncservers 复制最后两行并去掉

windows下通过VNC图形化访问Ubuntu桌面环境

要在windows下图形化访问Ubuntu或其它Linux系统桌面环境有很多方法,我比较喜欢的是使用VNC服务,需要在Ubuntu下安装vncserver和在windows下安装客户端访问工具. 1. windows下客户端访问工具 对于VNC,客户端访问工具也有不少,比如RealVNC.VNCViewer等,我比较喜欢的是VNCViewer,比较小巧轻量级,使用也十分简单,如下图所示: 后面的:1是分配的桌面号,可以给不同的客户端分配不同的桌面号访问,如果是默认端口这样输入就可以了,如果设置了

linux系统下,11款常见远程桌面控制软件

linux系统下,11款常见远程桌面控制软件 一. Grdc 它是一个用GTK+编写的,适用于gnome桌面环境的远程桌面访问软件.看图: 常见功能: 1.提供全屏,窗口化的远程控制.支持高分辨率下的窗口显示以及调整. 2.可浮动的工具栏 3.可抓取键盘 4.支持建立一个“常用访问列表” 5.连接快速,高效 6.全屏模式下,当鼠标划过屏幕边缘时自动滚动 7.全屏模式下工具栏同样支持浮动效果,可直接进行例如模式切换,键盘抓取最小化等常见操作. 8. rdesktop 支持RDP协议, 9. 支持

window用Xmanager4.0的Xstart连接linux远程桌面

安装包: xorg-x11-xauth xterm.x86_64 0:253-1.el6 Execute command path:/usr/bin/xterm Xstart连接Linux远程桌面有一个好处,服务器端不用做什么设置,开启SSH即可. 服务器要有桌面环境,和X Window 用XDMCP连接,服务器端得做一些配置,麻烦. 菜单 Xmanager Enterprise 4 -- Xbrowser 新建一个Xstart会话 协议选ssh, 执行命令 点击后面的按钮选GNOME 建好后打

windows上通过vnc连接虚拟机中linux系统

首先要在虚拟机中安装vnc. 虚拟机的设置中要启用VNC连接. 然后输入指令 vncserver,可以看到有一个序号. 接着在windows下打开vnc软件 这边输入IP,试了很多次都显示the connection was refused by the host computer.无法连接. 此时在IP后面加了端口号,端口号为上图中设置的5900,依然无法连接 正确的写法是IP加端口号,但是这边的端口号不是设置的5900,而是在5900基础上加上虚拟机中的VNC序号,如第一张图中显示的1.正确