我試圖讓 x11vnc 在 openSuse 啟動時運行,但運氣不佳。這是我到目前為止所做的。
我編輯了/etc/X11/xdm/Xsetup
以下幾行並將其添加到末尾之前exit 0
:
#run x11vnc automatically
/usr/bin/x11vnc -rfbauth /usr/bin/vnc/passwd -o /var/log/x11vnc.log -forever -bg
我使用以下命令建立了`/usr/bin/vnc/passwd 檔案:
sudo x11vnc -storepasswd /usr/bin/vnc/passwd
當我重新啟動時,我執行了 a ps -A | grep x11
,但沒有看到進程正在運行。我也看到沒有/var/log/x11vnc.log
建立文件。我可以從 bash 目錄運行該命令,它工作正常。我有一種感覺,這個腳本永遠不會在啟動時運行。
我還創建了一個名為的新文件/etc/kde4/kdm/Xsetup
,並將上面的兩行放入其中,並且行為相同。
檔案權限為:
-rw------- 1 root root 8 Apr 26 22:26 /usr/bin/vnc/passwd
-rwxr-xr-x 1 root root 5691 Apr 26 22:01 /etc/X11/xdm/Xsetup
有任何想法嗎?
更新
我什至嘗試過只是迴聲你好世界到一個文字文件,Xsetup
其中也不執行任何操作。看來這個腳本根本就不會在啟動時運作。
更新2:
我升級到 12.1,但是我的所有嘗試都沒有成功。
答案1
這是我能找到的,兩者都應該有效:
要修復 x11vnc:
在控制台中輸入這些命令user
:
mkdir ~/.vnc
x11vnc -storepasswd "password" ~/.vnc/passwd
將其放入 ~/.x11vncrc 檔案中,替換user
為您的使用者名稱:
display :0
rfbauth /home/user/.vnc/passwd
forever
bg
現在每次user
登入時自動啟動它:
ln -s /usr/bin/x11vnc ~/.kde/Autostart/x11vnc
現在重新啟動或重新啟動桌面會話。
(原始碼)
亞斯特:
從 KDE 桌面選擇 YaST 圖標,輸入 root 密碼,然後選擇「確定」;然後選擇網路服務 > 遠端管理。
選擇允許遠端管理;然後選擇完成
(原始碼)
答案2
恢復/etc/X11/xdm/Xsetup
到原始狀態(刪除您的編輯)。在系統引導期間不會呼叫此函數。
將啟動行新增/usr/bin/x11vnc -rfbauth /usr/bin/vnc/passwd -o /var/log/x11vnc.log -forever -bg
至文件/etc/init.d/after.local
。
除非您想編寫一個init script
啟動/停止/重新啟動x11vnc
進程的合規性(這是可能的,但超出了本答案的範圍),否則您應該將要在啟動時執行的任何進程放置在/etc/init.d/after.local
.
注意:在 RedHat 系統上,這將進入rc.local
. SUSE 使用before.local
(在 init 腳本之前執行)和after.local
(在 init 腳本之後執行)。
答案3
我面前沒有安裝 SuSE 11 可供檢查。
Uther 的方向是正確的 - 但您需要在 X11 啟動後啟動程式。
我不確定如果只有 X 正在運行它是否可以工作 - 例如,如果“來賓”通過 X 窗口登錄屏幕登錄,您是否希望它運行?
在 12 中,SuSE 更改了所有啟動腳本內容,因此您可能只想升級,然後在 12 上修復它:
http://news.opensuse.org/2011/12/22/systemd-%E2%80%93-boot-faster-and-cleaner-with-opensuse-12-1/
作為一個總體目標,您需要弄清楚 X 下的「登入畫面」實際運行的是什麼(可能是 gdm -http://projects.gnome.org/gdm/)以及它是如何被激發的。無論它在哪裡運行,您都需要在此之前或之後直接運行 x11vnc。