Настройка запуска X11VNC до авторизации пользователей.

Сообщения
68
#1
Ниже опишу как установить и настроить X11VNC (Сервер удаленного доступа по протоколу VNC) так, чтобы он запускался при старте дисплей менеджера (до авторизации пользователей):

1) Зайдем под root'ом:
su root

2) Установим пакет x11vnc:
apt-get install x11vnc

3) Зададим пароль для удаленного доступа (запишем его в файл "/etc/x11vnc.pass"):
x11vnc -storepasswd /etc/x11vnc.pass

4) Напишем демона для управление x11vnc как службой:
nano /lib/systemd/system/x11vnc.service
Код:
[Unit]
Description=Start x11vnc at startup.
After=multi-user.target

[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -display :0 -auth $(ls /var/run/xauth/{*}) -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared -env FD_XDM=1

[Install]
WantedBy=multi-user.target
5) Добавим демона x11vnc в автозагрузку:
systemctl enable x11vnc.service

6) Обновим данные о демонах:
systemctl daemon-reload

7) Запустим демона x11vnc:
systemctl start x11vnc

На этом всё. X11vnc работает и будет работать сразу после загрузки не дожидаясь пока пользователь войдет в систему.
Стоит обратить внимание на такой момент, если, вы подключены удаленно к системе (не важно до авторизации пользователя или после), и в этот момент завершить графический сеанс пользователя, то сессия VNC прервется и вы отключитесь от удаленной системы. Но не стоит пугаться, x11vnc продолжает работать и вы тут же сможете подключиться к системе вновь.
 
Сообщения
68
#2
После обновления до версии 2.12.40 описанный выше вариант перестал работать, а вот вариант описанный здесь работает. Так же apt начал ругаться на репозитории debian (или вернее сказать начал просить gpg ключ), если их просто прописать в "/etc/apt/sources.list ", что в общем-то не совсем корректно, но раньше у меня работало. Учитывая это всё инструкция получилась следующей (всё делаем под root'ом):

1) Установим пакеты "debian-archive-keyring dirmngr" для того, чтобы подключить репозиторий debian, как советуют здесь:
apt install debian-archive-keyring dirmngr

2) Подключим репозиторий debian:
echo "deb https://mirror.yandex.ru/debian/ stretch main contrib non-free" >> /etc/apt/sources.list
apt update


3) Установим пакет x11vnc:
apt install x11vnc

4) Отключим репозиторий debian:
head -n -1 /etc/apt/sources.list > /etc/apt/sources.list.sav ; mv /etc/apt/sources.list.sav /etc/apt/sources.list
apt update


5) Зададим пароль для удаленного доступа (запишем его в файл "/etc/x11vnc.pass"):
x11vnc -storepasswd /etc/x11vnc.pass

6) Напишем демона для управление x11vnc как службой:
nano /lib/systemd/system/x11vnc.service
Код:
[Unit]
Description=Start x11vnc at startup.
After=multi-user.target

[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbport 5900 -shared -dontdisconnect -rfbauth /etc/x11vnc.pass -o /var/log/x11vnc.log

[Install]
WantedBy=multi-user.target
7) Добавим демона x11vnc в автозагрузку:
systemctl enable x11vnc.service

8) Обновим данные о демонах:
systemctl daemon-reload

9) Запустим демона x11vnc:
systemctl start x11vnc
 

ilarionov

New member
Сообщения
2
#3
После обновления до версии 2.12.40 описанный выше вариант перестал работать, а вот вариант описанный здесь работает. Так же apt начал ругаться на репозитории debian (или вернее сказать начал просить gpg ключ), если их просто прописать в "/etc/apt/sources.list ", что в общем-то не совсем корректно, но раньше у меня работало. Учитывая это всё инструкция получилась следующей (всё делаем под root'ом):

1) Установим пакеты "debian-archive-keyring dirmngr" для того, чтобы подключить репозиторий debian, как советуют здесь:
apt install debian-archive-keyring dirmngr

2) Подключим репозиторий debian:
echo "deb https://mirror.yandex.ru/debian/ stretch main contrib non-free" >> /etc/apt/sources.list
apt update


3) Установим пакет x11vnc:
apt install x11vnc

4) Отключим репозиторий debian:
head -n -1 /etc/apt/sources.list > /etc/apt/sources.list.sav ; mv /etc/apt/sources.list.sav /etc/apt/sources.list
apt update


5) Зададим пароль для удаленного доступа (запишем его в файл "/etc/x11vnc.pass"):
x11vnc -storepasswd /etc/x11vnc.pass

6) Напишем демона для управление x11vnc как службой:
nano /lib/systemd/system/x11vnc.service
Код:
[Unit]
Description=Start x11vnc at startup.
After=multi-user.target

[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbport 5900 -shared -dontdisconnect -rfbauth /etc/x11vnc.pass -o /var/log/x11vnc.log

[Install]
WantedBy=multi-user.target
7) Добавим демона x11vnc в автозагрузку:
systemctl enable x11vnc.service

8) Обновим данные о демонах:
systemctl daemon-reload

9) Запустим демона x11vnc:
systemctl start x11vnc
Доброго дня. Метод рабочий, спасибо. Скажите, удалось ли настроить корректно работающий буфер обмена?
У меня возникает следующая беда: с удалённой машины копируются корректно только латинские буквы. Вместо кириллицы копируются знаки вопроса.
С той машины, с которой подключаюсь (win 10) на удалённую машину копируется точно также. Латинские буквы и символы - отлично копируются, а вот с кириллицей беда.
 
