CentOS 7 安裝使用 VNC 遠程桌面

安裝使用VNC

VNC (Virtual Network Console)是虛擬網(wǎng)絡控制臺的縮寫劣领。它是一款優(yōu)秀的遠程控制工具軟件生真,由著名的 AT&T 的歐洲研究實驗室開發(fā)的悬蔽。VNC 是在基于 UNIX 和 Linux 操作系統(tǒng)的免費的開源軟件奕筐,遠程控制能力強大岛啸,高效實用泪酱,其性能可以和 Windows 和 MAC 中的任何遠程控制軟件媲美派殷。

VNC基本上是由兩部分組成:一部分是客戶端的應用程序(vncviewer)还最;另外一部分是服務器端的應用程序(vncserver)。VNC的基本運行原理和一些Windows下的遠程控制軟件很相像毡惜。VNC的服務器端應用程序在UNIX和Linux操作系統(tǒng)中適應性很強拓轻,圖形用戶界面十分友好,看上去和Windows下的軟件界面也很類似经伙。在任何安裝了客戶端的應用程序(vncviewer)的Linux平臺的計算機都能十分方便地和安裝了服務器端的應用程序(vncserver)的計算機相互連接扶叉。另外,服務器端 (vncserver)還內建了Java Web接口帕膜,這樣用戶通過服務器端對其他計算機的操作就能通過Netscape顯示出來了枣氧,這樣的操作過程和顯示方式比較直觀方便。

1. 在 Linux 服務器上安裝配置 VNC-server

1.1 CentOS 下安裝桌面環(huán)境及 VNC 服務

vnc 服務依賴于桌面環(huán)境的運行垮刹,CentOS7 默認最小安裝是不帶桌面環(huán)境的达吞,所以安裝 VNC 之前需要首先安裝桌面環(huán)境,GNOME 或者 KDE 均可荒典。

我們以安裝 "GNOME Desktop" 桌面環(huán)境為例安裝 GNOME 桌面環(huán)境酪劫。

## 列出可安裝的group
$ sudo yum grouplist
grouplist
## 安裝 GNOME 桌面環(huán)境
$ sudo yum groupinstall "GNOME Desktop"
## 設置默認啟動方式為界面啟動
$ sudo ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
## 重啟服務器
$ sudo reboot

注意:對于已經安裝桌面環(huán)境的 CentOS7 可以不做處理。

確認桌面環(huán)境安裝完成后, 安裝 VNC 服務端寺董。

## 安裝 vnc-server
$ sudo yum install tigervnc tigervnc-server

1.2 配置 vnc-server

1.2.1 拷貝配置文件

安裝完成后開始配置, 將模板配置文件拷貝至配置文件目錄下 /etc/systemd/system/ , 如果是多用戶契耿,則每個用戶拷貝一份,其中 @:1.service 中的數(shù)字 1 對應 VNC 服務端口 5901 , 數(shù)字 2 對應端口 5902 根據(jù)自己需求設置即可螃征。

## 復制配置模板文件
$ sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
## 編輯配置文件
$ sudo vim /etc/systemd/system/vncserver@:1.service

配置文件(/etc/systemd/system/vncserver@:1.service)內容:

# The vncserver service unit file
#
# 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`
#
# DO NOT RUN THIS SERVICE if your local area network is
# untrusted!  For a secure way of using VNC, you should
# limit connections to the local host and then tunnel from
# the machine you want to view VNC on (host A) to the machine
# whose VNC output you want to view (host B)
#
# [user@hostA ~]$ ssh -v -C -L 590N:localhost:590M hostB
#
# this will open a connection on port 590N of your hostA to hostB's port 590M
# (in fact, it ssh-connects to hostB and then connects to localhost (on hostB).
# See the ssh man page for details on port forwarding)
#
# You can then point a VNC client on hostA at vncdisplay N of localhost and with
# the help of ssh, you end up seeing what hostB makes available on port 590M
#
# Use "-nolisten tcp" to prevent X connections to your VNC server via TCP.
#
# Use "-localhost" to prevent remote VNC clients connecting except when
# doing so through a secure tunnel.  See the "-via" option in the
# `man vncviewer' manual page.


