|
|||||||
Как использовать в Astra Linux графический удаленный доступ через VNC-сервер?
Время создания: 13.06.2024 15:10
Текстовые метки: linux, astra, vnc, vino, tigervnc, vncviewer, удаленный, доступ, графический, GUI, настройка, подключение, рабочий, стол, терминал, X11
Раздел: Компьютер - Linux - Дистрибутив Astra Linux
Запись: xintrea/mytetra_syncro/master/base/1718280620wm5drrlxy6/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
В Astra Linux самописный рабочий стол Fly и графический сервер X11 были сильно модифицированы, чтобы обеспечить работу в различных режимах доступа, в том числе и с использованием мандатных прав. Поэтому стандартный VNC-серверы, почему-то включенные в поставку Astra Linux, просто не работают. Сервер Выяснено, что для работы в Astra Linux, был модифицирован VNC-сервер vino. Он работает, как минимум, в Astra Linux 1.6. Для его установки необходимо выполнить команду: apt install vino Если vino-сервер установлен на Astra Linux 1.6 до обновления 14 (возможно, 12), то запуск, в общем случае, необходимо производить командой: DISPLAY=:0 /usr/lib/vino/vino-server Эта команда правильно сработает и при локальном запуске, и при подключении к серверу по SSH. Если забыть указать установку переменной DISPLAY, то при подключении по SSH, vino будет пытаться работать с дисплеем, полученным из SSH-сессии, и это будет дисплей терминала, с которого и происходит работа. Таким образом, VNC-клиент будет циклично подключаться к собственному дисплею, а не к дисплею сервера. Так что этот момент надо обязательно учитывать. Важно! Вышеуказанную команду надо выполнять от обычного пользователя, а не из-под root. Если попробовать выполнить под рутом, то будет выведена ошибка: No protocol specified Unable to init server: Could not connect: В соединении отказано Когда все будет налажено, сервер vino можно либо прописать в автозапуск, либо можно будет запускать командой, которая запустит выполнение сервера в фоне так, что не будет привязки к сеансу ssh (за счет использования скобок), и стандартный вывод и вывод ошибок будут перенаправлены в /dev/null, и поэтому не будут неожиданно появляться сообщения в терминале когда происходят какие-то действия с VNC. Команда выглядит следующим образом: (DISPLAY=:0 /usr/lib/vino/vino-server 1> /dev/null 2>&1 &) Если vino-сервер установлен на Astra Linux 1.6 с обновлением 14 (возможно, 12), то в таком дистрибутиве пакет vino сделан так, что vino-server будет автоматически прописан в автостарт тому пользователю, для которого настроен автологин. Признаком того, что vino-сервер запускается самостоятельно, будет наличие уже запущенного сервера: user$ ps aux | grep vino operato+ 1523 0.5 1.4 755288 56368 ? Ssl 11:03 0:00 /usr/lib/vino/vino-server --sm-di sable user 1987 0.0 0.0 12788 976 pts/0 S+ 11:04 0:00 grep vino Если не обратить внимание, что сервер уже запущен, при попытке повторного запуска можно получить малоинформативную ошибку: $ DISPLAY=:0 /usr/lib/vino/vino-server Причем под разными пользователями (обычными, не root) ошибка может быть другой. Вот пример более информативной ошибки: $ DISPLAY=:0 /usr/lib/vino/vino-server (vino-server:2834): GLib-GObject-WARNING **: /opt/build/glib2.0/glib2.0-2.50.3/./gobject/gsignal.c :2524: signal 'changed:enabled' is invalid for instance '0x641db53e5570' of type 'GSettings' ** Message: The desktop sharing service is already running, exiting. В любом случае, проявление такой ошибки может говорить о том, что vino-server уже был автоматически запущен, и запускать его вручную или прописывать в автозапуск нет необходимости. Еще одна тонкость: если пользователю, которому назначен автологин, выставлены какие-либо мандатные права, то для него автоматического автостарта VNC-сервера vino происходить не будет. Как это реализовано - не совсем ясно. Ручной запуск VNC сервера от пользователя с выставленным через MAC уровнем доступа так же происзводиться не будет. Как для такого пользователя решить проблему запуска VNC - пока неясно. Клиент По заявлениям техподдержки Astra Linux, для работы с сервером vino служит VNC-клиент vncviewer, входящий в пакет tigervnc-viewer. Его инсталляция происходит следующей командой: apt install tigervnc-viewer Запуск и подключение к удаленному серверу происходит командой: vncviewer имя_или_адрес_хоста Различными опциями vncviewer можно снизить нагрузку на сеть, если выбрать уровень компрессии, глубину цвета, формат передаваемых данных. Список опций доступен по команде vncviewer --help. |
|||||||
Так же в этом разделе:
|
|||||||
![]() |
|||||||
|
|||||||
|