Как да конфигурирате Raspberry Pi за отдалечени черупки, настолни компютри и прехвърляне на файлове
Така че имате Raspberry Pi и бихте искали да увеличите своя миниатюрен отпечатък, като се превърнете в напълно самостоятелна кутия без монитор, клавиатура или други периферни устройства. Прочетете, като ви покажем как да настроите отдалечен достъп до обвивката, работния плот и файла.
Защо искам да направя това?
Пи, дори облечен в здрав калъф, е малък компютър. Той е идеален за завиване някъде извън погледа, без да се стърчат от него жици - за много проекти просто нямате нужда от постоянен монитор и периферно съпровождане.
Че не означава, че няма да се налага да се свързвате с кутията, за да правите промени, да актуализирате неща, да прехвърляте файлове и т.н. Перфектен пример за това е хладният малък индикатор за дъжд, който сме построили като част от нашия Build LED LED индикатор с артикула Raspberry Pi (за електронна поща, време или нещо). Не се нуждае от всичко, което е свързано с него, но все пак бихме искали възможността да се качвате на устройството и лесно да правите промени или да изпробвате нови експерименти с LED модула, без да се налага да го изтегляте обратно в работилницата, и свържете го към монитор, клавиатура, мишка и т.н. Чрез конфигурирането му за отдалечен корпус, отдалечен работен плот и отдалечено прехвърляне на файлове, ние го правим супер лесно да взаимодействаме винаги с нашата Pi единица от уюта на нашия настолен компютър, като че ли закачихте устройството до пълно работно място.
От какво се нуждая?
Ако сте съвсем нов в работата с Raspberry Pi, ние силно препоръчваме да проверите Ръководството на HTG за Първи стъпки с Raspberry Pi, за да се справите с основите на устройството и да достигнете скорост.
За този урок ще са ви необходими следните неща:
- Raspberry Pi работи с Raspbian.
- Десктоп или лаптоп.
- Местна Wi-Fi или кабелна мрежа за свързване на Pi и компютъра ви.
Първо, повечето от стъпките в този урок трябва да работят с други Linux-базирани дистрибуции на Pi но ще използваме Raspbian. Трябва да имате малко проблеми с адаптирането на ръководството към други дистрибуции.
Второ, използваме машина на Windows като мрежов компютър, за да взаимодействаме с модула Raspberry Pi като отдалечена глава / интерфейс. Когато е подходящо, ние ще направим всичко възможно да се свържем с уроци и препоръчваме четене по отношение на изпълнението на паралелни задачи и инструменти в OS X и Linux.
Настройка и свързване към SSH сървъра
Достъпът до отдалечената командна линия до инсталацията на Raspbian е свързан с най-удобния малък настройка, който можете да направите в системата си..
Отваряне на терминала в Rasbian, прекият път е LXTerminal на работния плот и въведете следната команда:
sudo raspi-config
Придвижете се надолу до SSH и натиснете Enter. Когато бъдете подканени за SSH сървъра, изберете Активиране и натиснете отново Enter. Ще бъдете върнати в панела Raspi-config; навигирайте надолу до завършек и натиснете Enter, за да затворите инструмента за конфигуриране. Това е всичко, което трябва да направите, за да включите SSH до вашия Pi. По подразбиране SSH потребителското име и паролата са пи и малина, съответно.
Докато все още седите в командния ред, сега е чудесно време да проверите IP адреса на вашата Raspberry Pi единица в локалната мрежа. Тип фоп в подканата и след това погледнете изхода на командата. Ако използвате 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 и ще ви подкани да влезете в системата. пи / малина:
След като вашата SSH връзка е функционална, можете технически да завършите останалата част от този урок дистанционно от уюта на бюрото си - въпреки че бихме препоръчали да оставите главата и клавиатурата на вашата система, докато не приключите целия проект и всичко върви гладко..
Преди да продължим напред, има някои допълнителни функции, които можем да изтръгнем от SSH. В допълнение към дистанционното управление на командния ред, можете да прехвърляте отдалечено файлове чрез Secure Copy. Той е интензивен в командния ред и не е особено удобен за прехвърляне на голям брой файлове, произхождащи от множество директории, но за еднократен трансфер на конфигурационни файлове или друг малък дъмп, това е доста удобно. Вижте нашето ръководство за копиране на файлове през SSH, като използвате командата SCP тук.
Ще разгледаме по-внимателно по-удобните за потребителя / GUI-базирани техники за прехвърляне на файлове по-късно в урока.
Настройка и конфигуриране на вашия отдалечен работен плот
Отдалеченият достъп до командната линия е страхотен, но има и достъп до работния плот за дейности, фокусирани върху GUI. Нека съберем силата на командния ред и правомощията на работния плот.
Въпреки, че досега го наричаме „отдалечен работен плот“, инструментът, който всъщност инсталираме, е известен като нареждане за виртуални мрежови изчисления (VNC), много от които са познати като RealVNC и TightVNC. За този урок ще инсталираме TightVNC на Pi. За да получите достъп до Pi-базирана TightVNC сесия, ще ви е необходим отдалечен клиент, като:
- TightVNC настолен клиент за Windows
- TightVNC настолен клиент за Linux / Unix-подобни системи
- RealVNC настолен клиент за OSX
Вземете копие сега и ще го проследим по-късно в този раздел. Засега нека да започнем с инсталирането на TightVNC сървъра на Raspberry Pi. Отворете терминала. Въведете следната команда, за да започнете:
sudo apt-get install tesvncserver
Това ще изтегли и разопакова инсталационните файлове; Когато бъдете подканени да продължите, натиснете Y. След като инсталацията приключи, ще бъдете върнати към подканата. Можете да стартирате VNC един от двата начина. Просто изпълнете командата за сървъра така:
tightvncserver
Ще ви подкани да въведете парола за достъп до работния плот на VNC, както се вижда на екрана по-горе. Паролата трябва да е с дължина 4-8 символа. След като потвърдите паролата, ще бъдете подканени да зададете парола само за показване (можете да се откажете от стъпката, както направихме).
Като алтернатива можете да използвате много по-прецизна, макар и по-дълга за писане команда, която ви дава по-голям контрол върху това как отдалеченият компютър ще вижда работния плот - най-важното, каква резолюция ще се показва на работния плот, за да можете да се насладите на изглед на цял екран на отдалечения компютър. За да зададете разделителната способност на работния плот на VNC, използвайте следната команда, за да прехвърлите стойността на разделителната способност (четвъртия елемент в командата) за разделителната способност на отдалечения работен плот:
vncserver: 1 -geometry 1600 × 900 - дебелина 16-пикселформат 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 обратно на потребителя pi-за любопитни, файлът .Xauthority се използва от системата X-windows в Rasbian и нещо по време на инсталирането и конфигурирането на сървъра TightVNC причинява малкото хълцане на разрешения.
С този малък малък обход от пътя, нека се върнем към завършването на нашата конфигурация на отдалечен работен плот.
Сега, когато имаме пълен команден ред и десктоп достъп до Raspberry Pi, има един не толкова тривиален tweak, който трябва да направим. Инструментът Raspi-config зададе SSH сървъра автоматично да стартира при зареждане за нас, но VNC сървърът все още не е конфигуриран по такъв начин. Можете да пропуснете тази стъпка и ръчно да стартирате сървъра в командния ред чрез SSH, когато имате нужда от него, но ние се опитваме да направим това възможно най-безпроблемно за бъдеща употреба. Да вземем една минута и да създадем стартов файл за VNC сървъра.
За да стартира автоматично VNC сървъра, трябва да настроим първоначален или инициализиран файл, който Raspbian ще използва за чисто стартиране и изключване на сървъра по време на процеса на зареждане и изключване. Нека сега създадем init файла. В командния ред въведете следната команда:
sudo nano /etc/init.d/tightvnc
Това ще създаде файл в директорията за инициализация, наречена “tightvnc” и ще отвори nano редактора, за да можем да го поставим в нашия скрипт. В нано редактора поставете следния код (не забравяйте да промените стойността на разделителната способност 1600 × 900, за да съответства на екрана на отдалечения ви компютър:
#! / Хамбар / од
### BEGIN INIT INFO
# Осигурява: tightvncserver
# Задължителен старт:
# Задължително-Стоп:
# По подразбиране - Старт: 2 3 4 5
# По подразбиране - Стоп: 0 1 6
# Кратко описание: стартиране на vnc сървъра
Описание:
### END INIT INFOслучай "$ 1" в
започнете)
su pi -c 'vncserver: 1 -geometry 1600 × 900 - дълбочина 16 -пикселформат 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 по подразбиране за tightvnc
След като въведете тази команда, ще получите потвърждение, че файлът е актуализиран. Сега е време за истински тест: дали файлът се зарежда правилно след рестартиране? Въведете следното в командния ред, за да рестартирате и да бъдете подготвени с вашия VNC клиент, за да тествате връзката в момента:
sudo рестартиране
След като системата приключи рестартирането, влезте във вашия VNC клиент. Ако вашата VNC сесия е неуспешна, посетете командния ред и изпълнете отново командата tightvnc start (от тестовата част по-горе), за да проверите дали файлът е изпълним и че паролата е запазена правилно.
В този момент ние сме още по-далеч в нашата мисия да контролираме напълно дистанционно нашата Raspberry Pi единица. С отдалечен достъп до командния ред чрез SSH и достъп до отдалечен работен плот чрез VNC под нашите колани, нека преминем към опростяване на процеса на прехвърляне на файлове между нашия Pi и настолен компютър.
Инсталиране и конфигуриране на инструменти за прехвърляне на файлове
Тъй като вече имаме SSH настройка, най-лесният начин да настроите мъртъв прост пренос на файлове между нашите Pi и отдалечени компютри е да направите обратно GUI интерфейс на SSH връзката. Спомняте ли си как говорихме за използването на SCP по SSH по-рано в урока? Изпълняването му от командния ред става наистина досадно, много бързо. С обвивката на GUI ще можем да прекарваме повече време в преместване на файлове и да играем с нашия Pi и по-малко време да кълнем клавиатурата.
Макар да има множество GUI обвивки за SCP командата, ние ще отидем с крос-платформен инструмент, който много хора вече знаят, имат и обичат (и може дори да не са наясно, че прави SCP трансфери): FileZilla. Той е достъпен за Windows, OS X и Linux - можете да вземете копие тук.
След като сте инсталирали FileZilla, запалете го и отидете на File -> Site Manager. Създайте ново вписване на сайта, наименувайте го и включете потребителско име и парола за Pi.
И накрая, уверете се, че сте задали порта на 22 и Servertype на SFTP - SSH протокол за прехвърляне на файлове. Кликнете върху връзката в долната част и ще бъдете третирани с изглед, подобен на този:
Вашите локални директории са в левия панел, а отдалечените директории на Pi са в дясното стъкло. Преместването на файлове между двете е толкова просто, колкото да ги плъзнете и пуснете.
Възползвайки се от съществуващото SSH прехвърляне на файлове, най-лесният начин е да получите файловете на Pi без допълнителна конфигурация но ако искате да конфигурирате Pi да приема и споделя файлове, без отдалечения потребител да изисква някакви фантастични инструменти (като FTP клиент, способен на SCP, като FileZilla), ние силно препоръчваме да проверите частта за конфигуриране на Samba от нашето ръководство: Pi в устройство за съхранение в мрежа с ниска мощност. Четене, което ще ви запознае с настройката на основен дял Samba в Pi, за да създадете споделена папка, лесно достъпна само за всеки в мрежата ви, без допълнителни инструменти.
Вие сте конфигурирали SSH, конфигурирахте VNC и сте настроили прост SFTP и / или Samba достъп до вашата Pi-а в този момент можете да зареждате Raspberry Pi, да отстраните монитора, клавиатурата и мишката, и я подгънете като безшумна и без глава машина.
Имате идея за проекта Raspberry Pi и умирате за нас да напишем урок за него? Звучи в коментарите или ни застреляй имейл на [email protected] и ние ще направим всичко възможно да помогнем.