700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 阿里云服务器CentOS 7.3 64位 搭建VNC远程桌面服务步骤与方法

阿里云服务器CentOS 7.3 64位 搭建VNC远程桌面服务步骤与方法

时间:2022-08-13 06:28:16

相关推荐

阿里云服务器CentOS 7.3 64位 搭建VNC远程桌面服务步骤与方法

一、图形界面安装(MATE DESKTOP)

CentOS 7 系统下,本文以 MATE 桌面环境安装进行安装配置说明:

登录服务器,执行如下指令安装桌面环境:

# 先安装 MATE Desktopyum groups install "MATE Desktop"

命令输入之后,会列出一大堆文字的,然后显示这个y/d/n,输入y,按回车下载安装,安装完成,显示complete.

(以下X Window System安装非必要)

# 安装好 MATE Desktop 后,再安装 X Window System。yum groups install "X Window System"

命令输入之后,会列出一大堆文字的,然后显示这个y/d/n,输入y,按回车下载安装,安装完成.

设置默认通过桌面环境启动服务器:

systemctl set-default graphical.target

安装完成后,通过 reboot 等指令重启服务器,或者在 ECS 服务器控制台重启服务器,重启后系统将自动进入图形界面.

二、安装并设置vncserver

1、假定你的系统没有安装vnc的任何软件,那么,首先安装vnc

yum -y install tigervnc-server tigervnc

2、配置vnc-server

首先,进入目录cd /lib/systemd/system

查看该service,命令为cat vncserver@.service

可以看到被注释掉的提示信息(这个提示可能就是CentOS7与6的差别所在了):

# 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`

这里我们将vncserver@.service文件复制到/etc/systemd/system/中并重命名为vncserver@:1.service命令如下:

cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service

然后修改/etc/systemd/system/下的vncserver@:1.service

vi /etc/systemd/system/vncserver@:1.service

<USER>修改为当前的用户名、并除去PIDFile=/home/root/.vnc/%H%i.pid中home修改完毕如下:

[Unit]Description=Remote desktop service (VNC)After=syslog.target network.target[Service]Type=forking# Clean any existing files in /tmp/.X11-unix environmentExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'ExecStart=/usr/sbin/runuser -l root -c "/usr/bin/vncserver %i"PIDFile=/root/.vnc/%H%i.pidExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'[Install]WantedBy=multi-user.target

更新systemctl

systemctl daemon-reload

设置为自动启动

systemctl enable vncserver@:1.service

启动vnc服务

systemctl start vncserver@:1.service

启动服务报错如下(原因据我实际操作分析报错是由修改vncserver@:1.service时没有除去PIDFile=/home/root/.vnc/%H%i.pid中home导致的)

Job for vncserver@:1.service failed because the control process exited with error code.See "systemctl status vncserver@:1.service" and "journalctl -xe" for details.

解决报错如下(这两个解决方法可以不去操作、防火墙的都要去操作的)

