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 ci, jak skonfigurować zdalny dostęp do powłoki, pulpitu i transferu 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 stawiania się wiązek przewodów - w wielu projektach po prostu nie potrzebujesz stałego monitora i peryferyjnego akompaniamentu.
Że nie robi 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 Build an 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, oraz podłącz go do monitora, klawiatury, myszy itp. Konfigurując go do zdalnej powłoki, zdalnego pulpitu i zdalnego przesyłania plików, niezwykle wygodnie jest zawsze wchodzić w interakcję z naszym urządzeniem Pi z komfortu naszego komputera stacjonarnego, tak jakbyśmy Podłą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 uzyskać wskazówki na temat podstaw urządzenia i uzyskać szybki postęp.
Do tego samouczka potrzebne są następujące rzeczy:
- 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 opisanych w tym samouczku powinna działać z innymi dystrybucjami Pi opartymi na systemie Linux 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ć łącze do samouczków i sugerowanej lektury dotyczącej wykonywania równoległych zadań i narzędzi w systemach OS X i Linux.
Konfigurowanie i łączenie się z serwerem SSH
Dostęp do linii Raspbian z poziomu wiersza poleceń to najbardziej poręczna modyfikacja systemu, a włączenie jej jest proste..
Otwórz terminal w języku Rasbian, skrótem jest LXTerminal na pulpicie i wpisz następujące polecenie:
sudo raspi-config
Nawiguj w dół do ssh i naciśnij enter. Po wyświetleniu pytania o serwer SSH wybierz Włączyć i naciśnij ponownie enter. Zostaniesz zwrócony do panelu Raspi-config; nawiguj w dół do koniec i naciśnij enter, aby zamknąć narzędzie konfiguracyjne. To wszystko, co musisz zrobić, aby włączyć dostęp SSH do twojego Pi. Domyślny login i hasło SSH to Liczba Pi i malina, odpowiednio.
Podczas gdy wciąż siedzisz w linii poleceń, teraz jest świetny czas, aby sprawdzić IP twojej jednostki Raspberry Pi w sieci lokalnej. Rodzaj ifconfig po monicie, a następnie spójrz na dane wyjściowe polecenia. Jeśli używasz portu Ethernet, który chcesz wyszukać init addr w eth0 Sekcja; jeśli używasz Wi-Fi, chcesz poszukać init addr w wlan0 Sekcja. 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 w przyszłości..
Teraz, gdy mamy włączony serwer SSH, znamy login i znamy adres IP urządzenia, czas połączyć się przez SSH i przetestować. Aby to zrobić z Linuksa i OS X możesz po prostu użyć ssh polecenie 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ą. Tam są dużo ustawień, z którymi możesz zadzierać 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 swojego Pi i wybierz SSH pod tym:
Trafienie otwarty na dole i PuTTY uruchomi dla ciebie okno terminala, połączysz się z twoim Pi i poprosisz o zalogowanie. Śmiało i zaloguj się z pi / malinowy:
Gdy połączenie SSH będzie funkcjonować, możesz technicznie ukończyć dalszą część tego samouczka zdalnie z poziomu wygodnego biurka - chociaż radzimy pozostawić głowę i klawiaturę w systemie, dopóki nie ukończysz całego projektu i nie wszystko przebiegnie płynnie.
Zanim przejdziemy dalej, istnieje dodatkowa funkcjonalność, którą możemy usunąć z SSH. Oprócz zdalnego zarządzania linią poleceń, można również zdalnie przesyłać pliki za pomocą funkcji Bezpieczna kopia. 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 opartych na GUI.
Konfigurowanie i konfigurowanie pulpitu zdalnego
Zdalny dostęp do linii poleceń jest niesamowity, ale ma też dostęp do pulpitu dla działań zorientowanych na GUI. Przywróćmy moc linii poleceń i mocy pulpitu.
Mimo, że do tej pory nazywaliśmy go "zdalnym pulpitem", narzędzie, które faktycznie instalujemy, jest znane jako VNC (Virtual Network Computing), z którego wielu 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 TightVNC dla systemów Linux / Unix
- RealVNC desktop client dla OSX
Pobierz teraz kopię, a zajmiemy się nią później w tej sekcji. Póki co, przejdźmy do instalacji serwera TightVNC w twoim Raspberry Pi. Otwórz terminal. Wprowadź następujące polecenie, aby rozpocząć:
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 uruchom polecenie dla serwera tak:
tightvncserver
Poproszę 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żesz 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, abyś mógł cieszyć się pełnoekranowym widokiem zdalny komputer. 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ą chcesz zabić) :
vncserver -kill: 1
Teraz, gdy mamy już uruchomiony serwer VNC, podłączmy się do niego z naszego zdalnego pulpitu. Uruchom przeglądarkę TightVNC na komputerze i podłącz adres IP urządzenia Raspberry Pi, a następnie: 1:
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 nawet dla Ciebie problemem, skieruj się 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 - dla ciekawskich, plik .Xauthority jest używany przez system X-windows w Rasbian i coś podczas instalacji serwera TightVNC proces instalacji i konfiguracji powoduje niewielkie utrudnienia związane z uprawnieniami.
Przy odrobinie mniejszych objazdów, wróćmy do ukończenia naszej konfiguracji zdalnego pulpitu.
Teraz, gdy mamy dostęp do Raspberry Pi z pełnym dostępem do linii poleceń i pulpitu, musimy wykonać jedno nie tak proste rozwiązanie. Narzędzie Raspi-config ustawi 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 uruchomić serwer w wierszu poleceń przez SSH, kiedy go potrzebujesz, ale staramy się, aby to było jak najbardziej bezproblemowe, jak to możliwe do wykorzystania w przyszłości. Zajmijmy teraz chwilę i utwórz 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. Stwórzmy teraz plik init. W wierszu poleceń wpisz następujące polecenie:
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-Start:
# Wymagany-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Krótki opis: uruchom serwer vnc
# Opis:
### END INIT INFOPrzypadek "1 $" w
początek)
su pi -c 'vncserver: 1 -geometry 1600 × 900 -depth 16 -pixelformat rgb565:'
echo "Uruchomione VNC"
;;
zatrzymać)
pkill Xtightvnc
echo "VNC zakończone"
;;
*)
echo "Użycie: /etc/init.d/tightvnc start | stop"
wyjdź 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 dokonać kilku szybkich zmian w uprawnieniach do pliku:
sudo chmod 755 /etc/init.d/tightvnc
Teraz plik inicjalizacyjny jest wykonywalny. Możemy przetestować to z podpowiedzi:
sudo /etc/init.d/tightvnc start
sudo /etc/init.d/tightvnc stop
Ostatnią zmianą, jaką zamierzamy dokonać, jest aktualizacja pliku rc.d (który śledzi, które skrypty initilization znajdują się w folderze /init.d/):
sudo update-rc.d tightvnc domyślne
Po wpisaniu tego polecenia otrzymasz potwierdzenie, że plik został zaktualizowany. Teraz czas na prawdziwy test: czy plik jest ładowany poprawnie po restarcie? Wpisz następujące polecenie w wierszu poleceń, aby ponownie uruchomić komputer i przygotuj się do pracy z klientem VNC, aby przetestować połączenie za chwilę:
reboot sudo
Gdy system zakończy ponowne uruchamianie, zaloguj się do klienta VNC. Jeśli twoja sesja VNC ulegnie awarii, odwiedź wiersz polecenia i ponownie uruchom komendę 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 pomię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 między naszym Pi a zdalnymi komputerami jest odławianie interfejsu GUI na połączeniu SSH. Pamiętasz, jak mówiliś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ędzić więcej czasu przesuwając pliki i bawiąc się z Pi, a mniej czasu dziobiąc klawiaturę.
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 FileZilli uruchom go i przejdź do File -> Site Manager. Utwórz nowy wpis witryny, nadaj mu nazwę i wpisz 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 Połącz na dole, a otrzymasz widok podobny do tego:
Twoje lokalne katalogi znajdują się w lewym panelu, a zdalne katalogi na Pi znajdują się w prawym panelu. Przenoszenie plików między nimi jest tak proste, jak przeciąganie i upuszczanie ich.
Wykorzystanie istniejącego transferu plików SSH to najprostszy sposób na uzyskanie dostępu do plików w Pi bez dodatkowej konfiguracji ale jeśli chcesz skonfigurować swoje urządzenie Pi do odbierania i udostępniania plików bez zdalnego użytkownika, który wymaga dowolnych zaawansowanych narzędzi (takich jak klient FTP obsługujący SCP, na przykład FileZilla), zalecamy zapoznanie się z częścią dotyczącą konfiguracji Samby: Jak zamienić malinę Pi w urządzenie pamięci masowej o niskiej mocy. Zapoznanie się z nimi pozwoli Ci skonfigurować podstawowy udział 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 mysz, i schować go za cichą i bezgłową maszynę.
Masz pomysł na projekt Raspberry Pi i chcesz nam napisać samouczek? Zagraj w komentarzach lub zrób nam wiadomość e-mail na adres [email protected], a my dołożymy wszelkich starań, aby Ci pomóc.