19Aug

Jak skonfigurować Raspberry Pi do zdalnej powłoki, pulpitu i transferu plików

Więc masz Raspberry Pi i chciałbyś zmaksymalizować swój mały ślad, zamieniając się w całkowicie samodzielne pudełko - bez monitora, klawiatury i innych urządzeń peryferyjnych. Czytaj dalej, ponieważ pokazujemy, jak skonfigurować zdalny dostęp do powłoki, pulpitu i przesyłania plików w twoim Pi.

Dlaczego chcę to zrobić?

Pi, nawet ubrane w solidną obudowę, to maleńki komputer. Idealnie nadaje się do schowania gdzieś poza zasięgiem wzroku bez trzymania się drutu z drutów - w wielu projektach po prostu nie potrzebujesz stałego monitora i peryferyjnego akompaniamentu.

To, że nie oznacza jednak, że nie będziesz musiał łączyć się z tym polem, aby wprowadzać zmiany, aktualizować rzeczy, przesyłać pliki itd. Doskonałym przykładem tego jest wskaźnik chłodnego deszczu, który zbudowaliśmy w ramach naszego modułu Build a LED Indicator z artykułem Raspberry Pi( dla wiadomości e-mail, pogody lub czegoś).Nie potrzeba do tego wszystkich rzeczy, ale nadal chcielibyśmy wskoczyć na urządzenie i łatwo wprowadzić zmiany lub wypróbować nowe eksperymenty z modułem LED bez konieczności wciągania go z powrotem do warsztatu, orazpodłącz go do monitora, klawiatury, myszy itp. Konfigurując go do zdalnej powłoki, zdalnego pulpitu i zdalnego przesyłania plików, sprawiamy, że korzystanie z naszego urządzenia Pi jest bardzo proste, z komfortu naszego komputera stacjonarnego, tak jakbyśmyPodłączyłem urządzenie do pełnego stanowiska pracy.

Czego potrzebuję?

Jeśli jesteś nowicjuszem w pracy z Raspberry Pi, zdecydowanie zalecamy zapoznanie się z przewodnikiem HTG na temat rozpoczynania pracy z Raspberry Pi, aby zapoznać się z podstawami urządzenia i nabrać tempa.

Do tego samouczka potrzebujesz następujących rzeczy:

  • A Raspberry Pi z systemem Raspbian.
  • Komputer stacjonarny lub laptop.
  • Lokalna sieć Wi-Fi lub przewodowa do połączenia Pi z komputerem.

Po pierwsze, większość kroków w tym kursie powinna działać z innymi dystrybucjami Lin opartymi na systemie , ale będziemy używać Raspbian. Powinieneś mieć problemy z adaptacją samouczka do innych dystrybucji.

Po drugie, używamy komputera z systemem Windows jako naszego komputera sieciowego do interakcji z jednostką Raspberry Pi jako zdalną głowicą / interfejsem. W razie potrzeby zrobimy co w naszej mocy, aby utworzyć link do samouczków i sugerowanych lektur dotyczących wykonywania równoległych zadań i narzędzi w systemach OS X i Linux.

Konfigurowanie i łączenie się z serwerem SSH

Zdalny dostęp do wiersza poleceń do instalacji Raspbian jest najbardziej poręcznym drobnym usprawnieniem, jakie możesz wprowadzić w swoim systemie, a włączenie go jest proste.

Otwórz terminal w języku Rasbian, skrótem jest LXTerminal na pulpicie i wpisz następujące polecenie:

sudo raspi-config

Przejdź do ssh i naciśnij enter. Po wyświetleniu pytania o serwer SSH, wybierz Włącz i naciśnij ponownie enter. Zostaniesz zwrócony do panelu Raspi-config;przejdź do Zakończ i naciśnij enter, aby zamknąć narzędzie konfiguracji. To wszystko, co musisz zrobić, aby włączyć dostęp SSH do twojego Pi. Domyślny login i hasło SSH to odpowiednio pi i malinowy .

Podczas gdy wciąż siedzisz w linii poleceń, teraz jest świetny czas, aby sprawdzić IP twojego urządzenia Raspberry Pi w lokalnej sieci. Wpisz ifconfig po znaku zachęty, a następnie spójrz na dane wyjściowe polecenia. Jeśli korzystasz z portu Ethernet, chcesz znaleźć init addr w sekcji eth0 ;jeśli korzystasz z Wi-Fi, poszukaj init addr w sekcji wlan0 .Oprócz sprawdzania i wpisywania adresu IP, jest to również świetny czas na skonfigurowanie statycznego adresu IP w routerze, aby nie musieć szukać w przyszłości adresu IP.

