怎樣在CentOS 7.0上安裝和配置VNC伺服器

来源:http://www.cnblogs.com/h2zZhou/archive/2016/02/23/5209899.html
-Advertisement-
Play Games

這是一個關於怎樣在你的 CentOS 7 上安裝配置 VNC 服務的教程。當然這個教程也適合 RHEL 7 。在這個教程里,我們將學習什麼是 VNC 以及怎樣在 CentOS 7 上安裝配置 VNC 伺服器 。 我們都知道 這是一個關於怎樣在你的 CentOS 7 上安裝配置 VNC 服務的教程。當


這是一個關於怎樣在你的 CentOS 7 上安裝配置 VNC 服務的教程。當然這個教程也適合 RHEL 7 。在這個教程里,我們將學習什麼是 VNC 以及怎樣在 CentOS 7 上安裝配置 VNC 伺服器 。 我們都知道

 

這是一個關於怎樣在你的 CentOS 7 上安裝配置 VNC 服務的教程。當然這個教程也適合 RHEL 7 。在這個教程里,我們將學習什麼是 VNC 以及怎樣在 CentOS 7 上安裝配置 VNC 伺服器

我們都知道,作為一個系統管理員,大多數時間是通過網路管理伺服器的。在管理伺服器的過程中很少會用到圖形界面,多數情況下我們只是用 SSH 來完成我們的管理任務。在這篇文章里,我們將配置 VNC 來提供一個連接我們 CentOS 7 伺服器的方法。VNC 允許我們開啟一個遠程圖形會話來連接我們的伺服器,這樣我們就可以通過網路遠程訪問伺服器的圖形界面了。

VNC 伺服器是一個自由開源軟體,它可以讓用戶可以遠程訪問伺服器的桌面環境。另外連接 VNC 伺服器需要使用 VNC viewer 這個客戶端。

一些 VNC 伺服器的優點:

  • 遠程的圖形管理方式讓工作變得簡單方便。
  • 剪貼板可以在 CentOS 伺服器主機和 VNC 客戶端機器之間共用。
  • CentOS 伺服器上也可以安裝圖形工具,讓管理能力變得更強大。
  • 只要安裝了 VNC 客戶端,通過任何操作系統都可以管理 CentOS 伺服器了。
  • 比 ssh 圖形轉發和 RDP 連接更可靠。

那麼,讓我們開始安裝 VNC 伺服器之旅吧。我們需要按照下麵的步驟一步一步來搭建一個可用的 VNC。

首先,我們需要一個可用的桌面環境(X-Window),如果沒有的話要先安裝一個。

註意:以下命令必須以 root 許可權運行。要切換到 root ,請在終端下運行“sudo -s”,當然不包括雙引號(“”)

1. 安裝 X-Window

首先我們需要安裝 X-Window,在終端中運行下麵的命令,安裝會花費一點時間。

# yum check-update
# yum groupinstall "X Window System"

#yum install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts

### 設置預設啟動圖形界面
# unlink /etc/systemd/system/default.target
# ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target

# reboot

在伺服器重啟之後,我們就有了一個工作著的 CentOS 7 桌面環境了。

現在,我們要在伺服器上安裝 VNC 伺服器了。
 

2. 安裝 VNC 伺服器

現在要在我們的 CentOS 7 上安裝 VNC 伺服器了。我們需要執行下麵的命令。

# yum install tigervnc-server -y

3. 配置 VNC

然後,我們需要在 /etc/systemd/system/ 目錄里創建一個配置文件。我們可以將/lib/systemd/sytem/[email protected] 拷貝一份配置文件範例過來。

# cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service

接著我們用自己最喜歡的編輯器(這兒我們用的 nano )打開 /etc/systemd/system/vncserver@:1.service ,找到下麵這幾行,用自己的用戶名替換掉 。舉例來說,我的用戶名是 linoxide 所以我用 linoxide 來替換掉 :

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

替換成

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

如果是 root 用戶則

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

好了,下麵重啟 systemd 。

# systemctl daemon-reload

最後還要設置一下用戶的 VNC 密碼。要設置某個用戶的密碼,必須要有能通過 sudo 切換到用戶的許可權,這裡我用 linoxide 的許可權,執行“su linoxide”就可以了。

# su linoxide
$ sudo vncpasswd

確保你輸入的密碼多於6個字元

4. 開啟服務

用下麵的命令(永久地)開啟服務:

$ sudo systemctl enable vncserver@:1.service

啟動服務。

$ sudo systemctl start vncserver@:1.service

5. 防火牆設置

我們需要配置防火牆來讓 VNC 服務正常工作。

$ sudo firewall-cmd --permanent --add-service vnc-server
$ sudo systemctl restart firewalld.service

