В Astra Linux самописный рабочий стол Fly и графический сервер X11 были сильно модифицированы, чтобы обеспечить работу в различных режимах доступа, в том числе и с использованием мандатных прав. Поэтому стандартный VNC-серверы, почему-то включенные в поставку Astra Linux, просто не работают.
Сервер
Выяснено, что для работы в Astra Linux, был модифицирован VNC-сервер vino. Он работает, как минимум, в Astra Linux 1.6. Для его установки необходимо выполнить команду:
apt install vino
Запуск, в общем случае, необходимо производить командой:
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 &)
Клиент
По заявлениям техподдержки Astra Linux, для работы с сервером vino служит VNC-клиент vncviewer, входящий в пакет tigervnc-viewer. Его инсталляция происходит следующей командой:
apt install tigervnc-viewer
Запуск и подключение к удаленному серверу происходит командой:
vncviewer имя_или_адрес_хоста
Различными опциями vncviewer можно снизить нагрузку на сеть, если выбрать уровень компрессии, глубину цвета, формат передаваемых данных. Список опций доступен по команде vncviewer --help.