Raspberry Pi. Урок 7. Удаленное управление через VNC

В этом уроке мы расскажем о том, как установить VNC на Raspberry Pi. Это позволит Вам увидеть Рабочий стол Raspberry Pi удаленно и использовать мышь так, будто Вы сами сидите перед Pi.

learn_raspberry_pi_vnc_client4.png

Такое подключение к Pi уменьшит бардак на Рабочем столе, а проблема множества клавиатур и мышей будет устранена. Также Вы можете подключить Pi к сети где угодно и все равно иметь возможность контролировать устройство.

Установка VNC

SSH зачастую единственное, что Вам понадобится для управления Raspberry Pi, однако иногда полезно уметь управлять Raspberry Pi с помощью мышки и видеть экран Raspberry Pi.

VNC (Virtual Network Connection) создан специально для этого. Существует несколько серверных приложений VNC. Мы собираемся использовать “tightvnc”.

Мы можем устанавливать серверные программы VNC через ранее установленное подключение SSH.

Введите следующую команду в терминал SSH:

sudo apt-get update

sudo apt-get install tightvncserver

learn_raspberry_pi_vnc_install_1.png

Вас попросят подтвердить установку (введите “Y»). После завершения установки Вы увидите следующее:

learn_raspberry_pi_vnc_install_2.png

Теперь нужно запустить сервер VNC. Для этого введите следующую команду в окно SSH:

vncserver :1

learn_raspberry_pi_vnc_server_run.png

Вас попросят ввести и подтвердить пароль. Было бы логично использовать“raspberry”, но пароль должен состоять из 8 знаков, поэтому я использую “raspberr”. Запомните этот пароль, поскольку Вы будете его использовать для удаленного подключения к Raspberry Pi.

Также Вас спросят, хотите ли Вы задать отдельный пароль только для считывания. Откажитесь.

Теперь это единственная команда, которую Вам нужно будет вводить в SSH, чтобы запустить сервер VNC:

vncserver :1

Сервер VNC теперь запущен. Мы можем к нему подключиться, но сначала нужно подключиться к компьютеру, с которого мы хотим осуществлять управление Pi и настроить VNC-клиент для подключения к Pi.

Использование VNC-клиента

