Частично нашел ответ здесь
http://yar4e-it.blogspot.ru/2014_04_01_archive.html для Alt Linux P7 TDE
В моем случае Alt Linux7 кентавр на systemd.
1. создаем загрузочный скрипт для x11vnc
touch /usr/bin/startvncserverделаем исполняемым, только не знаю, нужно ли в этом случае
chmod +x /usr/bin/startvncserverpluma /usr/bin/startvncserver - открываем блокнот и забиваем сам скрипт инициализации.
#!/bin/bash
#sleep 5s
#/usr/bin/x11vnc -noipv6 -shared -forever -passwdfile /etc/x11vncpass -bg -display :0 -auth /var/run/lightdm/root/*
/usr/bin/x11vnc -dontdisconnect -display :0 -auth /var/run/lightdm/root/:0 -notruecolor -noxfixes -shared -forever -rfbport 5900 -bg -o /var/log/x11vnc.log -rfbauth /etc/x11vncpass
Работают оба первый от автора я закоментировал, свой дополнил.
Предварительно подготовил пароль:
x11vnc -storepasswd /etc/x11vncpassи по совету автора (
ps aux | grep X) выбрал свой путь к файлу авторизации X сервера
root 3756 0.8 0.9 134660 33372 tty7 Ssl+ 14:12 0:00 /usr/bin/X :0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch2. Готовим service файл:
pluma /etc/systemd/system/startvncserver.serviceс таким содержимым
[Unit]
Description=Start vnc server /usr/bin/startvncserver
[Service]
Type=oneshot
ExecStart=/usr/bin/startvncserver
RemainAfterExit=yes
[Install]
WantedBy=graphical.target
с блога автора этого скрипта:
Где, Description=Start vnc server /usr/bin/startvncserver — Описание сервиса.
Type=oneshot — Задание метода окончания периода запуска сервиса. Oneshot означает что действие, выполняемое сервисом должно быть окончено до запуска следующего сервиса.
RemainAfterExit=yes — Используется в связке с предыдущей опцией и говорит systemd о том, что данный сервис хоть и завершит свою работу после выполнения скрипта, но должен оставаться со статусом active.
ExecStart=/usr/bin/startvncserver — Путь к скрипту для выполнения.
WantedBy=graphical.target — Параметр, который даёт понять systemd, на какой стадии загрузки системы нужно выполнить данный сервис. multi-user.target соответствует init3. graphical.target соответствует init5.
Для запуска, остановки, перезапуска, просмотра статуса и включения в автозгрузку сервиса (и соответственно нашего скрипта), используются стандартные команды systemd.
Запустить:
[root@comp-core-2-81b58d system]# systemctl start startvncserver.service
Остановить:
[root@comp-core-2-81b58d system]# systemctl stop startvncserver.service
Перезапустить:
[root@comp-core-2-81b58d system]# systemctl restart startvncserver.service
Посмотреть статус:
[root@comp-core-2-81b58d system]# systemctl status startvncserver.service
И самое важное! Для запуска сервиса при загрузке ОС, его нужно включить:
[root@comp-core-2-81b58d system]# systemctl enable startvncserver.serviceКак говориться все работает в ручном режиме при входе в систему, а при перезагрузке x11vnc не стартует. Не могу понять в чем дело? После какого сервиса нужно стартовать скрипт запуска x11vnc и к какому X -у (
-auth /var/run/lightdm/root/:0 ) авторизоваться до входа пользователя? Есть какие нибудь соображения?