Як налаштувати Raspberry Pi для віддаленої оболонки, робочого столу та передачі файлів
Таким чином, у вас є Raspberry Pi, і ви хотіли б максимізувати свій крихітний слід, перетворившись на повністю окрему коробку без монітора, клавіатури або інших вхідних периферійних пристроїв. Прочитайте, як ми покажемо вам, як налаштувати віддалений доступ до оболонки, робочого столу та передачі файлів на вашому Pi.
Чому я хочу це робити?
Pi, навіть одягнений у міцний корпус, є крихітним комп'ютером. Він ідеально підходить для занурення де-небудь поза полем зору без зграї проводів, що стирчать його - для багатьох проектів вам просто не потрібен постійний монітор і периферійний супровід.
Це ні мається на увазі, однак, що для внесення змін, оновлення, передачі файлів тощо вам не потрібно підключатися до вікна. Прекрасним прикладом цього є прохолодний маленький індикатор дощу, який ми побудували як частину нашого побудувати світлодіодний індикатор з Raspberry Pi (для електронної пошти, погоди або будь-що) статті. Вона не потребує всього цього, але ми хотіли б мати можливість переходити на пристрій і легко внести зміни або спробувати новий експеримент зі світлодіодним модулем, не перетягуючи його назад у майстерню, і Підключіть його до монітора, клавіатури, миші тощо. Налаштувавши його для віддаленої оболонки, віддаленого робочого столу та віддаленої передачі файлів, ми зробимо його дуже простим, щоб завжди взаємодіяти з нашою одиницею Pi з комфортом нашого настільного комп'ютера, як ніби Підключили пристрій до повної робочої станції.
Що мені потрібно?
Якщо ви новачок у роботі з Raspberry Pi, ми настійно рекомендуємо ознайомитися з Посібником з початку роботи з Raspberry Pi, щоб отримати інформацію про основи пристрою та отримати швидкість.
Для цього підручника вам знадобляться такі речі:
- Raspberry Pi під керуванням Raspbian.
- Настільний або портативний комп'ютер.
- Місцева мережа Wi-Fi або дротова мережа для підключення до комп'ютера Pi.
По-перше, більшість кроків у цьому підручнику повинні працювати з іншими дистрибутивами на основі Linux але ми будемо використовувати Raspbian. Ви повинні мати невеликі проблеми з адаптацією підручника до інших дистрибутивів.
По-друге, ми використовуємо машину Windows як наш мережевий комп'ютер, щоб взаємодіяти з модулем Raspberry Pi як віддалений голова / інтерфейс. Коли це доречно, ми зробимо все можливе, щоб прив'язати до навчальних посібників і запропонували прочитати про виконання паралельних завдань і інструментів на OS X і Linux.
Налаштування та підключення до SSH-сервера
Віддалений доступ до командного рядка до вашої інсталяції Raspbian - це найдорожча маленька настройка, яку ви можете внести до своєї системи, і це просто неможливо.
Відкрийте термінал в Rasbian, ярлик LXTerminal на робочому столі і введіть наступну команду:
sudo raspi-config
Перейдіть вниз до ssh і натисніть Enter. Коли з'явиться запит про сервер SSH, виберіть Увімкнути і знову натисніть Enter. Вам буде повернуто панель Raspi-config; перейти вниз Завершити і натисніть Enter, щоб закрити інструмент налаштування. Це все, що потрібно зробити, щоб включити доступ SSH до вашого Pi. Ім'я користувача та пароль SSH за замовчуванням pi і малина, відповідно.
Поки ви все ще сидите в командному рядку, зараз прекрасний час, щоб перевірити 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. На головному інтерфейсі Session просто введіть IP-адресу вашого Pi і виберіть SSH нижче:
Хіт відчинено у нижній частині і PuTTY запустить вікно терміналу для вас, підключиться до вашого Pi і запропонує ввійти в систему. pi / малина:
Після того, як ваше з'єднання 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 встановити tightvncserver
Це дозволить завантажити та розпакувати інсталяційні файли; коли буде запропоновано продовжити, натисніть Y. Після завершення інсталяції буде повернуто запит. Ви можете запустити VNC одним із двох способів. Просто запустіть команду для сервера так:
. \ t
Буде запропоновано ввести пароль для доступу до робочого столу VNC, як показано на знімку екрана вище. Пароль повинен містити 4-8 символів. Після підтвердження пароля вам буде запропоновано встановити пароль лише для перегляду (ви можете відмовитися від кроку, як ми зробили).
Крім того, ви можете скористатися набагато точнішою, хоча й довше набирати, командою, яка дає вам більше контролю над тим, як віддалений комп'ютер буде бачити робочий стіл - найголовніше, яку роздільну здатність буде відображатися на робочому столі, щоб ви могли насолоджуватися повноекранним переглядом віддаленого комп'ютера. Щоб визначити роздільну здатність робочого столу VNC, використовуйте таку команду, щоб замінити значення роздільної здатності (четвертий елемент команди) для дозволу віддаленого робочого столу:
vncserver: 1 -geometry 1600 × 900 - глибина 16 -pixelformat rgb565:
Якщо в будь-який момент ви зробите помилку у налаштуванні екземпляра сервера VNC та / або ви хочете вимкнути сервер VNC, просто введіть наступне (змінивши число після двокрапки на номер екземпляра VNC, який ви хочете вбити) :
vncserver -kill: 1
Тепер, коли у нас працює сервер VNC, давайте підключимося до нього з нашого віддаленого робочого столу. Запустіть переглядач TightVNC на комп'ютері та підключіть IP-адресу пристрою Raspberry Pi, а потім: 1 так:
А ось наша нагорода за успішне налаштування нашого сервера VNC - приємний повний екран нашого віддаленого підрозділу Raspberry Pi:
Існує відома проблема з TightVNC і Rasbian, що, завдяки хитромумій зміні дозволу, призведе до виникнення проблем з робочим столом, приєднаним до монітора (при цьому інтерфейс віддаленого робочого столу, наданий сервером VNC, залишається недоторканим). Щоб вирішити цю проблему, перш ніж вона стане проблемою для вас, направо в командний рядок і введіть таку команду:
sudo chown pi /home/pi/.Xauthority
Ця команда змінює право власності на файл .Xauthority на користувача пі-для цікавого, файл .Xauthority використовується системою X-windows в Rasbian і щось під час інсталяції та налаштування сервера TightVNC призводить до того, що маленькі дозволу видаляються.
З тим маленьким незначним об'їздом, давайте повернемося до завершення конфігурації віддаленого робочого столу.
Тепер, коли у нас є повний командний рядок і робочий стіл для доступу до Raspberry 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
# Забезпечує: tightvncserver
# Необхідний запуск:
# Required-Stop:
# За замовчуванням - початок: 2 3 4 5
# Default-Stop: 0 1 6
# Короткий опис: запуск сервера vnc
# Опис:
### END INIT INFO"$ 1" у
початок)
su pi -c 'vncserver: 1 -geometry 1600 × 900 - глибина 16 -pixelformat rgb565:'
луна "VNC Started"
;;
Стоп)
pkill Xtightvnc
відлуння "VNC Terminated"
;;
*)
echo "Використання: /etc/init.d/tightvnc start | stop"
вихід 1
;;
esac
На додаток до модифікації роздільної здатності екрана, є ще одна річ, яку можна змінити. У рядку 14 ви можете змінити команду “su pi -c” на будь-який інший обліковий запис користувача, крім “pi”, якщо ви хочете, щоб VNC на конкретному робочому столі для цього облікового запису.
Після того як ви вставили і змінили код, настав час його зберегти. Натисніть CTRL + X, щоб вийти і зберегти роботу в nano. Коли ви повернетеся в командний рядок, нам потрібно внести кілька швидких змін у правах файлу:
sudo chmod 755 /etc/init.d/tightvnc
Тепер файл ініціалізації виконується. Ми можемо перевірити його з підказки:
sudo /etc/init.d/tightvnc start
sudo /etc/init.d/tightvnc зупинка
Остання зміна, яку ми збираємося зробити, це оновити файл rc.d (який відстежує, які сценарії ініціалізації знаходяться в папці /init.d/):
sudo update-rc.d за замовчуванням
Після введення цієї команди ви отримаєте підтвердження, що файл оновлено. Тепер настав час для реального тестування: чи правильно завантажується файл після перезавантаження? У командному рядку введіть наступне, щоб перезавантажити комп'ютер і підготуватися з клієнтом VNC для тестування з'єднання в момент:
sudo перезавантаження
Як тільки система закінчить перезавантаження, увійдіть у свій клієнт VNC. Якщо сеанс VNC завершився невдало, перейдіть до командного рядка і знову запустіть команду tightvnc start (з тестової частини вище), щоб перевірити, чи файл є виконуваним і що пароль збережено належним чином.
На даний момент, ми ще далі йдемо в нашій місії повністю дистанційно керувати нашою одиницею 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. Натисніть "Підключити" внизу, і ви будете розглядатись з таким виглядом, як цей:
Ваші локальні каталоги знаходяться на лівій панелі, а віддалені каталоги на Pi знаходяться на правій панелі. Переміщення файлів між ними так само просто, як перетягування.
Скориставшись існуючою передачею файлів SSH, це найпростіший спосіб отримати файли на Pi без додаткової конфігурації але якщо ви хочете налаштувати Pi, щоб отримувати і обмінюватися файлами без віддаленого користувача, що вимагає будь-яких хитромудрих інструментів (наприклад, FTP-клієнт з підтримкою SCP, наприклад FileZilla), ми настійно рекомендуємо ознайомитися з частиною конфігурації Samba з нашого гіда: Pi на пристрої зберігання даних на низькій потужності мережі. Прочитавши, що ознайомить вас із налаштуванням основного ресурсу Samba на Pi, щоб створити спільну папку, легко доступну будь-кому у вашій мережі без додаткових інструментів.
Ви налаштували SSH, ви налаштували VNC, і ви налаштували простий доступ SFTP та / або Samba до вашого Pi-на цьому етапі ви можете завантажувати Raspberry Pi, знімати монітор, клавіатуру та мишу, і прибрати його як безшумну і безголову машину.
Є ідея для проекту Raspberry Pi, і ви вмираєте для нас, щоб написати підручник для нього? Звук в коментарях або стріляти нам по електронній пошті в [email protected] і ми зробимо все можливе, щоб допомогти.