Почему я хочу это делать?
Pi, даже одетый в прочный корпус, представляет собой крошечный компьютер. Это идеально подходит для того, чтобы спрятаться где-то вне поля зрения, не затормозив провода - для многих проектов вам просто не нужен постоянный монитор и периферийное сопровождение.
Тот не однако, вам не нужно будет подключаться к коробке, чтобы вносить изменения, обновлять вещи, передавать файлы и т. д. Прекрасным примером этого является индикатор прохладного маленького дождя, который мы построили в рамках нашей сборки светодиодного индикатора с помощью статьи «Малина Pi» (для электронной почты, погоды или чего-либо еще). Ему не нужно все, что привязано к нему, но нам все равно хотелось бы перейти на устройство и легко внести изменения или попробовать новые эксперименты со светодиодным модулем, не перетаскивая его обратно в мастерскую, и подключите его к монитору, клавиатуре, мыши и т. д. Конфигурируя его для удаленной оболочки, удаленного рабочего стола и удаленной передачи файлов, мы делаем очень простым всегда взаимодействовать с нашим блоком Pi с комфортом нашего настольного компьютера, как если бы мы Мы подключили устройство до полной рабочей станции.
Что мне нужно?
Для этого урока вам понадобятся следующие вещи:
- Малина Pi работает на Raspbian.
- Настольный или портативный компьютер.
- Локальный Wi-Fi или проводная сеть для подключения Pi и вашего компьютера.
Во-первых, большинство шагов в этом руководстве должны работать с другими дистрибутивами Pi на базе Linux но мы будем использовать Raspbian. У вас мало проблем с адаптацией учебника к другим дистрибутивам.
Во-вторых, мы используем машину Windows, как наш сетевой компьютер, чтобы взаимодействовать с блоком малины Pi в качестве удаленного головного / интерфейса. В случае необходимости мы сделаем все возможное, чтобы связаться с учебниками и предложить прочитать о выполнении параллельных задач и инструментов в OS X и Linux.
Настройка и подключение к SSH-серверу
Откройте терминал в Rasbian, ярлык LXTerminal на рабочем столе и введите следующую команду:
sudo raspi-config
Перейдите вниз SSH и нажмите enter. Когда появится запрос о сервере SSH, выберите включить и нажмите Enter. Вы вернетесь на панель Raspi-config; перейти вниз Конец и нажмите enter, чтобы закрыть инструмент настройки. Это все, что вам нужно сделать, чтобы включить SSH-доступ к вашему Pi. Логин и пароль SSH по умолчанию число Пи а также малина, соответственно.
Пока вы все еще сидите в командной строке, сейчас самое время проверить IP вашего блока малины Pi в локальной сети. Тип Ifconfig в командной строке, а затем посмотрите на вывод команды. Если вы используете порт Ethernet, вы хотите найти init addr в eth0 раздел; если вы используете Wi-Fi, вы хотите найти init addr в wlan0 раздел. В дополнение к проверке и уведомлению IP-адреса, это также прекрасное время для установки статической записи IP-адреса в вашем маршрутизаторе, поэтому вам не нужно будет искать IP-адрес в будущем.
Теперь, когда у нас включен SSH-сервер, мы знаем логин, и мы знаем IP-адрес устройства, пришло время подключиться через SSH и проверить его. Для этого из Linux и OS X вы можете просто использовать SSH команды на терминале. Однако пользователям Windows понадобится клиент SSH, такой как PuTTY.
Поскольку мы используем окно Windows для удаленного управления нашим Pi, PuTTY это так. Установите копию PuTTY или извлеките переносную версию и запустите ее. Есть много настроек, с которыми вы можете столкнуться в PuTTY, но нам нужно только беспокоиться об одной вещи, чтобы подключиться к нашему Pi. В главном интерфейсе сеанса просто введите IP-адрес вашего Pi и выберите SSH под этим:
Удар открыто внизу, и PuTTY запустит для вас окно терминала, подключится к вашему Pi и предложит вам войти в систему. Войдите в систему и войдите в систему пи / малина:
Прежде чем двигаться дальше, есть некоторые дополнительные возможности, которые мы можем выжать из SSH. Помимо удаленного управления командной строкой, вы также можете удаленно передавать файлы с помощью Secure Copy. Это интенсивность командной строки и не особенно удобна для передачи большого количества файлов, полученных из нескольких каталогов, но для одноразовой передачи файла конфигурации или другого небольшого дампа это очень удобно. Ознакомьтесь с нашим руководством по копированию файлов через SSH с помощью команды SCP здесь.
В этом уроке мы рассмотрим более удобные и удобные для пользователя методы переноса файлов на основе графического интерфейса.
Настройка и настройка удаленного рабочего стола
Хотя мы уже говорили о нем как о «удалённом рабочем столе», инструмент, который мы на самом деле устанавливаем, известен как виртуальные сетевые вычисления (VNC), многие из которых знакомы с такими, как RealVNC и TightVNC. Для этого урока мы будем устанавливать TightVNC на Pi. Чтобы получить доступ к сеансу TightVNC на основе Pi, вам понадобится удаленный клиент, например:
- Настольный клиент TightVNC для Windows
- Настольный клиент TightVNC для Linux / Unix-подобных систем
- Настольный клиент RealVNC для OSX
Возьмите копию сейчас, и мы поговорим об этом позже в этом разделе. Теперь давайте приступим к установке сервера TightVNC на вашем малиновом Pi. Откройте терминал. Для начала введите следующую команду:
sudo apt-get install tightvncserver
Это приведет к загрузке и распаковке установочных файлов; когда будет предложено продолжить, нажмите Y. По завершении установки вы вернетесь в приглашение. Вы можете запустить VNC одним из двух способов. Просто выполните команду для сервера следующим образом:
tightvncserver
В качестве альтернативы вы можете использовать гораздо более точную, хотя и более длинную для ввода команду, которая дает вам больше контроля над тем, как удаленный компьютер увидит рабочий стол - что самое важное, какое разрешение будет отображаться на рабочем столе, чтобы вы могли наслаждаться полноэкранным просмотром на удаленный компьютер. Чтобы указать разрешение рабочего стола VNC, используйте следующую команду, заменив значение разрешения (четвертый элемент в команде) для разрешения удаленного рабочего стола:
vncserver:1 -geometry 1600×900 -depth 16 -pixelformat rgb565:
Если в какой-либо момент вы ошиблись при настройке экземпляра сервера VNC и / или вы хотите закрыть сервер VNC, просто введите следующее (изменение числа после двоеточия на номер экземпляра VNC, который вы хотите убить):
vncserver –kill:1
Теперь, когда мы запускаем сервер VNC, давайте подключаться к нему с нашего удаленного рабочего стола. Запустите TightVNC viewer на своем компьютере и подключите IP-адрес блока малины Pi, а затем: 1:
sudo chown pi /home/pi/.Xauthority
Эта команда изменяет права собственности на файл.Xauthority на пользователя pi - для любопытных, файл.Xauthority используется системой X-windows в Rasbian и что-то во время установки и настройки сервера TightVNC это приводит к незначительному разрешению икоты.
С этим небольшим небольшим объездом, давайте вернемся к отделке нашей конфигурации удаленного рабочего стола.
Теперь, когда у нас есть полная командная строка и доступ к рабочему столу для малины Pi, есть одна не так-тривиальная настройка, которую мы должны сделать. Инструмент Raspi-config настроил SSH-сервер для автоматического запуска для загрузки, но сервер VNC еще не настроен таким образом. Вы можете пропустить этот шаг и вручную запустить сервер в командной строке через SSH, когда вам это нужно, но мы пытаемся сделать это как можно более бесполезным для будущего использования. Пойдем минутку и создаем файл запуска для VNC-сервера.
Чтобы автоматически запускать сервер VNC, нам нужно настроить файл инициализации или инициализации, который Raspbian будет использовать для чистого запуска и завершения работы сервера во время процесса загрузки и выключения. Давайте создадим файл init сейчас. В командной строке введите следующую команду:
sudo nano /etc/init.d/tightvnc
Это создаст файл в каталоге инициализации под названием «tightvnc» и откройте редактор nano, чтобы мы могли вставить наш скрипт. В редакторе nano вставьте следующий код (обязательно измените значение разрешения 1600 × 900 в соответствии с экраном удаленного компьютера:
#!/bin/sh ### BEGIN INIT INFO # Provides: tightvncserver # Required-Start: # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: start vnc server # Description: ### END INIT INFO
case “$1” in start) su pi -c ‘vncserver:1 -geometry 1600×900 -depth 16 -pixelformat rgb565:’ echo “VNC Started”;; stop) pkill Xtightvnc echo “VNC Terminated”;; *) echo “Usage: /etc/init.d/tightvnc {start|stop}” exit 1;; esac
Помимо изменения части сценария разрешения экрана, есть еще одна вещь, которую вы можете изменить. В строке 14 вы можете изменить команду «su pi -c» на любую другую учетную запись пользователя, кроме «pi», если вы хотите VNC на конкретный рабочий стол для этой учетной записи.
После того, как вы вставили и модифицировали код, пришло время его сохранить. Нажмите CTRL + X, чтобы выйти и сохранить свою работу в нано. Когда вы вернетесь в командной строке, нам нужно сделать несколько быстрых изменений в разрешениях файла:
sudo chmod 755 /etc/init.d/tightvnc
Теперь файл инициализации является исполняемым. Мы можем проверить это из подсказки:
sudo /etc/init.d/tightvnc start
sudo /etc/init.d/tightvnc stop
Последнее изменение, которое мы собираемся сделать, это обновить файл rc.d (который отслеживает, какие сценарии инициализации находятся в папке /init.d/):
sudo update-rc.d tightvnc defaults
После ввода этой команды вы получите подтверждение того, что файл был обновлен. Теперь пришло время для реального теста: правильно ли загружается файл после перезагрузки? Введите следующую команду в командной строке для перезагрузки и подготовитесь к клиенту VNC, чтобы проверить соединение в одно мгновение:
sudo reboot
Как только система завершит перезагрузку, войдите в систему с вашим клиентом VNC.Если ваш сеанс VNC завершился с ошибкой, зайдите в командную строку и запустите команду startvnc start (из тестовой части выше), чтобы дважды проверить, что файл является исполняемым, и что пароль был сохранен правильно.
На этом этапе мы еще больше продвинулись в нашей миссии, чтобы полностью дистанционно управлять нашим блоком малины Pi. Благодаря удаленному доступу к командной строке через SSH и удаленный доступ к рабочему столу через VNC под нашими ремнями, давайте перейдем к упрощению процесса передачи файлов между нашим Pi и настольным компьютером.
Настройка и настройка средств передачи файлов
Поскольку у нас уже есть SSH, самый простой способ настроить мертвую простую передачу файлов между нашими Pi и удаленными компьютерами - это настроить интерфейс GUI на SSH-соединение. Помните, как мы говорили об использовании SCP поверх SSH ранее в учебнике? Запуск его из командной строки становится действительно утомительным, очень быстрым. С помощью обложки GUI мы сможем потратить больше времени на перемещение файлов и игру с нашим Pi и меньше времени на клавиатуру.
Несмотря на то, что для команды SCP существует множество обложек GUI, мы собираемся использовать кросс-платформенный инструмент, который многие люди уже знают, имеют и любят (и даже могут не знать, что он передает передачи SCP): FileZilla. Он доступен для Windows, OS X и Linux - здесь вы можете получить копию.
После того, как вы установили FileZilla, запустите его и перейдите в File -> Site Manager. Создайте новую запись сайта, назовите ее и вставьте имя пользователя и пароль для своего Pi.
Использование существующей передачи файлов SSH - это самый простой способ получить файлы на Pi без дополнительной настройки но если вы хотите настроить свой Pi для приема и совместного использования файлов без удаленного пользователя, требующего каких-либо причудливых инструментов (например, FTP-клиента с поддержкой SCP, такого как FileZilla), мы настоятельно рекомендуем проверить часть конфигурации Samba нашего гида: Как превратить малину Pi в сетевое запоминающее устройство с низким энергопотреблением. Прочитав это, вы познакомитесь с настройкой основного Samba-ресурса на Pi, чтобы создать общую папку, легко доступную практически любому пользователю в вашей сети без каких-либо дополнительных инструментов.
Вы настроили SSH, вы настроили VNC, и вы настроили простой SFTP и / или Samba доступ к вашему Pi - на этом этапе вы можете загружать свой малиновый Pi, отрывать монитор, клавиатуру и мышь, и засунь его, как тихую и безголовую машину.
Подумайте о проекте Raspberry Pi, и вы умираете от нас, чтобы написать учебник для этого? Откройся в комментариях или отправьте нам электронное письмо по адресу [email protected], и мы сделаем все возможное, чтобы помочь.