Удаленный рабочий стол VNC ALT LINUX

Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 331
Зарегистрирован: Вс фев 17, 2019 17:47
Репутация: 4
Откуда: Вологодская область
Контактная информация:

Удаленный рабочий стол VNC ALT LINUX

Сообщение Артём Мамзиков » Вс апр 25, 2021 17:14 #1

Установка vnc сервера x11vnc для предоставления удаленного доступа

1. Авторизуемся в терминале под пользователем root:

2. Устанавливаем x11vnc
apt-get install x11vnc
Так же можно установить и через Synaptic, найти пакет по имени «x11vnc», отметить для установки, применить действия.

3. Создаем папку для хранения файла пароля для подключения по VNC
mkdir /etc/vnc

4. Устанавливаем пароль «ваш_пароль» и записываем его в файл
x11vnc -storepasswd ваш_пароль /etc/vnc/passwd

5. Создаем log файл
touch /var/log/x11vnc.log

6. Создаем файл unit-a
touch /lib/systemd/system/x11vnc.service

7. Открываем на редактирование созданный в п.6. файл
pluma /lib/systemd/system/x11vnc.service

8. Набираем в открытом файле следующий текст
[Unit]
Description=x11vnc
After=multi-user.target

[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -rfbport 5900 -ultrafilexfer -shared -rfbauth /etc/vnc/passwd -o /var/log/x11vnc.log -auth /var/run/lightdm/root/:0

[Install]
WantedBy=multi-user.target


9. Перечитываем сервисы, что бы система обнаружила unit
systemctl daemon-reload

10. Запускаем сервис.
systemctl start x11vnc.service

11. Настраиваем автозагрузка созданного сервиса
systemctl enable x11vnc.service



На AltLinux 8 работает все без проблем на данной конфигурации от root
ExecStart=/usr/bin/x11vnc -rfbport 5900 -ultrafilexfer -shared -rfbauth /etc/vnc/passwd -o /var/log/x11vnc.log -auth /var/run/lightdm/root/:0
а на AltLinux 7 работает только до входа в учетную запись, далее изображение отваливается и получаем черный экран.

Сразу напишу тут рабочую строку для алт7 (нужно прописать пользователя от которого выполнен вход)
ExecStart=/usr/bin/x11vnc -rfbport 5900 -dontdisconnect -ultrafilexfer -shared -forever -display :1 -rfbauth /etc/vnc/passwd -o /var/log/x11vnc.log -auth /var/run/lightdm/kiosk2/xauthority

Далее экспериментируем
от пользователя kiosk2
systemctl enable x11vnc@kiosk2.service

запускать службы при первом входе в систему, выполните
systemctl --user enable service для любой службы

включить службу для всех пользователей, а не для пользователя, выполняющего команду systemctl , запустите
systemctl --user --global enable service от имени суперпользователя

Служба для пользователя
~/.config/systemd/user
chmod 777 /home/kiosk2/.config/systemd/user/x11vnc.service
по умолчанию
nano /lib/systemd/system/x11vnc.service


Включение переменных для пользователя
создайте файл .conf в каталоге ~/.config/environment.d/ со строками вида {{ic | 1 = NAME = VAL}. Применяется только к части пользовательских служб.
Используйте опцию DefaultEnvironment в /etc/systemd/user.conf. Применяется ко всем пользовательским службам.
Добавление конфигурационного файла в /etc/systemd/system/user@.service.d/. Применяется ко всем пользовательским процессам

Пример
/etc/systemd/system/user@.service.d/local.conf

[Service]
Environment="PATH=/usr/lib/ccache/bin:/usr/local/bin:/usr/bin:/bin"
Environment="EDITOR=nano -c"
Environment="BROWSER=firefox"
Environment="NO_AT_BRIDGE=1"


Для теста
export PATH="/home/kiosk2/bin:/sbin:/usr/sbin:/usr/local/sbin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/usr/games"

https://wiki.archlinux.org/index.php/Sy ... %B8%D0%B9)


Для дисплей менеджера lightdm:

[Unit]
Description=X11VNC Server
After=prefdm.service

[Service]
User=root
Restart=on-failure
ExecStart=/usr/bin/x11vnc -auth /var/run/lightdm/root/:0 -dontdisconnect -notruecolor -noxfixes -shared -forever -rfbport 5900 -bg /var/log/x11vnc.log -rfbauth /etc/vnc/passwd

[Install]
WantedBy=graphical.target

Для дисплей менеджера sddm:

[Unit]
Description=X11VNC Server
After=graphical.target

[Service]
Restart=always
RestartSec=30
Type=simple
ExecStart=-/bin/bash -c "/usr/bin/x11vnc -display :0 -shared -dontdisconnect -many \
-auth $(ls /var/run/sddm/{*}) -rfbauth /etc/vnc/passwd -o /var/log/x11vnc.log"

[Install]
WantedBy=graphical.target


Пользователя в админы
usermod -a -G adm kiosk2
или
nano /etc/group


Запуск vnc из графического интерфейса
x11vnc -gui tray=setpass -rfbport PROMPT -bg -o %HOME/.x11vnc.log.%VNCDISPLAY
tail -f /tmp/x11vnc.tray.02Ijw4
x11vnc

#ExecStart=/usr/bin/x11vnc -rfbport 5900 -shared -rfbauth -display :4 -forever /etc/vnc/passwd -o /var/log/x11vnc.log -auth /usr/libexec/polkit-mate-authentication-agent-1
#ExecStart=/usr/bin/x11vnc -rfbport 5900 -shared -rfbauth -display /etc/vnc/passwd -o /var/log/x11vnc.log -auth /usr/libexec/polkit-mate-authentication-agent-1
ExecStart=/usr/bin/x11vnc -rfbport 5900 -dontdisconnect -shared -forever -display :1 -rfbauth /etc/vnc/passwd -o /var/log/x11vnc.log -auth /var/run/lightdm/kiosk2/xauthority
#ExecStart=/usr/bin/x11vnc -rfbport 5900 -dontdisconnect -noxfixes -shared -forever -display :0 -rfbauth /etc/vnc/passwd -o /var/log/x11vnc.log -auth /var/run/lightdm/root/:0

x11vnc имеет (слишком много) функций, которые могут быть активированы с помощью параметров командной строки.
Некоторые из них:
-rfbport - порт для подключения к x11vnc
-dontdisconnect не отключайте существующих клиентов, когда новый не общий доступ
-noxfixes не используйте расширение XFIXES для рисования точного курсора форма, даже если она доступна.
-notruecolor -отключение полной цветопередачи, полезно для слабого канала интернета. Получим восьмибитный цвет.
-forever -после запуска x11vnc ждёт подключения клиента, а по завершении подключения - завершает свою работу. Если необходимо чтобы x11vnc был запущен постоянно и не завершал работу после отключения клиента - нужно добавить опцию -forever к строке запуска.
-display :0 -явно указываем используемый дисплей. Если опция не указана то используется дисплей, указанный в переменной окружения DISPLAY. Если же переменная окружения DISPLAY не указана - создаётся новый дисплей.
-usepw - вынуждает x11vnc использовать авторизацию
-scale 2/3 - масштабирование передаваемого изображения. Размер 2/3 от оригинала. Полезно для слабого канала интернета.
-shared – позволяет производить подключения к серверной части нескольким клиентам одновременно;
-ultrafilexfer передача файлов для UltraVNC
-tightfilexfer передача файлов для TightVNC
-loop – после отключения клиента перезапускает x11vnc;
-o – путь на лог файл, позволяет указать файл, который используется для записи информационных сообщений x11vnc;
-rfbauth – указывает на шифрованный файл с паролями;
-desktop – позволяет задать название окна для клиента при подключении.
-bg - фоновом режиме после настройки подключения к дисплею (при-bg сообщения stderr будут потеряны)
-q (-quiet) и-bg тихим перейти в фоновый режим после запуска
-localhost - ограничивает входящие соединения vncviewer только теми, которые поступают с одной и той же машины

Буфер обмена
ПЕРВИЧНОЕ копирование выделение и готов к вставке, обычно с помощью средней кнопки мыши (нажимаем на колесико) или "Shift+Insert"
ввиду кодировок 1251 и utf8 русский идет иероглифами

http://www.karlrunge.com/x11vnc/x11vnc_opts.html


ps wwwwaux | grep auth
root 2381 0.0 0.3 187788 15380 tty7 Ssl+ сен16 0:01 /usr/bin/X :0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
root 2838 0.0 0.9 207216 36884 tty8 Ssl+ сен16 0:01 X -auth /var/run/lightdm/kiosk2/xauthority -nolisten tcp :1
kiosk2 2999 0.0 0.1 260532 6840 ? Sl сен16 0:00 /usr/libexec/polkit-mate-authentication-agent-1
root 3195 0.0 0.2 79520 8648 ? Ss сен16 0:09 /usr/bin/x11vnc -rfbport 5900 -shared -rfbauth -display :0 /etc/vnc/passwd -o /var/log/x11vnc.log -auth /var/run/lightdm/root/:0
root 17680 0.0 0.0 10292 908 pts/0 S+ 08:15 0:00 grep --color=auto auth

алт02
ps wwwwaux | grep auth
root 2021 0.6 0.6 190544 27376 tty1 Ss+ 08:07 0:00 X -nolisten tcp :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt1 -novtswitch
root 4098 0.0 0.3 83684 13468 ? Ss 08:07 0:00 /usr/bin/x11vnc -rfbport 5900 -shared -rfbauth /etc/vnc/passwd -o /var/log/x11vnc.log -auth /var/run/lightdm/root/:0
root 4151 0.0 0.0 6996 756 pts/0 S+ 08:08 0:00 grep --color=auto auth

ps wwwwaux | grep auth после включения учетки пользователя
root 2021 0.6 1.1 268160 47396 tty1 Ss+ 08:07 0:01 X -nolisten tcp :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt1 -novtswitch
root 4098 0.0 0.3 83684 13468 ? Ss 08:07 0:00 /usr/bin/x11vnc -rfbport 5900 -shared -rfbauth /etc/vnc/passwd -o /var/log/x11vnc.log -auth /var/run/lightdm/root/:0
user 6094 0.0 0.3 342320 14932 ? Sl 08:09 0:00 /usr/libexec/polkit-mate-authentication-agent-1
root 6504 0.0 0.0 6996 864 pts/0 S+ 08:10 0:00 grep --color=auto auth



ExecStart=/usr/bin/x11vnc -rfbport 5900 -shared -rfbauth /etc/vnc/passwd -o /var/log/x11vnc.log -auth /var/run/lightdm/root/:0

Про ошибки и работу можно почитать тут LibVNC /x11vnc

Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 331
Зарегистрирован: Вс фев 17, 2019 17:47
Репутация: 4
Откуда: Вологодская область
Контактная информация:

Удаленный рабочий стол VNC ALT LINUX

Сообщение Артём Мамзиков » Вс апр 25, 2021 18:42 #2

Далее устанавливаем на Windows откуда будет выполнятся подключение.

Сайт UltraVNC

UltraVNC (иногда пишется как Ultr@VNC) — это свободное программное обеспечение для операционной системы Microsoft Windows, использующее протокол VNC для управления удалёнными рабочими столами на других компьютерах. Он очень похож на RealVNC Free Edition, но здесь, помимо удалённого управления, поддерживаются дополнительные возможности, такие как модуль шифрования для безопасного клиент-серверного соединения. Содержит модуль Java Viewer, который позволяет получить доступ к компьютеру, используя простой веб-браузер, поддерживающий Java. Также возможна отправка файлов, чат и различные методы аутентификации. Программное обеспечение свободно и распространяется под GNU General Public License. UltraVNC написан на языках C, C++, и Java.

Загружаем установочник например UltraVNC_1_3_2_X64_Setup.exe

Запускаем установку

Выбираем язык
vnc language.jpg
vnc language
Далее Лицензионное соглашение
vnc license.jpg
vnc licens
Информация о выпусках и другая информация
vnc information.jpg
vnc information
Выбор компонентов установки
vnc custom installation.jpg
vnc custom installation
Ставим указанные галочки, чтобы установить UltraVNC сервер как системную службу и запустить его сразу после установки, создать ярлыки и задать расширение для .vnc файлов
vnc service.jpg
vnc service
Register UltraVNC Server as system service — зарегистрировать UltraVNC сервер как системную службу
Start or restart UltraVNC service — запустить или перезапустить службу UltraVNC
Create UltraVNC desktop icons — создать иконки UltraVNC на рабочем столе
Associate UltraVNC Viewer with the .vnc file extension — связать UltraVNC Viewer с расширением .vnc
Если вы хотите использовать UltraVNC только как просмотрщик для подключения к удалённому рабочему столу, то отключите первые два пункта. Если вы хотите изредка использовать UltraVNC сервер, то также можно отключить первые два пункта, поскольку вы можете запускать сервер UltraVNC только когда вам это нужно. Если данный компьютер должен постоянно быть доступным для VNC подключений, то включите службу UltraVNC сервера.


Информация перед установкой выбранных позиций
vnc ready.jpg
vnc ready
Процесс установки
vnc install.jpg
vnc install
Информация об установке
vnc info.jpg
vnc info
Завершение установки
vnc finish.jpg
vnc finish
Ярлыки после установки
vnc - ярлыки.jpg
vnc - ярлыки

Ответить Вложения 10

Вернуться в «Linux»