VNC-клиентов существует много. “VNCViewer” (http://www.realvnc.com) работает с большинством платформ и, я считаю, отлично работает с TightVNC.
При первом запуске VNCViewer Вы увидите следующее:
learn_raspberry_pi_vnc_client1.png

Введите IP-адрес Raspberry Pi, append :1 (чтобы задать порт) и нажмите “Connect” (подключиться). Вы увидите предупреждение. Просто нажмите ‘Continue’ (продолжить).

learn_raspberry_pi_vnc_client2_warning.png

Появится следующее окно. Введите пароль (“raspberr”).

learn_raspberry_pi_vnc_client3_login.png

Появится окно VNC. Теперь Вы сможете пользоваться мышкой и делать все, что Вы смогли бы с помощью клавиатуры, мыши и дисплея Pi, но со своего компьютера.

Как и SSH, это работает через сеть и Pi может быть где угодно, главное, чтобы устройство было подключено к сети.

learn_raspberry_pi_vnc_client4.png

Встроенная демонстрация экрана

Здесь также есть встроенное приложение VNC для Mac OS X, которое можно использовать без установки дополнительных программ.

В Проводнике выберите Go -> Connect to Server… и введите vnc://192.168.1.10 (подставьте свой IP-адрес), чтобы подключиться.

Запуск VNC-сервера при запуске системы

Этот способ будет работать только если Pi автоматически запускает настольную среду. Смотрите Урок 2.
Удаленное подключение к Raspberry Pi через VNC будет осуществляться без проблем, если Pi не будет перезагружаться. Но если будет, то Вам нужно будет либо подключиться через SSH и перезагрузить сервер VNC или сделать так, чтоб он делал это самостоятельно после перезагрузок Raspberry Pi.

Есть несколько способов это сделать. Способ описанный ниже, наверное, самый простой. Вы можете адаптировать его и для других команд, вместо команды запустить VNC-сервер.

Шаг 1.

Откройте сессию Терминала на Pi или подключитесь через SSH. Новая сессия Терминала или SSH запустится в начальном каталоге автоматически (/home/pi). Если Вы не в этом каталоге, то зайдите в него:

$ cd /home/pi

Затем перейдите в cd каталога .config:

$ cd .config

Обратите внимание на ‘.’ в начале имени папки. Это означает, что папка скрыта и не будет отображаться через ‘ls’.

Шаг 2.

Введите команду ниже, чтобы создать новый каталог внутри .config с названием ‘autostart’.

$ mkdir autostart

Перейдите к cd нового каталога:

$ cd autostart

learn_raspberry_pi_autostart1.png

Шаг 3.

Остается отредактировать новый конфигурационный файл. Введите следующую команду, чтобы открыть nano-редактор нового файла:

$ nano tightvnc.desktop

Отредактируйте содержимое файла, чтобы он выглядел следующим образом:

[Desktop Entry]

Type=Application

Name=TightVNC

Exec=vncserver :1

StartupNotify=false

learn_raspberry_pi_autostart2.png

Введите ctrl-X, а затем Y, чтобы сохранить изменения в файле.

Вот и все. После следующей перезагрузки сервер VNC перезагрузится автоматически.

Демонстрация экрана и обмен файлами для Mac

Если Вы используете Mac и у Вас несколько компьютеров Mac в сети, то Вы, наверно, привыкли к автоматическому отображению своих компьютеров в Проводнике, привыкли входить в них, видеть их файловые системы и даже удаленно управлять ими.

learn_raspberry_pi_finder1.png

Демонстрация экрана на Mac осуществляется через VNC, поэтому если у Вас уже установлен сервер TightVNC (как у нас), тогда Вам потребуется поменять несколько настроек и Pi будет отображаться для других компьютеров Mac в системе.

В этом уроке есть объяснение, как это сделать: http://4dc5.com/2012/06/12/setting-up-vnc-on-raspberry-pi-for-mac-access/. Здесь также содержатся шаги по установке сервера TightVNC, которые Вам не нужно повторять, поскольку у нас он уже установлен.

Как только все установлено, Вы сможете подключаться к файловой системе Raspberry Pi.

learn_raspberry_pi_mac_file_browse_login.png

Не забудьте ввести «pi » в поле «имя пользователя», а пароль по умолчанию — ‘raspberry’.

learn_raspberry_pi_mac_file_browse.png
Теперь копировать файлы с Mac на Pi и наоборот очень легко!
Если нажать на кнопку демонстрации экрана (Share Screen), Вас снова спросят пароль.
learn_raspberry_pi_mac_screen_share.png

На этот раз это пароль установленный для VNC-сервера (мы установили ‘raspberr’, без буквы «y» в конце).

Затем появится окно VNC:

learn_raspberry_pi_mac_screen_share2.png

Тестируем и настраиваем

Возможность удаленно подключиться к Pi таким образом может действительно быть полезной. Но Вам все равно понадобится SSH, чтобы узнать IP-адрес для подключения. Было бы неплохо задать максимально возможный срок пользования на Вашем домашнем маршрутизаторе.

Чтобы это сделать, войдите в систему маршрутизатора, найдите страницу настроек DHCP, установите срок пользования DHCP (DHCP lease time) на максимально возможное время или выберите Permanent Lease (постоянное использование), если это возможно.

learn_raspberry_pi_long_lease.png

Это поможет убедиться в том, что у Pi всегда будет один и тот же IP-адрес.

Если Вы опытны в настройке сети, Вы можете задать статический IP-адрес для Pi, но это может привести к проблемам, если Вы собираетесь перемещать Pi в другие сети.

Если Вам нужен другой размер экрана для VNC, Вы можете изменить настройки и добавить следующее в конце команды запуска VNC-сервера. Это подходит и для автоматического запуска сервера VNC, и для запуска вручную.

vncserver :1 -geometry 1440×900

Цифры после -geometry означают длину и ширину экрана в пикселях.