Virtual Network Computing (VNC) — система удалённого доступа к рабочему столу компьютера, использующая протокол RFB (англ. Remote FrameBuffer, удалённый кадровый буфер). Управление осуществляется путём передачи нажатий клавиш на клавиатуре и движений мыши с одного компьютера на другой и ретрансляции содержимого экрана через компьютерную сеть.
Система VNC платформонезависима: VNC-клиент, называемый VNC viewer, запущенный на одной операционной системе, может подключаться к VNC-серверу, работающему на любой другой ОС. К одному VNC-серверу одновременно могут подключаться множественные клиенты.
Этот вариант очень удобен для подключения к raspberry pi, так как мы видим графический интерфейс и можем запускать графические приложения и управлять ими не используя монитор подключенный к малинке. Итак приступим:
Для начала нам нужно подключиться к raspberry pi по ssh. Как настроить ssh после установки ОС, описано в этой статье.
После подключения по ssh к малинке, нам нужно открыть инструмент конфигурации командой:
sudo raspi-config
Выбираем там пункт Interfacing Options:
Далее выбираем p3 VNC и соглашаемся с включением VNC:
После этого нужно установить сам VNC сервер, но в последних версиях он уже установлен. Все равно для полной картины попробуем его установить командами:
sudo apt-get update
sudo apt-get install realvnc-vnc-server
После установки, нам необходимо запустить VNC сервер. Это можно сделать следующей командой:
vncserver :1
После запуска, нужно посмотреть какой порт открыт для подключения по VNC. Это можно сделать следующей командой:
После скачивания и установки программы VNC viewer откроем ее и введем следующий адрес “ip adress::5901” выглядеть это будет следующим образом:
После этого у нас запросит логин и пароль
Логин будет pi пароль: raspberry – такие же как и на вход по ssh.
Вот и все, при удачном вводе учетных данных у нас появится рабочий стол ОС raspbian установленной на raspberry pi.
Все хорошо, но теперь после перезагрузки нашей raspberry pi VNC сервер отключится и подключиться заново не сможем пока опять не запустим его командой vncserver :1
Чтоб этого не делать каждый раз, нам нужно добавить запуск VNC server в автозагрузку.
Добавление VNC в автозагрузку:
Нужно обратить внимание, что когда мы в консоли вводили команду:
Для этого в консоли ssh введем следующую команду: vncserver :1 мы были не в привилегированном режиме и запустили vncserver из под учетки pi/raspberry и следовательно эти же учетные данные у нас и запросил VNC сервер. А если бы мы запустили сервер командой sudo vncserver :1 то vnc сервер запустился бы под root учеткой. и логин и пароль pi/raspberry у нас бы не подошел для в хода в систему.
Так вот чтоб добавить автозагрузку VNC в систему нам нужно сначала установить пароль учетной записи root
Для этого введем команду:
sudo passwd root
После чего у нас запросит ввести новый пароль и подтвердить его. После этого нам нужно будет отредактировать файл автозагрузки, для этого введем команду:
sudo nano /etc/rc.local
В открывшемся окне перед exit 0 добавим строчку vncserver :1 , после этого нажимаем ctrl+X и Y для сохранения. Выглядит это следующим образом:
И перезагружаем raspberry pi. После перезагрузки у нас сам VNC сервер запустится, но при входе уже нужно будет вводить учетные данные root/пароль который вы установили выше.
Но это не совсем безопасно входить под “рутом” поэтому можно использовать следующий способ, а именно добавить запуск VNC сервера только под учетной записью “pi” для этого создадим папку и отредактируем файл командами:
mkdir /home/pi/.config/autostart
nano /home/pi/.config/autostart/vnc.desktop
и в этот пустой файл напишем следующие параметры:
[Desktop Entry]
Type=Application
Name=VNCServer
Exec=vncserver :1
StartupNotify=false
После этого перезагружаем малинку командой sudo reboot и можем уже логиниться под учетными данными pi/raspberry только если вы выбираете этот способ, то в /etc/rc.loca