Teraz, gdy mamy włączony serwer SSH, znamy login i znamy adres IP maszyny, czas połączyć się przez SSH i przetestować.Aby to zrobić z Linuxa i OS X możesz po prostu użyć polecenia ssh na terminalu. Użytkownicy systemu Windows będą jednak potrzebować klienta SSH, takiego jak PuTTY.

Ponieważ używamy skrzynki Windows, aby zdalnie zarządzać naszym Pi, PuTTY, tak właśnie jest. Zainstaluj kopię PuTTY lub wyodrębnij wersję przenośną i uruchom ją. ma dużo ustawień, z którymi możesz sobie poradzić w PuTTY, ale musimy tylko martwić się o jedną rzecz, która łączy się z naszym Pi. W głównym interfejsie sesji wpisz adres IP twojego Pi i wybierz SSH poniżej:

Hit Otwórz na dole, a PuTTY uruchomi dla ciebie okno terminala, połącz się z twoim Pi i poproś ozaloguj się. Śmiało i zaloguj się za pomocą pi / raspberry :

Gdy twoje połączenie SSH działa, możesz technicznie ukończyć dalszą część tego samouczka zdalnie z wygodnego biurka - chociaż radzimy zostawić głowę i klawiaturęw twoim systemie, dopóki nie skończycie całego projektu i wszystko będzie przebiegało sprawnie.

Zanim przejdziemy dalej, możemy wydostać się z SSH z dodatkowej funkcjonalności. Oprócz zdalnego zarządzania linią poleceń, można również zdalnie przesyłać pliki za pomocą bezpiecznego kopiowania. Jego linia poleceń jest intensywna i nie jest szczególnie przydatna do przesyłania dużej liczby plików pochodzących z wielu katalogów, ale do jednorazowego przesyłania plików konfiguracyjnych lub innych małych zrzutów, jest bardzo przydatna. Sprawdź nasz przewodnik po kopiowaniu plików przez SSH za pomocą polecenia SCP tutaj.

W dalszej części samouczka przyjrzymy się bliżej technikom przesyłania plików opartym na GUI.

Konfigurowanie i konfigurowanie pulpitu zdalnego

Dostęp do zdalnej linii poleceń jest niesamowity, ale ma także dostęp do pulpitu dla działań związanych z GUI.Przywróćmy moc linii poleceń i mocy pulpitu.

Chociaż odnosiliśmy się do tego "zdalnego pulpitu" do tego momentu, narzędzie, które faktycznie instalujemy, jest znane jako VNC( Virtual Network Computing), z którego wiele jest znanych, takich jak RealVNC i TightVNC.W tym samouczku zainstalujemy TightVNC na Pi. Aby uzyskać dostęp do sesji TightVNC opartej na Pi, potrzebujesz klienta zdalnego, takiego jak:

  • Klient pulpitu TightVNC dla systemu Windows
  • Klient pulpitu TightVNC dla systemów Linux / Unix
  • Klient pulpitu RealVNC dla systemu OSX

Pobierz teraz kopię,będziemy go śledzić później w tej sekcji. Póki co, przejdźmy do instalacji serwera TightVNC na twoim Raspberry Pi. Otwórz terminal. Aby rozpocząć, wprowadź następujące polecenie:

sudo apt-get install tightvncserver

Spowoduje to pobranie i rozpakowanie plików instalacyjnych;po wyświetleniu monitu o kontynuowanie naciśnij klawisz Y. Po zakończeniu instalacji nastąpi powrót do monitu. Możesz uruchomić VNC na dwa sposoby. Po prostu uruchamiając polecenie serwera:

tightvncserver

Poprosi cię o podanie hasła dostępu do pulpitu VNC - jak widać na powyższym zrzucie ekranu. Hasło musi mieć 4-8 znaków. Po potwierdzeniu hasła zostaniesz poproszony o ustawienie hasła tylko do odczytu( możesz zrezygnować z tego kroku, tak jak my).

Alternatywnie można użyć znacznie dokładniejszego, aczkolwiek dłuższego typu polecenia, które daje większą kontrolę nad tym, jak komputer zdalny będzie widział pulpit - co najważniejsze, jaka rozdzielczość będzie wyświetlana na pulpicie, dzięki czemu można cieszyć się widokiem pełnoekranowymna zdalnym komputerze. Aby określić rozdzielczość pulpitu VNC, użyj następującego polecenia, zamieniając wartość rozdzielczości( czwarty element w poleceniu) dla rozdzielczości zdalnego pulpitu:

vncserver: 1 -geometry 1600 × 900 -depth 16 -pixelformat rgb565:

