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

Итак, у вас есть 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


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

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

sudo raspi-config

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

Пока вы все еще сидите в командной строке, сейчас самое время проверить IP вашего устройства Raspberry 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 и предложит войти в систему.Идите дальше и войдите с помощью pi/raspberry :

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

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

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

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

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

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

  • Настольный клиент TightVNC для Windows
  • Настольный клиент TightVNC для Linux/Unix-подобных систем
  • RealVNC настольный клиент для OSX

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

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

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

tightvncserver

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

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

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

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

vncserver –kill: 1

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

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

Существует известная проблема с 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 »
выход 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 и настольным компьютером.

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

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

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

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

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

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

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

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

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

Оцените статью
TutoryBird.Ru
Добавить комментарий