[Решено]Автозапуск x11vnc

настраивал автозапуск по этим статьям
https://bbs.archlinux.org/viewtopic.php?id=168756
https://wiki.archlinux.org/index.php/x11vnc
все сделал по пунктам и не один раз... загвоздка в следующем

вот часть сервиса x11

[Service]
ExecStart=/usr/bin/x11vnc -display :0 -auth /home/111/.Xauthority

параметры запуска не важны поскольку стопориться на ауторизации
.Xauthority насколько я понял пересоздается после каждого логина.
Если .Xauthority выставить доступ 744
потом
sudo systemctl stop graphical.target
sudo systemctl start graphical.target
то сервис стартует нормально.

Код ошибки запуска
x11vnc.service - VNC Server for X11
   Loaded: loaded (/etc/systemd/system/x11vnc.service; static)
   Active: failed (Result: exit-code) since Вт 2014-03-11 07:47:51 MSK; 2min 40s ago
  Process: 228 ExecStart=/usr/bin/x11vnc -display :0 -auth /home/111/.Xauthority (code=exited, status=1/FAILURE)
 Main PID: 228 (code=exited, status=1/FAILURE)

мар 11 07:47:51 my x11vnc[228]: xdm:     -auth /var/lib/xdm/authdir/authfiles/A:0-XQvaJk
мар 11 07:47:51 my x11vnc[228]: dtlogin: -auth /var/dt/A:0-UgaaXa
мар 11 07:47:51 my x11vnc[228]: Sometimes the command "ps wwwwaux | grep auth" can reveal the file location.
мар 11 07:47:51 my x11vnc[228]: Starting with x11vnc 0.9.9 you can have it try to guess by using:
мар 11 07:47:51 my x11vnc[228]: -auth guess
мар 11 07:47:51 my x11vnc[228]: (see also the x11vnc -findauth option.)
мар 11 07:47:51 my x11vnc[228]: Only root will have read permission for the file, and so x11vnc must be run
мар 11 07:47:51 my x11vnc[228]: as root (or copy it).  The random characters in the filenames will of course           (А как запустить приложение в сервисе из по root?)
мар 11 07:47:51 my x11vnc[228]: change and the directory the cookie file resides in is system dependent.
мар 11 07:47:51 my x11vnc[228]: See also: http://www.karlrunge.com/x11vnc/faq.html

-auth guess и -findauth не помогают.
Через обычную автозагрузку не получается (т.е. Сеансы и запуск) x11vnc стартует но только если отсутствуют параметры.

Помогите побороть .Xauthority

ЗЫ http://www.karlrunge.com/x11vnc/faq.html читал но то что бы там мне помогло - не нашел. Может плохо читал?
Предполагаю, что руту ничего не ведомо про пользовательскую сессию иксов. Можно попробовать запустить сервис от пользователя, хотя в этом случае сервис так же не знает о иксовой сессии и возможно придется экспортировать DISPLAY.
Возможно, в случае с рутом поможет это.
Сам с постоянно работающим сервисом не заворачивался.. очень сомневаюсь в его необходимости. Включаю ребенку мультики на ноутбуке как-то так:
$ cat ~/.scripts/mvnc
#!/usr/bin/bash
ssh user@192.168.0.102 x11vnc -display :0 -rfbauth /home/user/.x11vnc/passwd -auth /home/user/.Xauthority &
sleep 6
vncviewer PasswordFile='/home/bigboss/.x11vnc/passwd' 192.168.0.102:0
ssh user@192.168.0.102 killall x11vnc
И о безопастности подумайте. В моем случае ничего страшного, ибо пароль и я за натом.. По умолчанию x11vnc слушает все интерфейсы и не требует авторизации.
От пользователя он запускается так:
x11vnc -rfbauth /home/user/.vnc/passwd -many
В таком варианте запуска из ~/.xinitrc программа работает безо всяких юнитов постоянно, перезапускается после выхода сама.
Зачем нужен -auth .Xauthority – сие мне неведомо.
через .xinit не стартует

#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)

if [ -d /etc/X11/xinit/xinitrc.d ]; then
  for f in /etc/X11/xinit/xinitrc.d/*; do
    [ -x "$f" ] && . "$f"
  done
  unset f
fi

# exec gnome-session
# exec startkde
exec startxfce4
# ...or the Window Manager of your choice
exec x11vnc -auth /home/111/.vnc/passwd

Заметил что... достаточно даже сделать рестарт graphical.target и vnc сервис стартует. Как можно организовать запуск сервиса после после полной загрузки оболочки? (предполагаю что во время старта .xauthoriyu еще не сгенерировался, хотя возможно я и не прав)
31rus, не удивительно.
Вы заметили, что два предыдущих exec в скрипте закомментированы? Как вы думаете, почему?
Вы знаете, что такое команда exec?
Зачем вы использовали команду, которой не знаете?

Команда exec запускает другую команду, вместо текущего процесса. То есть это последняя команда в скрипте, которая выполнится. В вашем случае последняя команда была
exec startxfce4
После неё ничего уже не будет работать.

Если вы действительно запускаете xfce через .xinitrc , вставьте строчку
x11vnc -many -auth /home/111/.vnc/passwd &
до exec.

Если вы запускаете *DE через *DM, то просто найдите в настройках среды запуск команд при старте, и добавьте команду запуска туда.
При запуске от пользователя никаких сервисов/юнитов не нужно.

Теперь по поводу самого x11vnc.
Параметр -many означает, что x11vnc будет перезапускаться, когда вы отключаетесь от него. Без этого вы сможете подключиться только один раз, а потом x11vnc завершится и больше не будет принимать подключения. Я не зря указал этот параметр.

извините за безграмотность) сделал по вашему примеру ( видимо на верном пути) . После авторизации что то пытается загрузить ( но безуспешно).. черный экран. но назат в консоль вернуться позволяет.... сервис vnc остановил... указывал и просто имя vnc и с полным путем
Запустите в консоли от юзера команду
x11vnc -storepasswd
Она попросит ввести два раза пароль, а потом предложит сохранить его в файле.
После этого замените в команде ключ -auth на -rfbauth и после перезапуска всё должно заработать.
благодарю... вопрос закрыт)))
naszar
И о безопастности подумайте. В моем случае ничего страшного, ибо пароль и я за натом.. По умолчанию x11vnc слушает все интерфейсы и не требует авторизации.
Самое паршивое в том, что у vnc в принципе можно набирать сколь угодно длинный пароль, будет как в аське - паролем станут ток первые 8 символов. Проверено. Плюсом ко всему vnc брутфорсится абсолютно без проблем, там нету функции заблокировать на скажем 5-10 минут возможность подключения при неправильно набранном раз 10 пароле. Так что безопасность аховая - слабо сказано.
Eva_Berg
naszar
И о безопастности подумайте. В моем случае ничего страшного, ибо пароль и я за натом.. По умолчанию x11vnc слушает все интерфейсы и не требует авторизации.
Самое паршивое в том, что у vnc в принципе можно набирать сколь угодно длинный пароль, будет как в аське - паролем станут ток первые 8 символов. Проверено. Плюсом ко всему vnc брутфорсится абсолютно без проблем, там нету функции заблокировать на скажем 5-10 минут возможность подключения при неправильно набранном раз 10 пароле. Так что безопасность аховая - слабо сказано.

предложите кроссплатформенный аналог.. будет интересно ознакомиться
 
Зарегистрироваться или войдите чтобы оставить сообщение.