Jeśli w którymkolwiek momencie popełnisz błąd podczas konfigurowania instancji serwera VNC i / lub chcesz wyłączyć serwer VNC, po prostu wprowadź poniższe( zmieniając liczbę po dwukropku na numer instancji VNC, którą chceszkill):

vncserver -kill: 1

Teraz, gdy mamy już uruchomiony serwer VNC, podłączmy się do niego z naszego zdalnego pulpitu. Uruchom przeglądarkę TightVNC na swoim komputerze i podłącz adres IP urządzenia Raspberry Pi, a następnie: 1 tak:

A oto nasza nagroda za pomyślne skonfigurowanie naszego serwera VNC - ładny widok pełnoekranowy naszego zdalnego urządzenia Raspberry Pi:

Znany jest problem z TightVNC i Rasbian, który dzięki nieporęcznej zmianie uprawnień spowoduje problemy z rzeczywistym pulpitem podłączonym do monitora( pozostawiając niezmieniony interfejs pulpitu zdalnego dostarczony przez serwer VNC).Aby rozwiązać ten problem, zanim stanie się on dla Ciebie problemem, idź w prawo do wiersza poleceń i wprowadź następujące polecenie:

sudo chown pi /home/pi/. Xauthority

To polecenie zmienia właściciela pliku. Xauthority z powrotem na użytkownika pi-forciekawy, plik. Xauthority jest używany przez system X-windows w Rasbian i coś podczas instalacji i konfiguracji serwera TightVNC powoduje małe utrudnienia uprawnień.

Po tym drobnym objeździe na drodze, wróćmy do zakończenia naszej konfiguracji zdalnego pulpitu.

Teraz, gdy mamy dostęp do Raspberry Pi z pełnym dostępem do linii poleceń i komputera stacjonarnego, musimy wykonać jedno nie-trywialne ulepszenie. Narzędzie Raspi-config ustawiło serwer SSH tak, aby automatycznie uruchamiał się przy starcie, ale serwer VNC nie jest jeszcze skonfigurowany w taki sposób. Możesz pominąć ten krok i ręcznie uruchamiać serwer z wiersza poleceń przez SSH, kiedy tego potrzebujesz, ale staramy się, aby to było jak najbardziej bezproblemowe do przyszłego użytku. Poświęćmy chwilę i utworzymy plik startowy dla serwera VNC.

Aby automatycznie uruchomić serwer VNC, musimy skonfigurować plik inicjalizacyjny lub inicjalizacyjny, który będzie używany przez Raspbian do czystego uruchamiania i zamykania serwera podczas procesu uruchamiania i zamykania systemu. Stwórzmy teraz plik init. W wierszu poleceń wpisz następującą komendę:

sudo nano /etc/init.d/ tightvnc

Spowoduje to utworzenie pliku w katalogu inicjalizacyjnym o nazwie "tightvnc" i otwarcie edytora nano, abyśmy mogli wkleić nasz skrypt. W edytorze nano wklej następujący kod( pamiętaj, aby zmienić wartość rozdzielczości 1600 × 900, aby pasowała do ekranu komputera zdalnego:

#! /bin/ sh
### BEGIN INIT INFO
# Zapewnia: tightvncserver
# Wymagany-Początek:
# Wymagany-Stop:
# Domyślny-Start: 2 3 4 5
# Domyślny-Stop: 0 1 6
# Krótki opis: startowy serwer vnc
# Opis:
### END INIT INFO

Przypadek "1 $ "w
start)
su pi -c 'vncserver: 1 -geometry 1600 × 900 -depth 16 -pixelformat rgb565:"
echo "VNC Rozpoczęty"
; ;
stop)
pkill Xtightvnc
echo "VNC Terminated"
; ;
*)
echo "Użycie: /etc/init.d/ tightvnc{ start | stop}"
exit 1
; ;
esac

Oprócz modyfikacji części skryptu w rozdzielczości ekranu, istnieje jeszcze jedna rzecz, którą można zmodyfikować.W linii 14 możesz zmienić polecenie "su pi -c" na dowolne inne konto użytkownika oprócz "pi", jeśli chcesz VNC do konkretnego pulpitu dla tego konta.

Po wklejeniu i zmodyfikowaniu kodu, nadszedł czas, aby go zapisać.Naciśnij CTRL + X, aby wyjść i zapisać swoją pracę w nano. Po powrocie do linii poleceń musimy wprowadzić kilka szybkich zmian w uprawnieniach do pliku:

sudo chmod 755 /etc/init.d/ tightvnc

Teraz plik inicjalizacyjny jest wykonywalny. Możemy to przetestować z podpowiedzi:

sudo /etc/init.d/ tightvnc start