Сообщения
68
#4
Доброго дня. Метод рабочий, спасибо. Скажите, удалось ли настроить корректно работающий буфер обмена?
У меня возникает следующая беда: с удалённой машины копируются корректно только латинские буквы. Вместо кириллицы копируются знаки вопроса.
С той машины, с которой подключаюсь (win 10) на удалённую машину копируется точно также. Латинские буквы и символы - отлично копируются, а вот с кириллицей беда.
У меня аналогичная проблема.
 

Ramzes III

New member
Сообщения
7
#5
Доброго дня. Метод рабочий, спасибо. Скажите, удалось ли настроить корректно работающий буфер обмена?
У меня возникает следующая беда: с удалённой машины копируются корректно только латинские буквы. Вместо кириллицы копируются знаки вопроса.
С той машины, с которой подключаюсь (win 10) на удалённую машину копируется точно также. Латинские буквы и символы - отлично копируются, а вот с кириллицей беда.
Кодировка на стороне Астры UTF-8 на стороне Windows - 1251. Причина в этом.
Решения пока не придумал.

У меня другая проблема. При подключении, в правой части экрана вижу продублированные обои рабочего стола. Сталкивался ли кто с такой проблемой?
Сразу скажу, что VNC клиенты испытывал разные. Похоже дело не в них.

1644309598773.png
 
Последнее редактирование:

Alex89

New member
Сообщения
51
#6
кто-нибудь победил кодировку на x11vnc? В остальном вроде нормально работает. Передачу файлов не пробовал.
 
Последнее редактирование:

DAK

New member
Сообщения
2
#7
Ещё актуальная тема? По поводу клиента под Винду - там нечего побеждать. Главное правильные иксы на Винду поставить. Завтра могу рабочую связку клиента и сервера для винды написать. Гораздо хуже меня подколола связка клиент на астре и сервер на астре, версии одинаковые, однако проблема с буфером при копировании с сервера в клиента наблюдаются искажения кириллицы. Понимаю что проблема не в x2go, проблема в связке nxagen nxproxy xorg. Копал репу дебиана на предмет этих пакетов, увидел что самые большие изменения по работе буфера обмена проводились в 2020 году, а в астре пакеты 2018го года. Вообще я обожаю терминальный сервер на x2go, с виндой проблем нет, с из астры в астру есть. Боюсь что я даже нашёл решение, скорее всего оно исправит связку астра-астра, однако проблемы появятся в винде.
 

Mischutka

New member
Сообщения
320
#8
Кодировка на стороне Астры UTF-8 на стороне Windows - 1251. Причина в этом.
Решения пока не придумал.

У меня другая проблема. При подключении, в правой части экрана вижу продублированные обои рабочего стола. Сталкивался ли кто с такой проблемой?
Сразу скажу, что VNC клиенты испытывал разные. Похоже дело не в них.

Посмотреть вложение 2017
Может в свойствах обоев выбрать опцию "растянуть"?
 

Карл

New member
Сообщения
506
#10
как подключаться в новую сессию, а не в текущий рабочий стол ?
 

Карл

New member
Сообщения
506
#11
пока решил через nomachine, но если можно через vnc, то попробовал бы
 

rbits

New member
Сообщения
1
#12
cat /etc/os-release
Код:
PRETTY_NAME="Astra Linux (Orel 2.12.46)"
NAME="Astra Linux (Orel)"
ID=astra
ID_LIKE=debian
ANSI_COLOR="1;31"
HOME_URL="http://astralinux.ru"
SUPPORT_URL="http://astralinux.ru/support"
VARIANT_ID=orel
VARIANT=Orel
LOGO=astra
VERSION_ID=2.12.46
VERSION_CODENAME=orel
cat /etc/apt/sources.list
Код:
deb https://dl.astralinux.ru/astra/stable/2.12_x86-64/repository/ orel main contrib non-free
deb https://archive.debian.org/debian/ stretch main contrib non-free
- создать каталог .vnc в директории рута
mkdir /root/.vnc
- создать файл passwd с паролем командой
x11vnc -storepasswd /root/.vnc/passwd

- создать файл:
touch /lib/systemd/system/x11vnc.service
или открыть в текстовом редакторе под рутом
medit /lib/systemd/system/x11vnc.service
и внести текст и сохранить

cat /lib/systemd/system/x11vnc.service
Код:
[Unit]
Description=Start x11vnc at startup.
After=prefdm.service

[Service]
User=root
Restart=on-failure
ExecStart=/usr/bin/x11vnc -auth guess -usepw -noxfixes -forever -rfbport 5900 -shared -dontdisconnect -rfbauth /root/.vnc/passwd

[Install]
WantedBy=multi-user.target
- перечитать сервисы запуска
systemctl --system daemon-reload
- запустить сервис и добавить его в автозагрузку

systemctl status x11vnc.service - проверка статуса
systemctl start x11vnc.service - старт
systemctl stop x11vnc.service - стоп
systemctl restart x11vnc.service - рестарт
systemctl enable x11vnc.service - включить в автозагрузку
systemctl disable x11vnc.service - удалить из автозагрузки

Всякие там опции ExecStart=/usr/bin/x11vnc ... см. man x11vnc