четверг, 12 марта 2015 г.

Делаем доступ по XDMCP и VNC на Ubuntu-сервере (Xubuntu desktop)

Задача

Цепляться к экрану и клаве/мышке сервера, в том числе получать greeter при отсутствии пользователя. Это в принципе может быть применимо и для настольных компьютеров для организации "удаленного помошника". Хорошо бы еще иметь возможность открывать новые сессии отдельно от "локального" пользователя при помощи второго vnc-сервера. Ну и XDMCP лишним не будет (соседняя секция в том же конфиг-файле, на сколько это представляется "на входе").

Пути.

Пользовать надо x11vnc (дает физический экран, а не сессию). Есть сумасшедшая инструкция http://linux-sunxi.org/VNC Переписываем ее с изменениями, по факту, она стала еще короче!
sudo apt-get install x11vnc
sudo 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

И обычная 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 

[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

Делаем симлинк 
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




Комментариев нет:

Отправить комментарий