現在就可以用 IP 和埠號(LCTT 譯註:例如 192.168.1.1:1 ,這裡的埠不是伺服器的埠,而是視 VNC 連接數的多少從1開始排序)來連接 VNC 伺服器了。

6. 用 VNC 客戶端連接伺服器

好了,現在已經完成了 VNC 伺服器的安裝了。要使用 VNC 連接伺服器,我們還需要一個在本地電腦上安裝的僅供連接遠程電腦使用的 VNC 客戶端。

你可以用像 Tightvnc viewer 和 Realvnc viewer 的客戶端來連接到伺服器。

要用更多的用戶連接,需要創建配置文件和埠,請回到第3步,添加一個新的用戶和埠。你需要創建vncserver@:2.service 並替換配置文件里的用戶名和之後步驟里相應的文件名、埠號。請確保你登錄 VNC 伺服器用的是你之前配置 VNC 密碼的時候使用的那個用戶名

VNC 服務本身使用的是5900埠。鑒於有不同的用戶使用 VNC ,每個人的連接都會獲得不同的埠。配置文件名裡面的數字告訴 VNC 伺服器把服務運行在5900的子埠上。在我們這個例子里,第一個 VNC 服務會運行在5901(5900 + 1)埠上,之後的依次增加,運行在5900 + x 號埠上。其中 x 是指之後用戶的配置文件名vncserver@:x.service 裡面的 x 。

在建立連接之前,我們需要知道伺服器的 IP 地址和埠。IP 地址是一臺電腦在網路中的獨特的識別號碼。我的伺服器的 IP 地址是96.126.120.92,VNC 用戶埠是1。

執行下麵的命令可以獲得伺服器的公網 IP 地址(LCTT 譯註:如果你的伺服器放在內網或使用動態地址的話,可以這樣獲得其公網 IP 地址)。

# curl -s checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//'

總結

好了,現在我們已經在運行 CentOS 7 / RHEL 7 的伺服器上安裝配置好了 VNC 伺服器。VNC 是自由開源軟體中最簡單的一種能實現遠程式控制制伺服器的工具,也是一款優秀的 Teamviewer Remote Access 替代品。VNC 允許一個安裝了 VNC 客戶端的用戶遠程式控制制一臺安裝了 VNC 服務的伺服器。下麵還有一些經常使用的相關命令。好好玩!

其他命令:

  • 關閉 VNC 服務。

    # systemctl stop vncserver@:1.service
  • 禁止 VNC 服務開機啟動。

    # systemctl disable vncserver@:1.service
  • 關閉防火牆。

    # systemctl stop firewalld.service
  •  


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、本機DNS配置 參考:http://blog.sina.com.cn/s/blog_68d6e9550100k3b7.html 二、DNS伺服器搭建 參考:http://blog.csdn.net/hongweigg/article/details/7189175
  • <!DOCTYPE html><html><head><meta charset="utf-8"/><title>NEC:更好的CSS方案</title><meta name="keywords" content=""/><meta name="description" content=""/><m
  • mkdir dir1 創建一個叫做dir1的目錄 pwd 顯示工作路徑 cat filename 顯示文件信息
  • 1.插入U盤,磁碟工具,格式化U盤為Mac OS X拓展 (日誌式); 2.去網站搜索recovery disk assistant,此文件大約1.1M,直接打開使用它製作啟動盤,進度條完畢就完成了。 (這個文件我下載好了,在spotlit裡面搜索recoverydiskassistant就找到了)
  • cd -> 變換路徑 //文件一般存在/var/路徑下,var為可修改存儲盤 ls -> 列出所有隱藏文件與相關文件的屬性 #ls -al #ls -al -rwxrwxrwx 1 root root 293 2016-02-23 test 文件屬性 連接數 文件擁有者 文件所屬用戶組 大小 時間
  • 一、什麼是SSH? 簡單說,SSH是一種網路協議,用於電腦之間的加密登錄。 如果一個用戶從本地電腦,使用SSH協議登錄另一臺遠程電腦,我們就可以認為,這種登錄是安全的,即使被中途截獲,密碼也不會泄露。 最早的時候,互聯網通信都是明文通信,一旦被截獲,內容就暴露無疑。1995年,芬蘭學者Tatu
  • 1. 先編輯一個解壓腳本ins.sh 1 #!/bin/bash 2 preline=10 3 line=`wc -l $0|awk '{print $1}'` 4 line=`expr $line - $preline` 5 tail -n $line $0 |tar xz -C ./ 6 #do
  • 安裝 Centos 7後, 習慣性的安裝 Xmanager 3或4, 都不能正常工作, 無奈之下開始安裝 VNCServer。 (個人習慣使用Xmanager, 因為不需要安裝,只要配置一下就能用, 而且一直很穩定) 為了節省以後安裝 vncserver 的時間,寫這篇文章作備忘用 安裝/配置: 使
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...