centos7开启vnc服务_阿里云CentOS 7搭建VNC远程桌面服务步骤方法
因為需要在centos7配置遠程桌面,所以找了很多教程方法,結果都沒有遠程連接成功,以下是總結了很多教程后整理出的方法,在centos7下比較適用,其他的版本貌似有很大區別,這里不做研究。
一、圖形界面安裝(MATE DESKTOP)
CentOS 7 系統下,本文以 MATE 桌面環境安裝進行安裝配置說明:
登錄服務器,執行如下指令安裝桌面環境:
1
2# 先安裝 MATE Desktop
yumgroups install "MATE Desktop"
命令輸入之后,會列出一大堆文字的,然后顯示這個y/d/n,輸入y,按回車下載安裝;
安裝完成,顯示下面圖片complete
(以下X Window System安裝非必要)
1
2#安裝好 MATE Desktop 后,再安裝 X Window System。
yumgroups install "X Window System"
命令輸入之后,會列出一大堆文字的,然后顯示這個y/d/n,輸入y,按回車下載安裝;
安裝完成
設置默認通過桌面環境啟動服務器:
1systemctlset-default graphical.target
安裝完成后,通過 reboot 等指令重啟服務器,或者在 ECS 服務器控制臺重啟服務器,重啟后系統將自動進入圖形界面
二、安裝vncserver
1、假定你的系統沒有安裝vnc的任何軟件,那么,首先安裝vnc
1yum -yinstall tigervnc-server tigervnc
2、Centos7需要配置的文件/lib/systemd/system/vncserver@.service,復制一份文件,并改名為vncserver@:1.service
代碼如下:
3、將文件中的用你當前的用戶替換,將%i替換為1
1
2
3
4
5
6
7
8
9
10
11
12[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 :1 > /dev/null 2>&1 || :'
ExecStart=/sbin/runuser -l root -c"/usr/bin/vncserver :1 -geometry 1280x720 -depth 24"
PIDFile=/root/.vnc/%H%i.pid
ExecStop=/bin/sh -c'/usr/bin/vncserver -kill :1 > /dev/null 2>&1 || :'
[Install]
WantedBy=multi-user.target
4、更新systemctl
1systemctl daemon-reload
5、設置為自動啟動
1systemctl enable vncserver@:1.service
6、啟動vnc服務
1systemctl start vncserver@:1.service
7、修改配置文件(解決vncviewer連接時出現藍屏或灰屏的問題)
vim ~/.vnc/xstartup
1
2
3
4
5
6
7
8
9
10#!/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 &
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
8、 重啟vnc服務,輸入如下兩個命令:
1
2vncserver -kill :1
vncserver
完成所有配置
a.登錄ECS管理控制臺,在實例所在安全組中添加安全組規則,放行TCP 5901端口。
b.注意:如果您的實例上開啟了防火墻,需要設置防火墻允許VNC訪問,如果沒有開啟防火墻,一定要開啟,否則本地遠程連接不上,哥在這個問題上被坑了很多遍,終于總結出這個原因。舉例:
以firewalld為例,您需要做如下設置:firewall-cmd--permanent--add-service vnc-server#允許VNC訪問
systemctl restart firewalld.service# 重啟firewalld
如果提示防火墻沒有運行,請先開啟
systemctl start firewalld.service
如果執行 systemctl start firewalld 命令后出現Failed to start firewalld.service: Unit is masked,執行以下命令:
systemctl unmask firewalld ,即可實現取消服務的鎖定
設置開啟自啟動防火墻,重啟centos時不用再手動開啟防火墻
systemctl enable firewalld.service
然后還需要設置防火墻規則允許VNC訪問。舉例:以iptables為例,您需要做如下設置:iptables-A INPUT-p tcp--dport5901-j ACCEPT#放行TCP 5901端口
service iptables save# 保存規則
service iptables restart #重啟規則這樣本地使用VNCViewer客戶端可以使用IP:1進行遠程桌面連接了。
ps:下面可能你需要的
1.報錯: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.
處理方法:rm -rf /tmp/.X11-unix/*
2、設置系統語言為簡體中文
查看當前語言
echo $LANG
如果不是中文則手動設置為中文
臨時設置:
LANG=zh_CN.UTF-8
永久設置:
vi /etc/locale.conf
LANG=zh_CN.UTF-8
總結
以上是生活随笔為你收集整理的centos7开启vnc服务_阿里云CentOS 7搭建VNC远程桌面服务步骤方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python之异常处理_Python之异
- 下一篇: 这些Java基础面试知识点,你都掌握了吗