Самый простой способ запустить и настроить Raspberry Pi - подключить к ней монитор и клавиатуру, вставить SD карту на которую скопирован установщик NOOBS, и включить. Если же лишнего монитора нет, то можно по-прежнему установить самостоятельно установить Raspbian на SD карту, запустить с этой карты Raspberry Pi, подключиться по ssh (включен по умолчанию) и настроить удаленный рабочий стол. Для этого понадобится только компьютер с Ubuntu (просто потому, что у меня Ubuntu - для других дистрибутивов, Windows и OS X процесс не должен принципиально отличаться), сеть ( и возможность подключиться к ней с помощью Ethernet кабеля), чистая SD карта размером больше, чем образ Raspbian (Raspbian Jessie занимает 4 Гб) и сама Raspberry. Ниже приведена пошаговая инструкция, что надо сделать, чтобы все заработало.
Теперь у нас есть работающая и обновленная Raspberry Pi, к которой мы можем подключаться через ssh или через VNC.
Шаг 1: установка Raspbian
- Скачиваем самый новый образ Raspbian отсюда. Если скачали zip, то распаковываем.
- Вставляем SD карту в кард-ридер.
- Определяем имя SD карты в системе: команда
df -h
- Отмонтируем SD карту командой:
umount /dev/mmcblk0p1
- Записываем образ Raspbian на SD карту с помощью команды:
sudo dd bs=4M if=2016-05-27-raspbian-jessie.img of=/dev/mmcblk0
sudo pkill -USR1 -n -x dd
- Когда dd запишет образ, синхронизируем данные с помощью команды
sync
Шаг 2: Настройка WiFi
- Только что записанная SD карта содержит два раздела - boot и раздел с корневой файловой системой (у меня он называется 2f840c69-cecb-4b10-87e4-01b9d28c231c, его имя можно посмотреть в выводе команды df -h, которую мы использовали ранее). Нас интересует файл /etc/wpa_supplicant/wpa_supplicant.conf в разделе корневой файловой системы SD карты. Открываем его c sudo с помощью любого текстового редактора (я использую vim):
sudo vim /путь-до-корневого-каталога-на-sd-карте/etc/wpa_supplicant/wpa_supplicant.conf
- И дописываем в конец файла:
network={ ssid="название сети" psk="пароль" }
- Выполняем sync, извлекаем SD карту, вставляем ее в Raspberry и запускаем.
Шаг 3: Подключение к Raspberry по ssh
- Устанавливаем nmap (если еще не установлен):
sudo apt-get install nmap
- Выясняем параметры своего подключения к сети с помощью команды:
ifconfig
- Сканируем сеть, чтобы выяснить адрес Raspberry Pi (чуть более подробно о том, как это делать, я писал здесь):
nmap -sn 192.168.178.0/24
- Подключаемся к Raspberry Pi по ssh (в моем случае Raspberry достался адрес 192.168.178.42):
ssh pi@192.168.178.42
Шаг 4: Первоначальная настройка и обновление
- Если все было сделано правильно, у нас сейчас в терминале должна быть открыта ssh-сессия с RaspberryPi. Я сразу после подключения делаю первоначальную настройку с помощью встроенной утилиты raspi-config:
sudo raspi-config
- Затем имеет смысл обновить пакеты:
sudo apt-get update && sudo apt-get upgrade
Шаг 5: Настройка удаленного рабочего стола
- Устанавливаем VNC сервер на Raspberry:
sudo apt-get install tightvncserver
- Настраиваем курсор в VNC сервер (обычный указатель мыши вместо крестика):
- открываем файл /home/pi/.vnc/xstartup:
vi /home/pi/.vnc/xstartup
- и дописываем к xsetroot параметр:
-cursor_name left_ptr
- Настраиваем автозагрузку VNC сервера вместо lightdm (монитора-то все равно нет, lightdm стартовать не имеет смысла).
- Переходим в режим superuser:
sudo su
- Переходим в /etc/init.d/:
cd /etc/init.d/
- Создаем новый файл vncboot:
vi vncboot
- Копируем туда следующий скрипт:
#! /bin/sh# /etc/init.d/vncboot ### BEGIN INIT INFO # Provides: vncboot # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start VNC Server at boot time # Description: Start VNC Server at boot time. ### END INIT INFO USER=pi HOME=/home/pi export USER HOME case "$1" in start) echo "Starting VNC Server" #Здесь можно использовать свои любимые настройки VNC su - $USER -c "/usr/bin/vncserver :1 -geometry 1366x768 -depth 24" ;; stop) echo "Stopping VNC Server" /usr/bin/vncserver -kill :1 ;; *) echo "Usage: /etc/init.d/vncboot {start|stop}" exit 1 ;; esac exit 0
- Делаем его исполняемым:
chmod 755 vncboot
- Заменяем выполнение lightdm на vncboot при загрузке:
update-rc.d -f lightdm remove update-rc.d vncboot defaults
- Теперь можно перезагрузить Raspberry и, когда она загрузится, подключиться к ней из под Ubuntu с помощью, например, Remmina Remote Desktop Client (который в Ubuntu установлен по умолчанию).
Теперь у нас есть работающая и обновленная Raspberry Pi, к которой мы можем подключаться через ssh или через VNC.
Добрый день,
ОтветитьУдалитьУточните как добавить sh скрипт в автозагрузку. Гуглил, пробывал разные варианты, но ни как не срабатывает автозагрузка. Подскажите пожалуйста как это сделать.
из консоли под рутом запускаю скрипт двумя командами:
cd /home/pi/package/
nohup sh /home/pi/package/nix.runNis.sh >/dev/null &
В первой строке скрипта попробуйте удалить часть кода, т.е. первая строка должна выглядеть так "#! /bin/sh" без кавычек и решетки в конце.
УдалитьЯ в линуксе не сильно силен, но зачем после #! /bin/sh идет указание пути до папки, в которой лежит скрипт, если он и так там лежит...
Возможно опечатка, а может я чего-то не понимаю.
Не знаю, может сюда кто-то и зайдет, надеюсь, прочитает это сообщение. Все хорошо, НО, ssh по-умолчанию в raspberry pi не работает c 2016 года, соединение будет обрываться. Причина: https://www.raspberrypi.org/documentation/remote-access/ssh/ Решение: создать пустой файл без всяких расширений /boot/ssh тогда ssh соединение будет разрешено. Статья, видно, вышла немногим раньше нововведения и этой важной детали нету. Надеюсь я помог и позволил вам избежать очень неприятной процедуры: выдергивание кабеля питания без возможности безопасно выключить устройство.
ОтветитьУдалитьВАЖНАЯ ПОПРАВКА: под boot имеется ввиду загрузочный диск. Смотрится через lsblk - обычно первый раздел вашего устройства на несколько mb. В корне этого раздела и надо создавать ssh файл
Удалить