如何在 Fedora 上正確啟動 vnc 伺服器?

如何在 Fedora 上正確啟動 vnc 伺服器?

我不記得上次使用 vnc 時這很困難。這是我嘗試過的(我正在運行 fedora 21)...

首先,安裝一個 vnc 伺服器。

sudo yum install tigervnc-server
... y

現在要解鎖連接埠。不確定vnc-server這裡是否正確,但是這一頁說是的。順便說一句,我最初嘗試過firewall-config,但我一生都無法讓它透過 SSH 與 X 轉發一起工作。

> sudo firewall-cmd --permanent --zone=public --add-service vnc-server
> sudo firewall-cmd --list-all
# vnc-server not listed. damn. maybe if I try again, but pressing the keys harder
> sudo firewall-cmd --permanent --zone=public --add-service vnc-server
Warning: ALREADY_ENABLED: vnc-server
# ...? whatever...
> sudo firewall-cmd --zone=public --add-port=5900/tcp
# the port's there, that should do

我可以理解為什麼許多人會放棄並sudo service firewalld stop作為最後的手段。現在運行 vnc 伺服器,

> vncpasswd
Password: *
Verify: *
> vncserver
# seems to have started

遠端連線不起作用。即使在本地連接也不起作用(unable connect to socket: Connection refused (111)儘管拒絕當沒有伺服器運行時,它是相同的訊息,所以它可能意味著一些不太像它首先找到可以交談的東西)。

目前我不關心設定服務以使伺服器自動啟動。我該如何做好基礎工作?

[編輯]
要連接,我只需在 Windows 上的 RealVNC Viewer 中輸入主機名稱或運行vncviewer localhost以測試本地連接。

答案1

好的,與我使用過的一些 Windows vnc 伺服器(伺服器共用一個桌面)不同,可以有許多虛擬 X 桌面。不是使用單一伺服器來管理多個桌面,而是使用多個伺服器,每個伺服器使用不同的連接埠。

  • 連接埠 5900 ( :0) - 本機螢幕/登入(不確定此處的術語是否正確)
  • 連接埠 5901 ( :1) - 虛擬桌面 1
  • 連接埠 5902 ( :2) - 虛擬桌面 2

我想連接到這些的簡寫或用戶友好的方式是將:0:1等添加到您要連接的主機名稱中。這會在連接之前向連接埠新增一個號碼。

現在,如果沒有任何參數vncserver,預設會啟動虛擬顯示器:1(在連接埠 5901 上)並預設vncviewer連接到 5900,這解釋了為什麼我無法連線。諸如此類的程式x11vnc可以共用主:0桌面(例如x11vnc -ncache 10 -rfbauth /home/user/.vnc/passwd -display :0),但如果您嘗試, tigrevnc 會抱怨vncserver :0

總而言之:
我應該連接到顯示器 1 或使用連接埠 5901:

vncviewer localhost:1
vncviewer localhost::5901

相關內容