Не могу настроить VNC сервер
Не могу настроить VNC сервер
Доброго времени суток! Прошу подсказать, возможно ли вообще на данный момент на Rosa Fresh настроить нормально работающий VNC сервер, как службу? Vino запускается только из под текущего пользователя, когда он уже вошел в систему, любые попытки настроить, как службу, выдают ошибки, с x11vnc такая же беда. Tigervnc запускается, как служба, но тоже в процессе работы идут ошибки, видимо приводящие к тому, что клиента выбрасывает максимум через минуту после подключения, а через минут 10 сам VNC падает. В других линуксах таких проблем не было. Может я что не так делаю, но всевозможные источники информации по настройке не помогают.
Не могу настроить VNC сервер
Эту тему читали?
Там описано 2 варианта - через правку конфига дисплейного менеджера и через юнит systemd.
Первый вариант рабочий, второй не проверял:
Там описано 2 варианта - через правку конфига дисплейного менеджера и через юнит systemd.
Первый вариант рабочий, второй не проверял:
Не могу настроить VNC сервер
Я так понял, для конкретных DM настройка возможна, но не для всех. А так, перепробовал кучу настроек и ман перечитал, в любом случае выдает XOpenDisplay failed, и не важно :0 :1 :2.
Не могу настроить VNC сервер
lxqt и xfce
Не могу настроить VNC сервер
DM= Display Manager;
DE= Desktop Environment;
DM<>DE;
В перечисленных DE в качестве DM выступает GDM, в принципе он и в "KDE PLASMA" является DM "по умолчанию".
В таком случае, как и говорилось выше, при ознакомлении с указанной темой, можно было бы увидеть рекомендацию ознакомиться со статьёю wiki "ArchLinux", где заботливо перечислены способы получения токенов авторизаций различных DM.
Ознакомьтесь со статьёю и попробуйте использовать рекомендации при подключении, и если что-то у вас не заработает, то покажите ошибки.
Полагаю с помощью подсказок от сообщества Мы сможем разрешить Ваш насущный вопрос.
Перед запуском unit-сервиса тестируйте работу x11vnc с заданными параметрами из командной строки и/ или пишите запуск сервиса в лог, что поможет Вам отловить ошибки.
Не могу настроить VNC сервер
Вот, DE= LXQt, DM= GDM, работает в качестве unit-сервиса и на экране логина:
Само решение для GDM можно подсмотреть здесь (для "ROSA Linux" его следует чуть-чуть подправить).
Если решение покажется сложным, тогда, как вариант, менять DM на установленных системах.
Если решение покажется сложным, тогда, как вариант, менять DM на установленных системах.
Не могу настроить VNC сервер
Если запускать x11vnc из терминала (с правами рут конечно), то всё прекрасно запускается и работает и через ручной запуск и через systemd unit, но при старте системы в лог выдаёт XOpenDisplay failed. Получается, что система пытается запустить x11vnc до старта иксов и как это поправить, я пока не знаю. Пробовал настройки с Ваших ссылок, результат один.
- MikiLinux
- Сообщения: 102
- Зарегистрирован: 11 июн 2023, 21:41
- Откуда: Vicino Roma
- Контактная информация:
Не могу настроить VNC сервер
What is the output of the command you give?Mikhail41 писал(а): ↑26 июн 2023, 16:27Если запускать x11vnc из терминала (с правами рут конечно), то всё прекрасно запускается и работает и через ручной запуск и через systemd unit, но при старте системы в лог выдаёт XOpenDisplay failed. Получается, что система пытается запустить x11vnc до старта иксов и как это поправить, я пока не знаю. Пробовал настройки с Ваших ссылок, результат один.
e.g. if you give a command
Код: Выделить всё
x11vnc -display :0
You can write answer in Russian language, I will help with the Yandex translator.
########################
Italiano
Qual è l'output del comando che dai? Ad esempio se dai il comando:
Код: Выделить всё
x11vnc -display :0
Puoi scrivere la risposta in russo, io mi aiuto con il traduttore.
Desktop: Rosa Linux 12.4 KDE/Plasma
PC Lab: Rosa Linux 12.4 XFCE
Portatile: Rosa Linux 12.4 LxQt
https://elettrolinux.com
PC Lab: Rosa Linux 12.4 XFCE
Portatile: Rosa Linux 12.4 LxQt
https://elettrolinux.com
Не могу настроить VNC сервер
Можете показать, что Вы пробовали и чего достигли на данный момент?
Вы последнюю предложенную статью читали, про наличие двух unit-сервиса обратили внимание?
Почему требуется именно такая реализация стало понятно?
Не могу настроить VNC сервер
Один юнит такой:
Он запускается, только когда происходит авторизация пользователя, при выходе из аккаунта, он выключается и доступ пропадает, а мне нужно, чтобы доступ был и до логина.
Второй юнит:
Он тоже запускается, но не на что не влияет и не понятно для чего если честно. Если вставить вместо 500 id пользователя gdm, то юнит не стартует, но и папки соответствующей в каталоге нет.
Код: Выделить всё
[Unit]
Description=VNC Server (testuser)
After=graphical.target
[Service]
User=admin23
ExecStartPre=sh -c 'while ! pgrep -U testuser Xorg; do sleep 2; done'
ExecStartPre=+systemctl stop vnc-gdm.service
ExecStart=x11vnc -many -shared -display :1 -auth /home/testuser/.Xauthority -rfbauth /home/testuser/.vnc/passwd
Restart=on-failure
RestartSec=3
[Install]
WantedBy=graphical.target
Второй юнит:
Код: Выделить всё
[Unit]
Description=VNC Server (gdm)
After=graphical.target
[Service]
ExecStart=bash -c 'x11vnc -auth /run/user/500/gdm/Xauthority -display :1 -nopw -o /home/testuser/x11vnc.log'
Restart=on-failure
RestartSec=3
[Install]
WantedBy=graphical.target
Не могу настроить VNC сервер
Вот этот юнит будет работать на экране пользователей:
Здесь стоит обратить внимание и понимать, что до логина токены авторизаций у пользователей отсутствуют, но есть авторизация самого GDM, которую можно получить указанным способом.
После авторизации пользователей авторизация GDM уничтожается (в этом Вы можете убедиться открыв соседнюю консоль до авторизации и исследовать директорию /run/user/).
Также обратите внимание на путь к паролю и логу x11vnc - они системные, при необходимости задайте и/ или укажите Свои пути.
В конечном итоге Вам останется разобраться с порядком запуска сервисов, когда один (системный) запускает "x11vnc" для "отлова" экрана логина, а последующий, после логона пользователя, завершает системный и запускает "x11vnc" в сеансе пользователя.
Если пользователь в системе ровно один, то это не представляется проблемой.
Если пользователей несколько, возможно, что придётся заморочиться.
Код: Выделить всё
cat /lib/systemd/system/vnc-gdm.service
[Unit]
Description=VNC Server (gdm)
After=graphical.target
[Service]
ExecStart=/bin/bash -c "/usr/bin/x11vnc -auth /run/user/$(id -u gdm)/gdm/Xauthority -display :0 -rfbauth /etc/x11vnc.pass -o /var/log/x11vnc.log"
Restart=on-failure
RestartSec=3
[Install]
WantedBy=graphical.target
После авторизации пользователей авторизация GDM уничтожается (в этом Вы можете убедиться открыв соседнюю консоль до авторизации и исследовать директорию /run/user/).
Также обратите внимание на путь к паролю и логу x11vnc - они системные, при необходимости задайте и/ или укажите Свои пути.
В конечном итоге Вам останется разобраться с порядком запуска сервисов, когда один (системный) запускает "x11vnc" для "отлова" экрана логина, а последующий, после логона пользователя, завершает системный и запускает "x11vnc" в сеансе пользователя.
Если пользователь в системе ровно один, то это не представляется проблемой.
Если пользователей несколько, возможно, что придётся заморочиться.
Не могу настроить VNC сервер
Спасибо, nickm, поправил юнит для gdm, теперь всё работает, конечно не совсем удобно с двойной авторизацией, но хоть так.
Не могу настроить VNC сервер
Хорошо, если так, но!
Разлогин пользователя и Вы потеряете подключение - если требуется поддерживать подключение, то придётся городить огород.
Если пользователей несколько - то также придётся городить огород.
Следует понимать, что это ограничение DM, а не DE и дистрибутива.
С другой стороны, если всё грамотно "заскриптовать" - выработать рабочее решение, то в конечном случае количество сервисов не будет иметь значение.
Не могу настроить VNC сервер
Я решил вопрос по-другому.
1. Устанавливаем tigervnc-server;
2. через vncpasswd от пользователя (без прав рут) задаем пароль, файлик появляется в стандартной директории /home/<USER>/.vnc
3. В той же директории создаём файл config и вносим параметры securitytypes=vncauth,tlsvnc и geometry=<удобное разрешение экрана>, файл можно также скопировать из директории /etc/tigervnc
4. В той же директории создаём файл xstartup со следующим содержимым:
Вместо <Ваш DE> должен быть указан исполнимый файл, запускающий X сессию:
5. В директории /etc/systemd/system создаем файл vncserver@.service со следующим содержимым:
P.S.: Для sddm и lightdm строка с параметром ExecStartPre не нужна!
5. перезагружаем демон systemctl daemon-reload, делаем автоматический запуск созданного юнита systemctl enable vncserver@:0
6. перезагружаем систему - должно работать уже на стадии авторизации.
И никаких двойных перелогинов и выход пользователя не влияет на работу юнита.
С x11vnc тоже разобрался, но наблюдаются глюки с клавиатурой и мышкой, в tigervnc их нет.
1. Устанавливаем tigervnc-server;
2. через vncpasswd от пользователя (без прав рут) задаем пароль, файлик появляется в стандартной директории /home/<USER>/.vnc
3. В той же директории создаём файл config и вносим параметры securitytypes=vncauth,tlsvnc и geometry=<удобное разрешение экрана>, файл можно также скопировать из директории /etc/tigervnc
4. В той же директории создаём файл xstartup со следующим содержимым:
Код: Выделить всё
#!/bin/bash
PATH=/usr/bin:/usr/sbin
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec <Ваш DE> &
- Для XFCE: startxfce4
Для GNOME: /usr/bin/gnome-session
Для lxqt: startlxqt
5. В директории /etc/systemd/system создаем файл vncserver@.service со следующим содержимым:
Код: Выделить всё
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
WorkingDirectory=/home/<USER>
User=<USER>
ExecStartPre=/bin/sh -c '/usr/libexec/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/libexec/vncserver %i
ExecStop=/usr/libexec/vncserver -kill %i
Restart=on-success
RestartSec=3
[Install]
WantedBy=multi-user.target
5. перезагружаем демон systemctl daemon-reload, делаем автоматический запуск созданного юнита systemctl enable vncserver@:0
6. перезагружаем систему - должно работать уже на стадии авторизации.
И никаких двойных перелогинов и выход пользователя не влияет на работу юнита.
С x11vnc тоже разобрался, но наблюдаются глюки с клавиатурой и мышкой, в tigervnc их нет.