Итак задача: обеспечить доступ к машине через VNC даже если пользователь не зашел в систему. Использовать только один сеанс.
Решение:
1. Удаляем vino (чтобы не было проблем с занятием порта и т.п.)
sudo apt-get remove vino
2. Устанавливаем x11vnc
sudo apt-get install x11vnc
3. Делаем пароль для доступа к VNC. Тут надо быть очень внимательными вот почему. По-умолчанию VNC не использует туннель shh следовательно информация не шифруется, потому если машина для вас очень важная и критичная, надо погуглить на тему проброса VNC и его портов через туннель SSH
x11vnc -storepasswd
Пароль сохраняется в /home/ВАШЕ ИМЯ ПОЛЬЗОВАТЕЛЯ/.vnc/passwd (где ВАШЕ ИМЯ ПОЛЬЗОВАТЕЛЯ – имя пользователя, под которым вы выполнили команду). Важно выполнить эту команду не из под sudo иначе будут проблемы с правами доступа при логине.
4. Автозагрузка службы x11vnc. Очень важно (для меня) чтобы служба была уже доступна при загрузке Х т.е. пользователь еще не зашел в систему, но доступ к машине уже есть. Почему это важно? Ответ прост. В BIOS включено включение по питанию, следовательно если даже на «сервачке» пропало питание, то как только оно появится он включится сам опять и загрузится. Для этого и нужно иметь доступ уже на уровне GDM.
Редактируем файл /etc/mdm/Init/Default (не забываем выполнить это из под root или sudo иначе не сохраните изменения)
Добавить в конец файла до exit 0 следующую строку:
/usr/bin/x11vnc -dontdisconnect -notruecolor -noxfixes -shared -forever -rfbport 5900 -bg -o /var/log/x11vnc.log -rfbauth /home/ВАШЕ ИМЯ ПОЛЬЗОВАТЕЛЯ/.vnc/passwd
-dontdisconnect — не отключать при простоях, что важно если свернули окно сессии
-forever — очень важный параметр. Без него x11vnc после завершения сеанса выключается и больше вы не зайдете пока по ssh опять не запустите его, что не удобно.
-rfbport — указываем на каком порту будет работать наш VNC
Далее сохраняем файл и перегружаем машину.
В некоторых статьях попадается что эту же строку надо добавить в файл /etc/gdm/gdm.conf-custom но его в Mint нет, но все работает и так.
Вот собственно и все, но стоило это долгих поисков в инете 🙂
Записки, чтобы помнить!
P.S. Пока из не решенных вопросов осталось переключение клавиатуры. С вводом русского языка проблем нет ни каких, но вот переключатель правильно реагирует только если переключить мышкой а не комбинацией клавиш. Но для меня это не критично, возможно позже найду в чем загвоздка.