sudo /etc/init.d/ tightvnc stop

Ostatnia zmiana, którą zamierzamy dokonać, to aktualizacja pliku rc.d( który śledzi, które skrypty initilization znajdują się w folderze /init.d/):

sudo update-rc.d tightvnc domyślnie

Po wpisaniu tego polecenia otrzymasz potwierdzenie, że plik został zaktualizowany. Teraz czas na prawdziwy test: czy plik ładuje się poprawnie po ponownym uruchomieniu? Wprowadź następujące polecenie w wierszu poleceń, aby ponownie uruchomić komputer i przygotować się za pomocą klienta VNC, aby przetestować połączenie za chwilę:

sudo reboot

Po zakończeniu ponownego uruchamiania systemu, zaloguj się przy użyciu klienta VNC.Jeśli twoja sesja VNC ulegnie awarii, odwiedź wiersz polecenia i ponownie uruchom polecenie tightvnc start( z powyższej części testowej), aby sprawdzić, czy plik jest wykonywany i czy hasło zostało poprawnie zapisane.

W tym momencie jesteśmy jeszcze bardziej zaangażowani w naszą misję, aby całkowicie zdalnie kontrolować naszą jednostkę Raspberry Pi. Dzięki zdalnemu dostępowi do wiersza poleceń przez SSH i dostępowi do zdalnego pulpitu za pośrednictwem VNC pod naszymi pasami, przejdźmy do uproszczenia procesu przesyłania plików między naszym Pi a komputerem stacjonarnym.

Konfigurowanie i konfigurowanie narzędzi do przesyłania plików

Ponieważ mamy już skonfigurowane SSH, najłatwiejszym sposobem na skonfigurowanie martwego prostego przesyłania plików pomiędzy naszymi komputerami Pi i zdalnymi jest odławianie interfejsu GUI na połączeniu SSH.Pamiętasz, jak rozmawialiśmy o korzystaniu z SCP przez SSH wcześniej w samouczku? Uruchomienie go z wiersza poleceń staje się bardzo nudne, bardzo szybkie. Dzięki wrapperowi GUI będziemy mogli spędzać więcej czasu na przenoszeniu plików i zabawie z naszym Pi, a mniej na dziurawianiu klawiatury.

Chociaż istnieje wiele wrapperów GUI dla polecenia SCP, będziemy używać wieloplatformowego narzędzia, które wiele osób już zna, ma i kocha( a może nawet nie wie, że robi transfery SCP): FileZilla. Jest dostępny dla systemów Windows, OS X i Linux - tutaj możesz pobrać kopię.

Po zainstalowaniu FileZilla uruchom go i przejdź do Plik - & gt;Site Manager. Utwórz nowy wpis witryny, nadaj mu nazwę i podaj nazwę użytkownika i hasło do swojego Pi.

Na koniec upewnij się, że ustawiłeś port na 22, a na Servertype na SFTP - SSH File Transfer Protocol. Kliknij connect na dole, a zobaczysz podobny do tego widok:

Twoje lokalne katalogi znajdują się w lewym panelu, a zdalne katalogi na Pi znajdują się w prawym okienku. Przenoszenie plików między nimi jest tak proste, jak przeciąganie i upuszczanie ich.

Wykorzystanie istniejącego transferu plików SSH jest najłatwiejszym sposobem na uzyskanie dostępu do plików w Pi bez dodatkowej konfiguracji , ale , jeśli chcesz skonfigurować swoje urządzenie do odbierania i udostępniania plików bez zdalnego użytkownika, wymagającego dodatkowych narzędzi( jak klient FTP obsługujący SCP, taki jak FileZilla), zdecydowanie zalecamy przejrzenie części naszego podręcznika dotyczącej konfiguracji Samby: Jak zamienić Raspberry Pi w urządzenie pamięci masowej o małej mocy. Zapoznanie się z nimi ułatwi Ci skonfigurowanie podstawowego udziału Samby na Pi, aby utworzyć udostępniony folder, łatwo dostępny dla prawie każdej osoby w Twojej sieci, bez dodatkowych narzędzi.

Skonfigurowałeś SSH, skonfigurowałeś VNC, a skonfigurowałeś prosty dostęp SFTP i / lub Samba do swojego Pi-w tym momencie możesz uruchomić Raspberry Pi, usunąć monitor, klawiaturę i myszi schować go za cichą i bezgłową maszynę.

Masz pomysł na projekt Raspberry Pi i umierasz, żeby napisać samouczek? Zagraj w komentarzach lub wyślij nam e-mail na adres [email protected], a my dołożymy wszelkich starań, aby Ci pomóc.