Задача
Цепляться к
экрану и клаве/мышке сервера, в
том числе получать greeter при отсутствии
пользователя. Это в принципе может быть применимо и для настольных компьютеров для организации "удаленного помошника". Хорошо бы еще иметь возможность открывать новые сессии отдельно от "локального" пользователя при помощи второго vnc-сервера. Ну и XDMCP лишним не будет (соседняя секция в том же конфиг-файле, на сколько это представляется "на входе").
Пути.
Пользовать
надо x11vnc (дает физический экран, а не сессию).
Есть сумасшедшая инструкция
http://linux-sunxi.org/VNC Переписываем ее с изменениями, по факту, она стала еще короче!
sudo apt-get install x11vncsudo x11vnc -storepasswd /etc/x11vnc.pass
и вводим какой-либо пароль «от дурака»
создаем (см. дополнение про Xubuntu 18.04 в конце) /etc/init/x11vnc.conf
и в него пишем (там собственно 1 длинная строка, ее можно копипастить):
start on login-session-start
script
/usr/bin/x11vnc -xkb -auth /var/run/lightdm/root/:0 -noxrecord -noxfixes -noxdamage -rfbauth /etc/x11vnc.pass -forever -shared -bg -rfbport 5900 -o /var/log/x11vnc.log
end script
запускаем start x11vnc
[Unit]
Description=x11vnc remote desktop server
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared
Restart=on-failure
[Install]
WantedBy=multi-user.target
Делаем симлинк
script
/usr/bin/x11vnc -xkb -auth /var/run/lightdm/root/:0 -noxrecord -noxfixes -noxdamage -rfbauth /etc/x11vnc.pass -forever -shared -bg -rfbport 5900 -o /var/log/x11vnc.log
end script
запускаем start x11vnc
И обычная remmina способна прицепиться. В конфиге только параметры производительности и адрес. Если юзер залогинен — получаем его сессию. Если нет — логин скрин и логинимся. При этом на физическом экране начинает отображаться наша сессия, мы же «железо» перехватываем. X11vnc теперь у нас взлетает на автомате по загрузке.
Доводим до ума настройки lightdm
Нужно убрать гостевой вход и список существующих пользователей.
создаем (обычно он уже есть, но в нем только заголовок секции) файл /etc/lightdm/lightdm.conf.d/10-xubuntu.conf
В нем должно быть вот чего:
[SeatDefaults]
user-session=xubuntu
allow-guest=false
greeter-hide-users=true
greeter-show-manual-login=true
Можно еще попробовать убрать кнопочку питания, для этого в файле /etc/lightdm/lightdm-gtk-greeter-ubuntu.conf
находим строку вида
находим строку вида
indicators=~language;~session;~power
обычно последняя. И убираем ';~power'
Второй сервер и XDMCP.
Работает крайне нестабильно... Смотрим дополнения.Дополнение 27 января 2016
Для толстых LTSP-клиентов получился совсем особый путь.Дополнение 25 февраля 2016
Установка x2go.Дополнение 13 ноября 2019 (с изменениями от 28 ноября 2020)
Для Xubuntu 18.04 и 20.04 вместо /etc/init/x11vnc.conf создаем /lib/systemd/system/x11vnc.service
Description=x11vnc remote desktop server
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared
Restart=on-failure
[Install]
WantedBy=multi-user.target
Делаем симлинк
ln -s /lib/systemd/system/x11vnc.service /etc/systemd/system/multi-user.target.wants
Ну и используем соотв. команды типа service x11vnc start [enable status]
Дополнение от 12 июня 2021 для Xubuntu 20.04
[Unit]
Description=x11vnc service
After=display-manager.service network.target syslog.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -forever -display :0 -auth guess -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared
ExecStop=/usr/bin/killall x11vnc
Restart=on-failure
[Install]
WantedBy=multi-user.target
Гораздо более стабильно работает. Идея взята из https://www.crazy-logic.co.uk/projects/computing/how-to-install-x11vnc-vnc-server-as-a-service-on-ubuntu-20-04-for-remote-access-or-screen-sharing
Комментариев нет:
Отправить комментарий