Как сделать

Как настроить Raspberry Pi для удаленной оболочки, рабочего стола и передачи файлов

2013-03-16_194623

Итак, у вас есть Raspberry Pi, и вы хотели бы максимизировать его крошечную площадь, превратившись в полностью автономную коробку — без монитора, клавиатуры или других входных периферийных устройств. Продолжайте читать, пока мы покажем вам, как настроить удаленную оболочку, рабочий стол и доступ к передаче файлов на вашем Pi.

Почему я хочу это сделать?

Пи, даже одетый в прочный корпус, представляет собой крошечный компьютер. Он идеально подходит для того, чтобы спрятать его где-нибудь вне поля зрения, не выпячивая из него проводов — для многих проектов вам просто не нужен постоянный монитор и периферийное сопровождение.

Это не означает, однако, что вам не нужно подключаться к коробке, чтобы вносить изменения, обновлять вещи, передавать файлы и так далее. Прекрасным примером этого является крутой маленький индикатор дождя, который мы создали в рамках нашей статьи « Построить светодиодный индикатор» с помощью статьи Raspberry Pi (для электронной почты, погоды или чего угодно) . Для этого не нужно, чтобы все это было прикреплено прямо к нему, но мы все же хотели бы иметь возможность запрыгивать на устройство и легко вносить изменения или пробовать новые эксперименты со светодиодным модулем, не перетаскивая его обратно в мастерскую, и подключите его к монитору, клавиатуре, мыши и т. д. Настраивая его для удаленной оболочки, удаленного рабочего стола и удаленной передачи файлов, мы упростили процесс взаимодействия с нашим устройством Pi, не выходя из настольного компьютера, как будто мы подключил устройство к полной рабочей станции.

Что мне нужно?

Если вы новичок в работе с Raspberry Pi, мы настоятельно рекомендуем ознакомиться с Руководством по HTG по началу работы с Raspberry Pi, чтобы ознакомиться с основами устройства и освоить скорость.

Для этого урока вам понадобятся следующие вещи:

  • Raspberry Pi работает Raspbian.
  • Настольный или портативный компьютер.
  • Локальная Wi-Fi или проводная сеть для подключения Pi и вашего компьютера.

Во-первых, большинство шагов в этом руководстве должны работать с другими дистрибутивами Pi на основе Linux, но мы собираемся использовать Raspbian. У вас не должно возникнуть проблем при адаптации учебника к другим дистрибутивам.

Во-вторых, мы используем компьютер с Windows в качестве сетевого компьютера для взаимодействия с устройством Raspberry Pi в качестве удаленного устройства / интерфейса. Когда это уместно, мы сделаем все возможное, чтобы дать ссылку на учебные пособия и предлагаем прочитать о выполнении параллельных задач и инструментов на OS X и Linux.

Настройка и подключение к серверу SSH

2013-03-16_140819

Удаленный доступ из командной строки к вашей установке Raspbian — это самая удобная небольшая настройка, которую вы можете внести в свою систему, и ее очень просто включить.

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

sudo raspi-config

Перейдите вниз по ssh и нажмите ввод. Когда появится запрос о SSH-сервере, выберите Включить и снова нажмите Enter. Вы вернетесь к панели Raspi-config; перейдите к Finish и нажмите Enter, чтобы закрыть инструмент настройки. Это все, что вам нужно сделать, чтобы включить SSH-доступ к вашему Pi. Логин и пароль SSH по умолчанию — pi и raspberry , соответственно.

Пока вы все еще сидите за командной строкой, сейчас самое время проверить IP вашего устройства Raspberry Pi в локальной сети. Введите в командной строке ifconfig, а затем посмотрите на вывод команды. Если вы используете порт Ethernet, вы хотите найти адрес initr в разделе eth0 ; Если вы используете Wi-Fi, вы хотите найти initr addr в разделе wlan0 . В дополнение к проверке и запоминанию IP-адреса, это также прекрасное время для настройки статического IP-входа в маршрутизаторе, чтобы вам не приходилось искать IP-адрес в будущем.

Теперь, когда у нас включен SSH-сервер, мы знаем логин и IP-адрес машины, пришло время подключиться через SSH и протестировать его. Для этого из Linux и OS X вы можете просто использовать команду ssh на терминале. Пользователям Windows, однако, понадобится SSH-клиент, такой как PuTTY .

Так как мы используем Windows для удаленного управления нашим Pi, PuTTY это так. Установите копию PuTTY или распакуйте переносную версию и запустите ее. В PuTTY есть множество настроек, с которыми вы можете связываться, но нам нужно беспокоиться только об одном, чтобы подключиться к нашему Pi. На главном интерфейсе сеанса просто введите IP-адрес вашего Pi и выберите SSH под ним:

2013-03-16_152307

