01 | На заметку: |
Эта статья является актуализированной по сравнению с Raspberry Pi 3 - как настроить удаленный рабочий стол (устаревшая версия) по состоянию на 05.07.2017 г.
|
|
02 | На заметку: |
Теперь при нажатии кнопки PrintScreen в терминальном окне будет автоматически сделан снимок экрана Raspbian и помещен в папку /home/pi.
|
|
03 |
Метод, представленный в данной статье, позволит осуществлять ограниченный перечень действий, включающий работу в терминале. Он не позволит запускать полноэкранные графические приложения, вроде игр или медиаплееров. Тем не менее, он обеспечит полноценное окружение, такое же, как если бы оно было выведено напрямую на монитор. |
Проверено — автор рекомендует: http://ali.pub/wob8z Raspberry Pi 3 Model B (3 в 1)
Официальный корпус для Rasberry Pi 3 — http://ali.pub/kslog Все одним комплектом — http://ali.pub/puqa9, http://ali.pub/wdsti Видео-инструкция о покупке со скидками на Aliexpress |
04 |
Удаленный рабочий стол Рано или поздно, возникнет необходимость управлять компьютером Raspberry Pi удаленно, будь то сервер умного дома, центр сбора данных, либо мозги умного телевизора. И не придумано ещё более удобного способа, чем удаленный рабочий стол. В этом разделе будет показано, как настроить связку Raspberri Pi 3 + ПК на Windows, находящиеся в одной локальной сети таким образом, чтобы осуществлять администрирование Малинкой, сидя на своем привычном месте, так, как будто вместо ПК к монитору подключена Малинка. |
|
05 |
Настройка на стороне Raspberry Pi 3
|
|
06 |
Первым делом обновляем операционку Raspbian: |
|
07 |
1 2 sudo apt-get update
sudo apt-get upgrade |
|
08 |
Опцией update утилита apt-get запускает проверку в репозиториях новых версий программ, доступных для загрузки и обновляет кэш в системе. Опцией upgrade запускается обновление системы до последней версии. Как правило обе команды используются вместе. Можно использовать обе команды в одной строке, для последовательного выполнения обеих команд, для этого нужно разделить их точкой с запятой — sudo apt-get update; sudo apt-get upgrade или амперсандом — sudo apt-get update & sudo apt-get upgrade. Это весьма долгая процедура. |
|
09 | На заметку: |
Для корректного исполнения важных команд используется комбинация && — следующая команда будет выполнена, только если предыдущая завершена без ошибок: sudo apt-get update && sudo apt-get dist-upgrade
|
|
10 |
Перед манипуляциями с сервером необходимо настроить статический IP-адрес устройства, для того чтобы VNC-клиент мог обращаться к устройству по конкретному адресу. |
|
11 |
Следующими действиями, мы отменяем режим DHCP (англ. Dynamic Host Configuration Protocol — протокол динамической настройки узла, используется для автоматического динамического присвоения IP-адресов устройствам сети) и все параметры сети устанавливаем вручную. |
|
12 |
Для этого сначала нужно выполнить команду (открыть файл /etc/dhcpcd.conf для редактирования в текстовом редакторе nano): |
|
13 |
1 sudo nano /etc/dhcpcd.conf |
|
14 |
И в самом конце файла под строкой nohook lookup-hostname указать данные своей сети и желаемый IP-адрес устройства (он должен быть свободен, чтобы не было конфликтов) в сети: |
|
15 |
1 2 3 4 interface eth0
static ip_address=192.168.0.99
static routers=192.168.0.1
static domain_name_servers=192.168.0.1 192.168.0.2 |
|
16 | На заметку: |
Обратите внимание, что настройка для Wi-Fi и Ethernet происходит раздельно. Для Wi-Fi в первой строке кода нужно указать interface wlan0.
|
|
17 |
После того как все настроено, нужно перезагрузить систему и убедиться что, установленные параметры вступили в силу: |
|
19 |
Установленный IP-адрес можно всегда узнать командой (параметр -I чувствителен к регистру): |
|
20 |
1 hostname -I |
|
21 |
VNC Server Перед запуском сервера необходимо настроить нормальное разрешение. Для этого в файл /boot/config.txt: |
|
22 |
1 sudo nano /boot/config.txt |
|
23 |
Необходимо добавить строки (подробно о значениях параметров можно почитать на официальном ресурсе сообщества Raspberry и VNC, в данном случае hdmi_mode=82 — 1920×1080, 60Hz, 1080p, hdmi_force_hotplug=1 — Малинка всегда считает, что к HDMI-разъему подключен монитор, если монитор подключается по RCA-разъему, это строку нужно удалить): |
|
24 |
1 2 3 4 hdmi_force_hotplug=1
hdmi_ignore_edid=0xa5000080
hdmi_group=2
hdmi_mode=82 |
|
26 |
Сохраняем Ctrl+X, Y. |
|
27 |
Начиная с версии 4.8 (Raspbian Jessie With Desktop) VNC Server установлен в системе. Если его по каким-то причинам нет, его можно установить командой: |
|
28 |
1 sudo apt-get install realvnc-vnc-server |
|
29 |
После этого его нужно включить в настройках Start → Preferences → Parpberry Pi Configuration, на вкладке Interfaces, установить галочку Enabled напротив VNC: |
|
31 |
VNC-сервер будет запущен автоматически, если этого не произошло, его можно запустить вручную: |
|
32 |
1 vncserver |
|
33 |
На серверной стороне (Raspberry Pi 3) все готово... |
|
34 |
Настройка на стороне Windows (на примере Windows 7) Теперь необходимо настроить клиентскую сторону, в нашем случае Windows, но по сути она может быть любой, в т. ч. и Android. Скачиваем и запускаем VNC-клиент VNC Viewer и в меню File → New Connection создаем новое соединение: |
|
36 |
В настройках соединения нужно указать только IP-адрес устройства к которому будет осуществлено подключение — он задавался в файле dhcpcd.conf. Через двоеточие указываем номер дисплея, заданный при запуске VNC-сервера (по-умолчанию 0 — можно не указывать). В поле name можно указать имя соединения, например, Raspberry Pi 3: |
|
38 | На заметку: |
Если планируется работать только с одним рабочим столом, то можно указывать IP-адрес (в поле VNC Server) без его номера (192.168.0.99). Но если рабочих столов будет несколько (каждая новая команда vncserver создает новый рабочий стол), то подключаться к каждому из них нужно будет с указанием его номера после IP-адреса через двоеточие: 192.168.0.99:1, 192.168.0.99:2 и т. д.
|
|
39 |
Вновь созданное соединение появляется в главном окне: |
|
41 |
Если все настройки сделаны корректно, то при двойном клике должно появиться окно с запросом имени пользователя и пароля, по умолчанию логин pi, пароль — raspberry: |
|
42 |
Можно установить галочку Remember Password — в этом случае вводить пароль больше не потребуется
|
|
43 |
После ввода пароля, появляется рабочий стол системы с заданным разрешением: |
|
45 |
С 07.09.2017
неактуально |
Убираем ошибку GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: An authentication agent already exists for the given subject Очень вероятно, что при первом удаленном подключении на вновь отображенном рабочем столе будет висеть окно с ошибкой: |
С выходом Raspbian Stretch With Desktop (4.9) проблема потеряла актуальность
|
46 |
GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: An authentication agent already exists for the given subject
|
|
47 |
Окно закрывается по кнопке ОК, и на работу никак не влияет, но жутко раздражает. Для того чтобы это окно больше не всплывало, при подключении к VNC-серверу, нужно проделать несложные манипуляции. |
|
48 |
Сначала в редакторе главного меню, нужно добавить пункт Default applications for LXSession: |
|
50 |
Далее зайти по добавленному пункту меню Default applications for LXSession и из вкладки Core applications, удалить значение lxpolkit поля Polkit agent, оставив это поле пустым. |
|
52 |
После этого перезагружаем систему, запускаем VNC-сервер и при подключении VNC-клиента такой ошибки уже не будет. |
|
53 |
С 07.09.2017
неактуально |
Борьба с Х-курсором в терминале На этом месте, кого-то может все устроить и на этом все закончится, но некоторых будет смущать X-образный курсор, вместо привычной стрелки. |
С выходом Raspbian Stretch With Desktop (4.9) проблема потеряла актуальность
|
55 |
Для того, чтобы вернуть курсору стандартный стрелочный вид, вместо Х, необходимо в файле /home/pi/.vnc/xstartup (не путать с /etc/vnc/xstartup): |
|
56 |
1 sudo nano /home/pi/.vnc/xstartup |
|
57 |
добавить к строке xsetroot -solid grey параметры: |
|
58 |
1 xsetroot -solid grey -cursor_name left_ptr |
|
59 |
Перезагружаем и переподключаемся. Теперь результат такой, как надо: |
|
61 |
Настройка автозапуска VNC-сервера В актуальной версии (начиная с 4.8 от 05.07.2017) автозапуск VNC-сервера работает «из коробки». |
|
62 |
Скрипт автозапуска находится в файле /etc/vnc/xstartup. |
|
63 |
В случае, если необходимо добавлять при старте ещё один рабочий стол, это можно сделать, создав в папке .config/autostart (если папки autostart нет, её также нужно создать) файл автозапуска vncserver.desktop следующего содержания: |
|
64 |
1 2 3 4 5 [Desktop Entry]
Type=Application
Name=VNCServer
Exec=vncserver :1
StartupNotify=false |
|
65 |
Остановка VNC Server Для остановки VNC-сервера нужно выполнить команду: |
|
66 |
1 sudo systemctl stop vncserver-x11-serviced.service |
|
67 |
Подробнее на официальной странице https://www.realvnc.com/en/docs/raspberry-pi.html. |
|
68 |
Копирование и вставка текста из приложений рабочего компьютера в приложения VNC-клиента В актуальной версии (начиная с 4.8 от 05.07.2017) копирование и вставка текста между Windows-клиентом и Raspbian-сервером работают «из коробки». |
|
69 |
Удаленный рабочий стол из любой точки мира через Интернет Иногда возникает необходимость удаленного доступа к Малинке из-за пределов вашей домашней сети. Существует 2 метода: через выделенный статический IP-адрес, который доступен не каждому и при помощи программы TeamViewer. Первый способ сложен и здесь будет опущен. |
|
70 |
Второй способ очень прост и эффективен. Для его реализации необходимо скачать TeamViewer Host для Debian (armv7 32bit) со страницы закачки. И установить приложение при помощи утилиты прямой установки приложений dpkg из файла .deb, предварительно скачав установочный файл: |
|
71 |
1 2 wget https://download.teamviewer.com/download/linux/teamviewer-host_armhf.deb
sudo dpkg --install teamviewer-host_armhf.deb |
|
72 |
Но поскольку недостатком использования утилиты dpkg является то, что она работает с отдельными пакетами и не обрабатывает зависимости автоматически, установка прекратится. Но при этом утилита предоставит список зависимостей, которые можно установить командой: |
|
73 |
1 sudo apt-get install -f |
|
74 |
Готово, задаем пароль и теперь к клиенту можно подключаться с любого устройства с установленным приложением TeamViewer. |
|
76 |
В завершение Когда все настроено и работает, перед началом экспериментов, автор рекомендует, при помощи программы Win32DiskImager, сделать образ настроенной системы, чтобы в случае неудачных опытов её всегда можно было развернуть с этой точки. |
|
78 |
Что почитать: |
|
79 |
Похожие запросы:
|
|