Хотя Raspberry Pi можно подключить к телевизору или монитору через HDMI или DVI, бывают случаи, когда желательна работа Raspberry Pi «без головы» (без монитора). В автономной настройке вы можете подключитесь к Raspberry через SSH , но если вам нужен полный рабочий стол, вам нужно будет подключиться с использованием протокола удаленного рабочего стола. Самый простой — настроить VNC на Raspberry Pi. Virtual Network Computing (VNC) — это протокол графического рабочего стола, который позволяет вам получить доступ ко всему рабочему столу Raspberry Pi с другого компьютера. Обычно вы запускаете клиент VNC на ПК под управлением Windows, OS X или Linux и получаете доступ к рабочему столу Pi по сети.
Первый шаг — установка VNC-сервера на Raspberry Pi. Для этого выполните следующую команду, чтобы установить TightVNC, облегченную реализацию системы VNC с открытым исходным кодом:
sudo apt-get install tightvncserver
Теперь, когда сервер установлен, его необходимо запустить для создания сеанса удаленного рабочего стола. По умолчанию сервер не запускается, однако его можно запустить вручную следующим образом:
vncserver -geometry 1024x728 -depth 24
Где -geometry
задает разрешение удаленного рабочего стола, в данном случае 1024 x 768; и -depth
задает глубину цвета, в данном случае 24 бита. При первом запуске VNC-сервера вам будет предложено ввести пароль удаленного доступа. Это пароль, который необходимо вводить, когда кто-то пытается удаленно подключиться к рабочему столу. На этот пароль не следует полагаться как на единственное средство прекращения публичного доступа к удаленному рабочему столу, но в частной домашней или офисной сети его должно быть достаточно для ограничения доступа к пользовательскому интерфейсу Pi. Вы можете изменить пароль в любое время с помощью инструмента vncpasswd
.
В качестве выходных данных сервера при запуске vncserver
сообщит номер созданного им виртуального дисплея. В X (основная система для многих оконных сред Linux) вы можете иметь несколько дисплеев, при этом физический рабочий стол по умолчанию равен :0
. vncserver
, скорее всего, создаст дисплей :1
, к которому можно будет получить доступ из клиента VNC через порт 5901. Порт 5902 предназначен для удаленного виртуального рабочего стола :2
и поэтому на. Вы можете заставить VNC-сервер создать сеанс на определенном дисплее, указав номер в качестве первого параметра:
vncserver :1 -geometry 1024x728 -depth 24
Вы можете отключить удаленный рабочий стол в любой момент, используя:
vncserver -kill :1
Где :1
— номер рабочего стола.
VNC-клиенты
Существует множество клиентов VNC (часто называемых средствами просмотра VNC) для Windows, OS X и Linux. Вы можете получить программу просмотра для Windows из Веб-сайт TightVNC , а для Linux вы можете установить ее из репозитория вашего дистрибутива. Для Ubuntu используйте:
sudo apt-get install vncviewer
Чтобы подключиться к Raspberry Pi, запустите программу просмотра VNC:
vncviewer 192.168.1.4:1
Где 192.168.1.4
— адрес Raspberry Pi, а :1
— номер рабочего стола.
Запустить VNC-сервер при загрузке
Можно заставить VNC-сервер запускаться при загрузке, создав специальный сценарий инициализации. Создайте файл с именем vncserver
в своем домашнем каталоге со следующим шелл-кодом:
#!/bin/sh ### BEGIN INIT INFO # Provides: VNC # Required-Start: $local_fs # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start or stop the VNC server ### END INIT INFO PATH=/sbin:/usr/sbin:/bin:/usr/bin eval cd ~pi case "$1" in start) su pi -c "/usr/bin/vncserver :1 -geometry 1024x728 -depth 24" echo "Started VNC server." ;; stop) su pi -c "/usr/bin/vncserver -kill :1" echo "Stopped VNC server." ;; *) echo "Usage: vncserver [start|stop]" >&2 exit 3 ;; esac :
Теперь выполните следующие команды, чтобы изменить владельца файла на root
, скопируйте его в каталог init.d
и установите скрипт:
sudo mv vncserver /etc/init.d/ sudo chown root:root /etc/init.d/vncserver sudo chmod 755 /etc/init.d/vncserver sudo update-rc.d vncserver defaults
Теперь перезагрузитесь и убедитесь, что VNC-сервер запустился автоматически. Есть несколько вещей, на которые следует обратить внимание в этом сценарии. Во-первых, предполагается, что вы используете пользователя pi
по умолчанию, а во-вторых, он будет работать только в том случае, если вы ранее установили пароль с помощью vncpasswd
или запустили VNC-сервер вручную. хотя бы один раз.
Заключение
Теперь, когда VNC-сервер установлен, вы можете получить доступ к полноценному рабочему столу по сети с помощью VNC-клиента. Даже если ваш Raspberry Pi подключен к телевизору или монитору, это отличный способ обеспечить удаленное администрирование устройства. Если вам когда-нибудь понадобится остановить VNC-сервер, вы можете использовать следующую команду:
sudo service vncserver stop
Его также можно запустить заново, заменив параметр stop
на параметр start
.