Vnc

VNC over xinetd 不會啟動 vncserver

  • November 30, 2010

在 Debian Lenny 中,使用 TightVNC 1.3.9 我可以使用手動設置 VNC 伺服器

vncserver -query localhost -once -geometry 1024x768 -depth 16 :1

但是,正如我所讀的那樣,這是一個更好的選擇,我將 xinetd 與以下配置一起使用:

service vnc-1024x768x16
 {
   protocol = tcp
   socket_type = stream
   wait = no
   user = nobody
   server = /usr/bin/vncserver
   server_args = -inetd -query localhost -once -geometry 1024x768 -depth 16
 }

我打開了 5901 埠來連接伺服器。通過第一種方式(僅 vncserver),我成功地連接到我的伺服器。

但是使用 xinetd 方式我無法連接。

在外部我可以看到埠 5901 是打開的,甚至 VNC 服務也可用。查看為 :1 顯示生成的 VNC 日誌,我沒有發現任何內容。

事實上,我在考慮問題出在 xinetd 上,但我用它設置了其他服務(例如 telnet 和 ftp),我可以正確使用它們。

所以現在我迷路了,我還沒有考慮通過 xinetd 提供 VNC 服務嗎?我在哪裡可以找到日誌或有用的資訊來獲得有關此問題的線索?

有任何想法嗎?

謝謝閱讀…


更新(10 年 11 月 29 日):

  • 管理獲得 X 顯示,但沒有登錄螢幕或終端來通過更改執行任何命令
user = my_user_name
server = /usr/bin/Xvnc
server_args = -inetd -once -geometry 1024x768 -depth 16 -rfbauth=/home/my_user_name/.vnc/passwd

這個 Xvnc 伺服器是另一個 VNC 程序(不是我更喜歡的 Xtightvnc…) 使用者名已更改,因此我可以使用儲存在 passwd 文件中的身份驗證文件

如果我手動執行 Xvnc,使用附加參數 -query localhost(並且沒有 -inetd 參數),我會得到一個登錄螢幕!但是使用 Xvnc 非常滯後……使用 Xtightvnc 我獲得了更快的連接……

無論如何,在 xinted.d 配置文件中設置 -query localhost 參數,我又什麼也得不到,沒有 X 顯示螢幕,沒有登錄螢幕,也沒有終端……

據我了解, -query localhost 讓我可以將 XDCMP 用於登錄螢幕或終端,但它不適用於 xinetd.d

還有一個附帶問題:現在我明白了

XDMCP fatal error: Session declined Maximum number of open sessions from your host reached

所以我現在不能做更多的測試……Google了一下,我了解到這是關於允許的最大 XDMCP 會話數。但是我只找到瞭如何增加這個數字,現在我只需要知道如何殺死目前的 XDMCPsessions,有什麼想法嗎?

再次感謝!

好吧,我想我設法為此找到了一個折衷的解決方案:

使用以下配置,我可以獲得登錄螢幕:

service vnc-1024x768x16
{
 protocol = tcp
 socket_type = stream
 wait = no
 user = user_name
 server = /usr/bin/Xvnc
 server_args = -inetd -query localhost -once -geometry 1024x768 -depth 16 -rfbport=5901 -rfbauth=/home/user_name/.vnc/passwd
 disable = no
}

查看本教程,我可以觀察到解決方案是相似的。我什至注意到他們沒有使用我正在尋找的 vncserver(因為我使用 vncserver 手動執行 VNC 伺服器,沒有 xinetd)。

查看 vncserver 的手冊頁,他們說實際上這個程序是 Xvnc 的包裝器。但是,當我單獨執行 vncserver 時,它呼叫了一個名為 Xtightvnc 的程序,而不是 Xvnc。

將上述配置中的“伺服器”行更改為呼叫 Xtightvnc 而不是 Xvnc 不會給我任何連接,所以我仍然必須繼續使用 Xvnc。

我注意到使用 Xtightvnc 和 Xvnc 之間的另一個大區別是最後一個連接速度很慢,所以我仍然更喜歡 Xtightvnc …

到目前為止,我可以更好地處理這個問題,但也歡迎任何進一步的想法……

順便說一句,我發現 Xvnc 實際上是我機器的 RealVNC,而不是我想要的 TightVNC,我想我將不得不更多地了解如何很好地重定向事物,以及如何按照我的意願使用 Xtightvnc…

謝謝閱讀…

就像一個版權…我終於讓 Xtightvnc 工作了。問題?在 xinetd server_args 配置行中不接受 ‘=’ 字元來為參數賦值!:D 所以最終結果是:

service vnc-1024x768x16
{
 protocol = tcp
 socket_type = stream
 wait = no
 user = user_name
 server = /usr/bin/Xvnc
 server_args = -inetd -query localhost -once -geometry 1024x768 -depth 16 -rfbport 5901 -rfbauth /home/user_name/.vnc/passwd
 disable = no
}

我還必須更改指向 Xvnc4 (realvnc) 的 Xvnc 軟連結,所以它最終指向 Xtightvnc …

引用自:https://serverfault.com/questions/206475