Нажмите Open внизу, и PuTTY запустит окно терминала для вас, подключится к вашему Pi и предложит вам войти в систему. Идите и войдите с помощью pi / raspberry :

2013-03-16_152605

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

Прежде чем мы продолжим, есть некоторые дополнительные функции, которые мы можем выжать из SSH. Помимо удаленного управления командной строкой, вы также можете удаленно передавать файлы с помощью Secure Copy. Он требует интенсивной командной строки и не особенно удобен для передачи большого количества файлов из нескольких каталогов, но для одноразовой передачи файла конфигурации или другого небольшого дампа это довольно удобно. Ознакомьтесь с нашим руководством по копированию файлов по SSH с помощью команды SCP здесь .

Мы рассмотрим более удобные для пользователя / основанные на графическом интерфейсе методы передачи файлов позже в этом руководстве.

Настройка и настройка вашего удаленного рабочего стола

2013-03-16_195204

Удаленный доступ из командной строки — это круто, но он имеет доступ к рабочему столу для работы с графическим интерфейсом. Давайте объединим возможности командной строки и возможности рабочего стола.

Хотя до этого момента мы называли его «удаленным рабочим столом», инструмент, который мы на самом деле устанавливаем, известен как виртуальные сетевые вычисления (VNC), с которыми многие знакомы, такие как RealVNC и TightVNC. Для этого урока мы будем устанавливать TightVNC на Pi. Для доступа к сеансу TightVNC на основе Pi вам потребуется удаленный клиент, такой как:

Возьмите копию сейчас, и мы рассмотрим ее позже в этом разделе. А сейчас давайте приступим к установке сервера TightVNC на Raspberry Pi. Откройте терминал. Введите следующую команду, чтобы начать:

sudo apt-get установитьightvncserver

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

tightvncserver

2013-03-16_160520

Вам будет предложено ввести пароль для доступа к рабочему столу VNC — как показано на скриншоте выше. Пароль должен быть длиной 4-8 символов. После подтверждения пароля вам будет предложено установить пароль только для просмотра (вы можете отказаться от шага, как мы это сделали).

В качестве альтернативы вы можете использовать гораздо более точную, хотя и более длительную, команду для ввода, которая дает вам больше контроля над тем, как удаленный компьютер будет видеть рабочий стол, — наиболее важно то, какое разрешение будет отображать рабочий стол, чтобы вы могли наслаждаться полноэкранным просмотром на удаленный компьютер. Чтобы указать разрешение рабочего стола VNC, используйте следующую команду, меняя значение разрешения (четвертый элемент в команде) для разрешения удаленного рабочего стола:

vncserver: 1 — геометрия 1600 × 900 — глубина 16 — пиксельный формат rgb565:

Если в какой-то момент вы допустили ошибку при настройке экземпляра сервера VNC и / или хотите выключить сервер VNC, просто введите следующее (изменив число после двоеточия на номер экземпляра VNC, который вы хотите уничтожить) :

vncserver –kill: 1

Теперь, когда сервер VNC запущен и работает, давайте подключимся к нему с нашего удаленного рабочего стола. Запустите программу просмотра TightVNC на своем компьютере и подключите IP-адрес устройства Raspberry Pi, а затем: 1 примерно так:

2013-03-16_162457

И вот наша награда за успешную настройку нашего VNC-сервера — прекрасный полноэкранный вид нашего удаленного устройства Raspberry Pi:

2013-03-16_162546

Существует известная проблема с TightVNC и Rasbian, которая, благодаря неожиданному изменению разрешений, вызовет проблемы с фактическим рабочим столом с подключенным монитором (оставляя нетронутым интерфейс удаленного рабочего стола, предоставляемый сервером VNC). Чтобы устранить эту проблему до того, как она станет проблемой, перейдите прямо к командной строке и введите следующую команду:

Судо Чоун Пи /home/pi/.Xauthority

Эта команда меняет владельца файла .Xauthority обратно на пользователя pi — любопытно, что файл .Xauthority используется системой X-windows в Rasbian, и что-то в процессе установки и настройки сервера TightVNC приводит к небольшому сбоям в разрешениях.

С этим небольшим обходным путем давайте вернемся к завершению настройки нашего удаленного рабочего стола.

Теперь, когда у нас есть полная командная строка и доступ к рабочему столу Raspberry Pi, нам нужно сделать один не совсем тривиальный твик. Инструмент Raspi-config установил для нас автоматический запуск SSH-сервера при загрузке, но VNC-сервер еще не настроен таким образом. Вы можете пропустить этот шаг и вручную запустить сервер из командной строки через SSH, когда вам это нужно, но мы стараемся сделать его как можно более беспроблемным для будущего использования. Давайте уделим минуту и ​​создадим файл запуска для сервера VNC.

