2

Я пытаюсь заставить 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

Когда я перезагружаюсь, я делаю 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

Есть идеи?

ОБНОВИТЬ

Я даже пытался просто отобразить Hello World в текстовом файле в Xsetup который также ничего не делает. Кажется, этот скрипт просто не запускается при загрузке.

ОБНОВЛЕНИЕ 2:

Я обновился до 12.1, однако ни одна из моих попыток не сработала.

3 ответа3

3

Верните /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 (выполнить до сценариев инициализации) и after.local (выполнить после сценариев инициализации).

2

Вот что я мог найти, либо должно работать:


Чтобы исправить 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

Теперь перезагрузите или перезапустите сеанс рабочего стола.

(SRC)


YaST:

На рабочем столе KDE выберите значок YaST, введите пароль root и выберите OK; затем выберите Сетевые службы> Удаленное администрирование.

Выберите Разрешить удаленное администрирование; затем выберите Готово

(SRC)

1

У меня нет SuSE 11, установленного передо мной, чтобы проверить.

Утер на правильном пути, но вам нужно запустить программу ПОСЛЕ запуска X11.

Я не знаю наверняка, МОЖЕТ ли он работать, если работает только X - вы ХОТИТЕ, чтобы он запускался, если, например, "гость" вошел в систему через экран входа в систему 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 непосредственно до или сразу после этого.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .