前言
最近公司新搞了臺阿里云的服務(wù)器,boss叫我弄一下帶界面的遠程韧涨。雖然我覺得用不到,但boss交代了获搏,還是要好好干纬乍。在網(wǎng)上搜索了一波仿贬,最后決定使用GNOME Desktop + VNC實現(xiàn)茧泪。記錄下成果队伟。
注意
- 本文中所有已
$
開頭的為指令 - 本文中所指服務(wù)器為阿里云上的CentOS 7.3
- 本人使用的win10
GNOME Desktop
這是什么玩意兒
服務(wù)器默認情況下嗜侮,一般選擇的是最小安裝啥容,所有操作只能以指令的形式在命令行中操作咪惠。GNOME Desktop可以為我們的centos帶來圖形操作遥昧,類似windows的圖形操作。這樣我們遠程的服務(wù)器才能帶圖形界面柴罐。
如何安裝
安裝GNOME Desktop非常簡單,只需要在輸入一條指令似芝。耗時可能會有些長党瓮。
$ yum groupinstall "GNOME Desktop" "Graphical Administration Tools"
安裝完成重啟即可
如何使用
安裝后可以根據(jù)需要在圖形界面和命令界面之間切換
- 切換到圖形界面
$ ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
- 切換到命令界面
$ ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
VNC
這是什么玩意兒
VNC (Virtual Network Console)是虛擬網(wǎng)絡(luò)控制臺的縮寫。它 是一款優(yōu)秀的遠程控制工具軟件枪萄,由著名的 AT&T 的歐洲研究實驗室開發(fā)的瓷翻。VNC 是在基于 UNIX和 Linux 操作系統(tǒng)的免費的[開源軟件,遠程控制能力強大童谒,高效實用沪羔,其性能可以和 Windows 中的任何遠程控制軟件媲美琅豆。
上面的內(nèi)容來自百度百科茫因,VNC由兩部分組成冻押,運行在服務(wù)器上的vncserver和運行在本地的vncviewer驰贷。要使用VNC進行遠程操作,需要在服務(wù)器和本地都安裝相應(yīng)的程序洛巢。
安裝vnc server(服務(wù)器上)
使用 yum
命令安裝 vnc server
$ yum install tigervnc-server -y
配置vnc server
復(fù)制默認的配置文件括袒,進行修改。
$ cp /lib/systemd/system/vncserver@.service /etc/systemd/system/
vnc server的配置文件一個用戶(centos)對應(yīng)一個配置文件稿茉,這里我們在將他復(fù)制一份锹锰。
$ cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
當(dāng)你的要遠程root用戶(其他的用戶也可以)時,需要這樣修改默認配置文件漓库。
- 默認配置文件
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
User=<USER> # 將<user>替換成root
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=-/usr/bin/vncserver -kill %i
ExecStart=/usr/bin/vncserver %i
PIDFile=/home/<USER>/.vnc/%H%i.pid # 將<user>替換成root
ExecStop=-/usr/bin/vncserver -kill %i
[Install]
WantedBy=multi-user.target
- 我修改后的樣子
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
User=root
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=-/usr/bin/vncserver -kill %i
ExecStart=/usr/bin/vncserver %i
PIDFile=/root/.vnc/%H%i.pid
ExecStop=-/usr/bin/vncserver -kill %i
[Install]
WantedBy=multi-user.target
主要修改的是將默認配置文件中的
<user>
修改為用于連接的用戶名
username
需要注意的是恃慧,當(dāng)使用root用戶時PIDFile
需要這樣配置
PIDFile=/root/.vnc/%H%i.pid
防火墻開放例外
vnc server默認監(jiān)聽端口是5900,監(jiān)聽端口規(guī)則為590+vnc用戶端數(shù)字渺蒿,例如:5901痢士、5902。所以我們需要根據(jù)自己的需求在防火墻中開放相應(yīng)端口茂装。
firewall-cmd --permanent --add-service vnc-server
firewall-cmd --zone=public --add-port=5901/tcp --permanent
firewall-cmd --reload
使用vnc server
- start
$ vncserver :1
- stop
$ vncserver -kill :1
- status
systemctl status vncserver@:1 // 顯示vncserver:1進程的狀態(tài)
vncserver -list // 顯示所有終端編號和進程ID
ps aux |grep vnc // 可查看所有終端的詳細信息怠蹂,包括終端編號、進程ID训唱、服務(wù)端口號等
設(shè)置vnc server開啟自啟
當(dāng)然你可能需要说订,vnc server開機自啟至壤,來徹底拜托黑乎乎的命令窗口。
$ systemctl enable vncserver@:1.service
安裝vnc viewer(本地)
我使用的是RealVNC進行連接翁脆,這網(wǎng)頁進入賊慢(使用梯子可能會好點)
遠程控制帶界面服務(wù)器
打開RealVNC训挡,依次點擊File > New connection...(Ctrl + N
)
在彈出的Properties面板的General中填寫ip和連接名稱
如圖中所示澳骤,Name隨意填,VNC Server填ip:n
澜薄,ip為服務(wù)器ip为肮,后邊的:n
與服務(wù)器啟動的VNC Server有關(guān)。啟動服務(wù)器VNC Serve的指令為:$ vncserver :1
后邊的:1
就是我們要填的:n
(n可為1-99肤京,同時需要防火墻開放590n端口)颊艳,兩者保持一致就行。
可以看到畫質(zhì)非常渣忘分,可以再Properties面板的General中修改Picture quality改善畫面棋枕。
附
- 遠程畫質(zhì)需要根據(jù)實際情況調(diào)節(jié),公司阿里云的服務(wù)器最高畫質(zhì)流暢無比妒峦,我自己的渣渣服務(wù)器就只能開中重斑,還卡的一逼。
- 需要系統(tǒng)顯示中文的肯骇,需要安裝中文語語言包窥浪,手動切換首選語言祖很,然后重啟服務(wù)器的VNC Server服務(wù)。