[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=/usr/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

1.2.2 修改配置文件

將配置文件中 <USER> 全部替換為自己的用戶名,例如用戶為 sam , 則修改為:

ExecStart=/usr/sbin/runuser -l sam -c "/usr/bin/vncserver %i"
PIDFile=/home/sam/.vnc/%H%i.pid

如果是使用 root 賬戶登錄透敌,則修改為:

ExecStart=/usr/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid

1.2.3 重新加載配置文件

## 重新加載 systemctl 文件
$ sudo systemctl daemon-reload

1.2.4 添加防火墻例外

對于是默認防火墻(firewall)的盯滚,可以使用 firewall-cmd 進行配置:

## 方法一:添加 VNC 服務例外
$ sudo firewall-cmd --permanent --add-service vnc-server
## 方法二: 添加 5901 端口例外
$ sudo firewall-cmd --permanent --add-port 5091-5902/tcp
## 方法三:關閉并禁用防火墻(不推薦)
$ sudo systemctl stop firewalld.service
$ sudo systemctl disable firewalld.service
## 重啟防火墻(適用于方法一和二)
$ sudo systemctl restart firewalld.service

對于防護墻為 iptable 的,修改相應的配置文件酗电,添加 VNC 例外:

## 編輯配置文件
$ sudo vim /etc/sysconfig/iptables

在合適的位置添加:

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

然后重啟防火墻:

## 重啟防火墻
$ sudo service iptables restart

1.2.5 修改 VNC 連接密碼

修改相應賬戶的連接密碼:

$ vncpasswd sam

1.2.6 啟動 VNC 并設置開機啟動

為了方便連接魄藕,可以設置 VNC 開機啟動:

## 設置開機啟動
$ sudo systemctl enable vncserver@:1.service
## 啟動 VNC 服務
$ sudo systemctl start vncserver@:1.service
## 查看 VNC 服務運行情況
$ sudo systemctl status vncserver@:1.service
## 停止 VNC 服務
$ sudo systemctl stop vncserver@:1.service

VNC 配置完成并啟動后就可以使用本地客戶機進行遠程連接了。

2. 在 Windows 下安裝配置 VNC 服務

下載相應版本安裝 TightVNC :

安裝完成后按照指示進行配置即可撵术。

3. 遠程連接服務器

3.1 Windows 下遠程連接

Window 下使用 TightVNC-Viewer 進行連接:

Start Viewer

填寫 IP 及 端口號:

Connection

輸入配置的 VNC 連接密碼即可遠程控制服務器:

CentOS 7

3.2 Mac 下遠程連接

Mac 下有天然優(yōu)勢背率,在 safari 瀏覽器地址欄中輸入IP地址及端口即可:vnc://192.168.3.2:5901, 這里的 IP 地址更換為自己的服務器 IP 地址。

3.3 Linux 下遠程連接

待續(xù)~

4. 參考資料

  1. http://www.baike.com/wiki/VNC
  2. https://my.oschina.net/huhaoren/blog/497394
  3. https://www.digitalocean.com/community/questions/couldn-t-start-vnc-server

歡迎關注小劉哥嫩与!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末寝姿,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子划滋,更是在濱河造成了極大的恐慌饵筑,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件处坪,死亡現(xiàn)場離奇詭異根资,居然都是意外死亡架专,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進店門玄帕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來部脚,“玉大人,你說我怎么就攤上這事裤纹∥酰” “怎么了?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵服傍,是天一觀的道長钱雷。 經常有香客問我,道長吹零,這世上最難降的妖魔是什么罩抗? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮灿椅,結果婚禮上套蒂,老公的妹妹穿的比我還像新娘。我一直安慰自己茫蛹,他們只是感情好操刀,可當我...
    茶點故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著婴洼,像睡著了一般骨坑。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上柬采,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天欢唾,我揣著相機與錄音,去河邊找鬼粉捻。 笑死礁遣,一個胖子當著我的面吹牛,可吹牛的內容都是我干的肩刃。 我是一名探鬼主播祟霍,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼盈包!你這毒婦竟也來了沸呐?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤续语,失蹤者是張志新(化名)和其女友劉穎垂谢,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體疮茄,經...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡滥朱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年根暑,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片徙邻。...
    茶點故事閱讀 40,030評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡排嫌,死狀恐怖,靈堂內的尸體忽然破棺而出缰犁,到底是詐尸還是另有隱情淳地,我是刑警寧澤,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布帅容,位于F島的核電站颇象,受9級特大地震影響,放射性物質發(fā)生泄漏并徘。R本人自食惡果不足惜遣钳,卻給世界環(huán)境...
    茶點故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望麦乞。 院中可真熱鬧蕴茴,春花似錦、人聲如沸姐直。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽声畏。三九已至撞叽,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間插龄,已是汗流浹背能扒。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留辫狼,地道東北人。 一個月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓辛润,卻偏偏與公主長得像膨处,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子砂竖,可洞房花燭夜當晚...
    茶點故事閱讀 44,976評論 2 355