如何讓 x11vnc 在 openSuSE 12.1 上啟動時執行

如何讓 x11vnc 在 openSuSE 12.1 上啟動時執行

我試圖讓 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。

相關內容