Чтобы автоматически запустить VNC-сервер, нам нужно настроить файл инициализации или инициализации, который Raspbian будет использовать для чистого запуска и завершения работы сервера во время процесса загрузки и завершения работы. Давайте создадим файл инициализации сейчас. В командной строке введите следующую команду:

sudo nano /etc/init.d/tightvnc

Это создаст файл в каталоге инициализации с именем «tailvnc» и откроет редактор nano, чтобы мы могли вставить его в наш скрипт. В редакторе nano вставьте следующий код (обязательно измените значение разрешения 1600 × 900, чтобы оно соответствовало экрану вашего удаленного компьютера:

#! / Bin / ш
### BEGIN INIT INFO
# Обеспечивает :ightvncserver
# Требуется-Начало:
# Требуется-Стоп:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Краткое описание: запуск сервера vnc
# Описание:
### END INIT INFO

дело «1 доллар» в
Начало)
su pi -c ‘vncserver: 1 — геометрия 1600 × 900 — глубина 16 — пиксельный формат rgb565:’
эхо «VNC Started»
;;
стоп)
pkill Xtightvnc
эхо «VNC прекращено»
;;
*)
echo «Использование: /etc/init.d/tightvnc {start | stop}»
выход 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 по умолчанию

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

перезагрузка sudo

После завершения перезагрузки системы войдите в систему с помощью своего клиента VNC. Если ваш сеанс VNC завершился неудачно, зайдите в командную строку и снова запустите команду начала injuvnc (из тестовой части выше), чтобы дважды проверить, является ли файл исполняемым и пароль был сохранен правильно.

На данный момент, мы еще дальше в нашей миссии, чтобы полностью дистанционно управлять нашим устройством Raspberry Pi. Благодаря нашему удаленному доступу из командной строки через SSH и удаленному доступу к рабочему столу через VNC, давайте перейдем к упрощению процесса передачи файлов между нашим Pi и настольным компьютером.

Настройка и настройка инструментов передачи файлов

2013-03-16_195437

Поскольку у нас уже есть настроенный SSH, самый простой способ настроить простую передачу файлов между нашим Pi и удаленными компьютерами — это перенастроить графический интерфейс на SSH-соединении. Помните, как мы говорили об использовании SCP поверх SSH ранее в этом уроке? Запуск из командной строки становится очень утомительным, очень быстрым. Благодаря оболочке с графическим интерфейсом мы сможем тратить больше времени на перемещение файлов и воспроизведение с нашим Pi, а также меньше тратить время на клевание клавиш.

Несмотря на то, что для команды SCP существует множество оболочек с графическим интерфейсом, мы собираемся использовать кроссплатформенный инструмент, который многие люди уже знают, имеют и любят (и могут даже не подозревать, что он передает SCP): FileZilla. Он доступен для Windows, OS X и Linux — вы можете получить копию здесь .

После того, как вы установили FileZilla, запустите его и перейдите в File -> Site Manager. Создайте новую запись на сайте, назовите ее и вставьте имя пользователя и пароль для своего Pi.

2013-03-16_191919

Наконец, убедитесь, что для порта установлено значение 22, а для типа сервера — SFTP — SSH File Transfer Protocol. Нажмите «Подключиться» внизу, и вы получите представление, похожее на это:

2013-03-16_192651

Ваши локальные каталоги находятся на левой панели, а удаленные каталоги на Pi — на правой панели. Перемещение файлов между ними так же просто, как перетаскивание их.

Воспользоваться преимуществами существующей передачи файлов SSH — это самый простой способ получить доступ к файлам на Pi без дополнительной настройки, необходимой, но если вы хотите настроить свой Pi для получения и обмена файлами без удаленного пользователя, требующего каких-либо причудливых инструментов (таких как SCP) способный FTP-клиент, такой как FileZilla), мы настоятельно рекомендуем ознакомиться с разделом о конфигурации Samba нашего руководства: как превратить Raspberry Pi в устройство хранения данных с низким энергопотреблением . Читая эту статью, вы узнаете, как настроить общий ресурс Samba на Pi, чтобы создать общую папку, доступную любому человеку в вашей сети без каких-либо дополнительных инструментов.


Вы настроили SSH, настроили VNC и настроили простой доступ SFTP и / или Samba к вашему Pi — на этом этапе вы можете загрузить Raspberry Pi, убрать монитор, клавиатуру и мышь, и убери это как тихую и безголовую машину.

У вас есть идея для проекта Raspberry Pi, и вы хотите, чтобы мы написали для нее учебник? Прозвучите в комментариях или напишите нам на электронный адрес tips@.com, и мы сделаем все возможное, чтобы помочь.

Похожие посты
Как сделать

Как получить возмещение за покупки в iTunes или App Store

Как сделать

Поверхностное перо не работает? Вот как это исправить

Как сделать

Как настроить и использовать Fire TV Recast

Как сделать

Как изменить рингтон по умолчанию на вашем iPhone