VNC over xinetd 不會啟動 vncserver
在 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 …