В этой статье мы научимся подключаться к рабочему столу Jetson Nano удалённо с помощью VNC Server. В качестве VNC-клиента будем использовать VNC Viewer, в качестве SSH-клиента -- PuTTY. Дистрибутив: Ubuntu 22.10.
Подключимся к устройству с помощью PuTTY. Предварительно необходимо включить VPN. Как это сделать, можно прочитать в данной статье.
После успешного подключения откроем приложение PuTTY и введём данные для подключения в поле "Host Name (or IP address)", а затем нажмём кнопку "Open":
Введём имя пользователя, если ещё не сделали этого на предыдущем шаге перед "@" и IP-адресом, и пароль. Если авторизация прошла успешно, то мы подключились и теперь можем удалённо выполнять консольные команды:
Обновим информацию о пакетах на Jetson. Это нужно выполнить с правами суперпользователя (sudo):
sudo apt update
Установим на джетсон пакеты xfce4
и xfce4-goodies
:
sudo apt install xfce4 xfce4-goodies
При этом может возникнуть следующая ошибка:
Failed to fetch http://ports.ubuntu.com/ubuntu-ports/dists/kinetic/InRelease Could not resolve 'ports.ubuntu.com'
Чтобы устранить её, необходимо отредактировать файл /etc/resolv.conf
. Сделаем это с помощью редактора vim:
sudo vi /etc/resolv.conf
Нажмём клавишу i (Insert).
Введём в начало файла следующие строки:
nameserver 8.8.8.8
nameserver 8.8.4.4
Затем нажмём Esc.
Введём ":wq" (write and quit), и редактор закроется.
Теперь попробуйте установить пакеты заново.
После установки xfce4
и xfce4-goodies
надо поставить tightvncserver
:
sudo apt install tightvncserver
Затем выполним команду vncserver
, чтобы установить пароль доступа к VNC, создать исходные файлы конфигурации и запустить экземпляр сервера VNC:
vncserver
На следующем шаге нужно создать и подтвердить пароль. Он пригодится для удалённого подключения далее.
Пароль должен содержать от 6 до 8 символов!
На вопрос
Would you like to enter a view-only password (y/n)?
Нужно ответить "n" (no) и нажать Enter.
Вы увидите сообщение:
New 'X' desktop is your_hostname:1
Это значит, что сервер запущен на 5901 порту устройства.
Теперь настроим VNC Server.
Прекратим запущенную сессию на порту 5901:
vncserver -kill :1
Мы будем редактировать файл xstartup
, поэтому сначала надо создать его резервную копию:
mv ~/.vnc/xstartup ~/.vnc/xstartup.bak
Создадим новый файл xstartup
и запишем в него информацию с помощью vim:
vi ~/.vnc/xstartup
Нажмём клавишу i (Insert).
Введём следующие строки:
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &
Затем нажмём Esc.
Введём ":wq" (write and quit), и редактор закроется.
Сделаем этот файл исполняемым:
chmod +x ~/.vnc/xstartup
Теперь снова запустим VNC Server:
vncserver
Нажмём правой кнопкой мыши по верхней панели окна PuTTY в сессии, которой мы подключились к Jetson, и выберем пункт Change Setings
:
В открывшемся окне на панели слева внизу раскроем ветку SSH
, внутри неё нажмём на Tunnels
.
Теперь в поле Source port
введём "59000", в поле Destination
-- "localhost:5901"
Нажмём кнопку Add
и убедимся, что введённые данные появились в поле Forwarded ports
:
Теперь откроем приложение-клиент VNC Server.
В верхней строке ввода напишем "localhost:59000"
Нажмём Enter.
В открывшемся окне введите пароль, который задавали при настройке VNC Server на Jetson:
Если пароль введён верно, вы должны увидеть рабочий стол:
Готово, теперь вы можете работать с рабочим столом.