1、处理方法(最好cd进入路径下删除):rm -rf /tmp/.X11-unix/*

2、设置系统语言为简体中文

查看当前语言echo $LANG

如果不是中文则手动设置为中文

临时设置:LANG=zh_CN.UTF-8永久设置:vi /etc/locale.confLANG=zh_CN.UTF-8

a.登录 ECS管理控制台 --> 网络和安全 --> 安全组 --> 配置规则,在实例所在安全组中 添加安全组规则,入方向、TCP 放行5901端口和6001端口,授权对象0.0.0.0/0代表允许或拒绝所有IP访问。

b.注意:如果您的实例上开启了防火墙,需要设置防火墙允许VNC访问,如果没有开启防火墙,一定要开启,否则本地远程连接不上,哥在这个问题上被坑了很多遍,终于总结出这个原因。

阿里云的Linux系统防火墙默认是关闭的,请先打开。

查看防火墙状态:firewall-cmd --state

开机禁用:systemctl disable firewalld

开启防火墙systemctl start firewalld.service

如果执行systemctl start firewalld命令后出现Failed to start firewalld.service: Unit is masked

执行以下命令:

systemctl unmask firewalld即可实现取消服务的锁定

设置开启自启动防火墙,重启centos时不用再手动开启防火墙

开机启用:systemctl enable firewalld

以firewalld为例,您需要做如下设置:

firewall-cmd --permanent --add-service vnc-server #允许VNC访问,设置成功提示successsystemctl restart firewalld.service # 重启firewalld

然后还需要设置防火墙规则允许VNC访问。

举例:以iptables为例,您需要做如下设置:

iptables.service文件,使用yum安装一下yum install iptables-services

直接修改文件/etc/sysconfig/iptables文件,添加一行:

-A INPUT -p tcp -m state --state NEW -m tcp --dport 5901 -j ACCEPT

重启iptables服务service iptables restart

查看是否启动成功

systemctl status vncserver@:1.service

如何显示active即开启成功,但这个时候一般都是fail

正确的代码显示:

vncserver@:1.service - Remote desktop service (VNC)Loaded: loaded (/etc/systemd/system/vncserver@:1.service; enabled; vendor preset: disabled)Active: active (running) since 日 -05-12 21:16:26 CST; 10s agoProcess: 26322 ExecStart=/usr/sbin/runuser -l root -c /usr/bin/vncserver %i (code=exited, status=0/SUCCESS)Process: 26320 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)Main PID: 26342 (Xvnc)CGroup: /system.slice/system-vncserver.slice/vncserver@:1.service‣ 26342 /usr/bin/Xvnc :1 -auth /root/.Xauthority -desktop ssshop:1 (root) -fp catalogue:/etc/X11/fontpath.d -geometry 102...5月 12 21:16:23 ssshop systemd[1]: Starting Remote desktop service (VNC)...5月 12 21:16:26 ssshop systemd[1]: Started Remote desktop service (VNC).

接下来这一步非常重要!!!

编辑此文件vi /root/.vnc/xstartup

查看此文件cat /root/.vnc/xstartup

备份正确的可以直接使用

#!/bin/sh#unset SESSION_MANAGER#unset DBUS_SESSION_BUS_ADDRESS#/etc/X11/xinit/xinitrc#vncserver -kill $DISPLAY#exec /etc/X11/xinit/xinitrc#exec /usr/bin/mate-session &#exec /usr/bin/gnome-termina#上面的连接上没有桌面文件显示[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresourcesxsetroot -solid greyvncconfig -iconic &x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &mate-session &

改变xstartup的权限这个问题是很多人容易忽视的问题,也是造成连接成功后黑屏的原因之一。

在CentOS中,xstartup的文件路径为:/root/.vnc/ (可以通过locate xstartup来查看xstartup的文件路径)所以需要执行:chmod 777 /root/.vnc/xstartup

重启vnc服务,输入如下两个命令:

vncserver -kill :1vncserver

1、执行vncserver ,第一次执行会要求设置用于客户端通过vnc连接该用户的密码,以后想更改可以通过vncpasswd更改该连接密码。

2、注意最后问是否设置一个只读密码要选否,否则客户端登陆只会看到一个黑屏:

[user01@ana53 ~]$ vncserver You will require a password to access your desktops.Password:Verify:Would you like to enter a view-only password (y/n)? nxauth: file /home/user01/.Xauthority does not existNew 'ana53:3 (user01)' desktop is ana53:3Creating default startup script /home/user01/.vnc/xstartupCreating default config /home/user01/.vnc/configStarting applications specified in /home/user01/.vnc/xstartupLog file is /home/user01/.vnc/ana53:3.log

三、客户端连接服务端:

通过这个网址下载vncviewer 客户端工具:

/downloads/5760-vnc-viewer.html

输入公网IP:1 ,输入自己设置的vnc密码,连接成功。但出现花屏,原因是分辨率设得太低,于是vnc连接成功后:

鼠标放到顶部(齿轮状的图标),点击"Properties"图标–Options–General–Picture quality:设置为High,点击右下方ok确认

Ubuntu18.04连接成功参考的博客

http://www.eait.co/?p=118

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。