如何让 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

当我重新启动时,我执行了 aps -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

现在重新启动或重新启动桌面会话。

源码


YaST:

从 KDE 桌面,选择 YaST 图标,输入 root 密码,并选择 OK;然后选择网络服务 > 远程管理

选择允许远程管理;然后选择完成

源码

答案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 正在运行它是否可以工作 —— 例如,如果“guest”通过 X-window 登录屏幕登录,您是否希望它运行?

在 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。

相关内容