Недавно столкнулся с проблемой неработоспособности удаленного рабочего стола в Linux Debian. По-умолчанию за подключение удаленно к рабочему столу по протоколу VNC отвечает демон vino.
Конфигурационных файлов в /etc он не имеет, в init.d его тоже нет. Чтобы его настроить делаем следующее:
1. Нужно дописать опцию Enable=true в секции “xdmcp” конфига /etc/gdm3/daemon.conf для Gnome 3.
2. Заходим в консоль под нашим десктопным пользователем и вызываем окно настроек Vino:
vino-preferences
Откроется окно вроде такого:
Где указываем отмечаем галочки и устанавливаем пароль.
Также в опции vino можно зайти через апплет Desktop Sharing или Remote Desktop (смотря какой дистрибутив).
Если отметить опцию Configure network automatically to accept connections, то vino будет открывать порт на роутере (если там разрешен UPnP) 5900 наружу, в Интернет, что обычно не желательно.
3. Запускаем собственно демона:
export DISPLAY=:0.0
xhost +/usr/lib/vino/vino-server &
netstat -nl | grep 5900
Последняя команда служит для проверки того, что vino запустился и слушает порт 5900.
4. Теперь с другой машины, которая имеет доступ к нашей пробуем подключиться (для Windows это можно сделать при помощи бесплатных программ TightVNC или UltraVNC).
Настройки по-умолчанию должны сработать.
5. Теперь проблема в том, что vino не стартует со стартом системы и не имеет скрипта запуска. И стартовать он должен с тем пользователем, на который планируется удалённый вход. Для этого нужно добавить в файл /home/username/.bashrc в конец следующие строчки:
export DISPLAY=:0.0
/usr/lib/vino/vino-server &
Конфигурационных файлов в /etc он не имеет, в init.d его тоже нет. Чтобы его настроить делаем следующее:
1. Нужно дописать опцию Enable=true в секции “xdmcp” конфига /etc/gdm3/daemon.conf для Gnome 3.
2. Заходим в консоль под нашим десктопным пользователем и вызываем окно настроек Vino:
vino-preferences
Откроется окно вроде такого:
Также в опции vino можно зайти через апплет Desktop Sharing или Remote Desktop (смотря какой дистрибутив).
Если отметить опцию Configure network automatically to accept connections, то vino будет открывать порт на роутере (если там разрешен UPnP) 5900 наружу, в Интернет, что обычно не желательно.
3. Запускаем собственно демона:
export DISPLAY=:0.0
xhost +/usr/lib/vino/vino-server &
netstat -nl | grep 5900
Последняя команда служит для проверки того, что vino запустился и слушает порт 5900.
4. Теперь с другой машины, которая имеет доступ к нашей пробуем подключиться (для Windows это можно сделать при помощи бесплатных программ TightVNC или UltraVNC).
Настройки по-умолчанию должны сработать.
5. Теперь проблема в том, что vino не стартует со стартом системы и не имеет скрипта запуска. И стартовать он должен с тем пользователем, на который планируется удалённый вход. Для этого нужно добавить в файл /home/username/.bashrc в конец следующие строчки:
export DISPLAY=:0.0
/usr/lib/vino/vino-server &
Теперь vino будет стартовать автоматически когда этот пользователь входит в систему и принимать удаленные подключения.
UPDATE:
Обнаружил, что при таком тексте .bashrc каждый раз, когда открываешь терминальную сессию, то vino ругается в консоль, что он уже запущен. Посему необходимо изменить текст на следующий, включающий в себя проверку:
export DISPLAY=:0.0
ps cax | grep vino-server > /dev/null
if [ $? -ne 0 ]; then
/usr/lib/vino/vino-server &
fi
Ссылки:
UPDATE:
Обнаружил, что при таком тексте .bashrc каждый раз, когда открываешь терминальную сессию, то vino ругается в консоль, что он уже запущен. Посему необходимо изменить текст на следующий, включающий в себя проверку:
export DISPLAY=:0.0
ps cax | grep vino-server > /dev/null
if [ $? -ne 0 ]; then
/usr/lib/vino/vino-server &
fi
Ссылки:
dja-work ~ $ ssh dja@192.168.110.15
ОтветитьУдалитьdja@192.168.110.15's password:
Welcome to Linux Mint 18.3 Sylvia (GNU/Linux 4.10.0-38-generic x86_64)
* Documentation: https://www.linuxmint.com
Могут быть обновлены 0 пакетов.
0 обновлений касаются безопасности системы.
Last login: Mon May 13 12:35:29 2019 from 192.168.110.246
dja@dja-VNC ~ $ Invalid MIT-MAGIC-COOKIE-1 keyFailed to connect to Mir: Failed to connect to server socket: Нет такого файла или каталога
Unable to init server: Не удалось подключиться к: В соединении отказано
Не удалось открыть дисплей:
Запустите «vino-server --help», чтобы увидеть полный список доступных параметров командной строки
Что требовалось доказать. Доступ должен быть до входа в графику, а его нет.