Zdarza się, że chesz, aby Jupyter startował w innym katalogu niż domyślny. Są na to metody polegające na zmianach w pliku konfiguracyjnym, ale nie wygląda na to aby to działało (przynajmniej pod Windows). Za to co pomogło:
Wpisz w menu start Jupyter, a kiedy program zostanie znaleziony naciśnij go prawym przyciskiem myszy i wybierz „Otwórz lokalizację pliku”
W katalogu, który został otworzony, znowu kliknij prawym przyciskiem myszy na ikonce odpowiadającej za Jupyter i wybierz „właściwości”
Teraz w polu „Element docelowy” wykasuj znajdujący się na końcu wpis %USERPROFILE% i wpisz oczekiwaną ścieżkę. W moim przypadku wpisałem „e:/” (Uwaga na kierunek slasha)
Logujesz sie do raspberry pi przez ssh (np. Putty), a tu po pytaniu o nazwę użytkownika i hasło sesja się zawiesza. Ping wysyłany na adres komputera działa normalnie.
Oczywiście przyczyn może być wiele, ale w moim przypadku rozwiązanie było dość zagadkowe. Otóż w pliku /etc/ssh/sshd_config wystarczyło dopisać:
IPQoS cs0 cs0
Niektórzy twierdzą, że taką zmianę należy wykonać jeszcze w pliku /etc/ssh/ssh_config, ale u mnie nie trzeba było.
Czasami mam wrażenie, że producenci sprzętu mają konika na punkcie oszczędzania energii. Tak – oszczędność energii jest ważna, ale nie po to kupujemy drogi wydajny sprzęt, żeby potem korzystać z niego tylko na 50%, bo jesteśmy w trybie oszczędzania energii.
W Raspberry Pi tryb oszczędności można włączyć dla poszczególnych urządzeń osobno. W szczególności można to zrobić dla karty sieciowej. Dzięki temu karta włączy się dopiero wtedy, gdy będą spełnione inne warunki, które są konieczne do rozpoczęcia w pełni funkcjonalnej pracy. Dokładniej rzecz biorąc, karta sieciowa zacznie pracować z około 30 sekundowym, może 60 sekundowym opóźnieniem. Na tyle to mało, że energii w tym czasie wcale się dużo nie zużyje i na tyle dużo, żeby doprowadzić administratora do szewskiej pasji.
Jak wyłączyć oszczędzanie energii dla karty sieciowej? Wystarczy uruchomić polecenie:
/sbin/iwconfig wlan0 power off
Problem tylko w tym, że zmiana wprowadzana przez tą komendę jest zapamiętywana do kolejnego uruchomienia, a potem znowu oszczędzasz energię. No ale od czego jest plik /etc/rc.local? Ten plik, to skrypt, który zostanie uruchomiony po starcie systemu, można więc włożyć tę komendę właśnie tam, przed ostatnim poleceniem exit 0.
Wyjaśnienie trybu DORMANT z https://askubuntu.com/questions/1194048/what-does-mean-dormant-mode-in-ip-link-show-wlan0
Mode Type
The default mode type is called DEFAULT. When an interface is in DEFAULT mode, the interface state transitions to UP when the following condition is met:
Link is detected
There is also a mode type called DORMANT. When an interface is in DORMANT mode, there are additional criteria for the interface state to transition to UP. In DORMANT mode, the interface state transitions to UP when both of the following conditions are met:
Link is detected
MLAG has finished setting up everything for the bond
Link State
In the context of link state, DORMANT indicates the interface is not in a condition to pass packets but is instead in a pending state waiting for some external event. For an interface to be usable for forwarding, it should be in an UP state as it is in the output shown above.
Czy wiesz o tym, że katalog /tmp w Linuxie ma w specjalny sposób zdefiniowane uprawnienia? Owszem każdy może w tym katalogu pisać, ale wzajemna modyfikacja plików przez użytkowników z tej samej grupy nie działa. W sumie ma to sens, bo gdyby w takim /tmp każdy mógł robić wszystko, to zrobiłby się niezły bałagan.
Najpierw przyjrzyjmy się jak to działa w „normalnych katalogach”:
Teraz „stajemy się użytkownikiem user2, który ma swoją własną grupę user2:
rafal@fermat:~$ sudo su - user2
$ id
uid=1002(user2) gid=1002(user2) groups=1002(user2)
$ cat >> /home/shared/test.txt
my test user2
$ ls -l /home/shared/test.txt
-rw-rw-r-- 1 user2 user2 14 maj 20 11:26 /home/shared/test.txt
Teraz spróbujemy ten plik zmodyfikować. Modyfikację wykona użytkownik user1, który jest też członkiem grupy user2:
rafal@fermat:~$ sudo su - user1
$ id
uid=1001(user1) gid=1001(user1) groups=1001(user1),1002(user2)
$ cat >> /home/shared/test.txt
my test user 1
$ ls -l /home/shared/test.txt
-rw-rw-r-- 1 user2 user2 29 maj 20 11:27 /home/shared/test.txt
Jak widać zmiana się udała. To teraz zobaczmy jak to zadziała w katalogu tmp z ustawionym sticky bit. Do akcji wracza znowu user2:
rafal@fermat:~$ sudo su - user2
$ cat >> /tmp/test.txt
my test user2
$ ls -l /tmp/test.txt
-rw-rw-r-- 1 user2 user2 14 maj 20 11:29 /tmp/test.txt
$ ls -ld /tmp
drwxrwxrwt 24 root root 12288 maj 20 11:29 /tmp
Teraz modyfikacje próbuje wykonać user 1 – bez sukcesu:
Standardowo, na nowym systemie Raspberry Pi, nie trzeba podawać hasła. System bootuje się z już zalogowanym w konsoli graficznej użytkownikiem pi. Tak się jednak zdarzyło, że wskutek prób i błędów, instalacji kilku programów i ich odinstalowaniu, po re-boocie, sytem zaczął pytać o hasło. Hmm, nie jest to problem, ale problemem było to, że po podaniu hasła, system znowu o nie pytał i nie wpuszczał na pulpit, i tak w kółko….
Całe szczęście awaria dotyczyła tylko interfejsu graficznego. Po naciśnięciu Control-Shift-F2, można się przełączyć do systemu znakowego i tam już pomyślnie zalogować.
Bez owijania w bawełnę – u mnie problemem były uprawnienia do pliku .Xauthority. Wskutek zabaw, stało się tak, że właścicielem pliku był root. Możesz to łatwo sprawdzić uruchamiając w katalogu domowym polecenie:
ls -al
Prawdopodobnie wystarczy zmienić właściciela pliku na pi, ale ja go usunąłem i… wszystko wróciło do normy!
Nie podoba Ci się pomysł korzystania z monitora i klawiatury podłączonych do Raspberry Pi? Skonfiguruj SSH i VNC! Na Raspberry Pi nie potrzebujesz do tego nawet znajomości zaawansowanych komend. Przygotowano dla nas polecenie raspi-config, które w trybie znakowym prezentuje zestaw menu pozwalający zmienić konfigurację tak, jak chcesz.
Zacznijmy od zmiany hasła dla użytkownika pi. Domyślnie to haslo to raspberry, każdy je zna, więc dla własnego bezpieczeństwa zmień je (bez zmiany hasła połączenie zdalne VNC nie będzie działać).
W linii komend wpisz
sudo raspi-config
W oknie wybierz opcję „Change User Password”:
Dalej trzeba będzie dwa razy wpisać nowe hasło (które się nie wyświetla podczas wpisywania) i gotowe!
No to jak tu włączyć SSH? Zacznij znowu od uruchomienia raspi-config i wybierz opcję „2 Interfacing Options”. W nowym menu wybierz „P2 SSH”. Teraz program poprosi Cię o potwierdzenie i… gotowe!
Od tej pory można już łączyć się do systemu zdalnie korzystając z polecenia ssh lub pod windows korzystając np. z popularnego klienta ssh Putty.
A gdyby chcieć pracować w systemie graficznym, to przydałoby się np. VNC. Tak jak poprzednio zacznymay od uruchomienia raspi-config, a następnie w menu wybieramy „2 Interfacing options” i w kolejnym menu „P3 VNC”.
Żeby podłączyć się do serwera też potrzebny jest klient zdalny. W tym przypadku najlepiej jest skorzystać z RealVNC Viewer. Po uruchomieniu programu, podaj adres ip serwera Pi, a następnie zaloguj się korzystając z konta użytkownika pi i jego hasła (pamiętaj o zmianie hasła domyślnego).
Co Ci się może nie podobać, to uzyskiwana rozdzielczość, ale i w tym przypadku z pomocą przyjdzie raspi-config. Tym razem z menu wybierz „7 Advanced Options”, potem A5 Resolution” i wybierz jedną z dostępnych wartości. U mnie, na windows mam rozdzielczość 1920×1080, dlatego dla Raspberry Pi wybrałem 1280×720. Dzięki temu okno ładnie się skaluje i nie muszę pracować w trybie pełno-ekranowym. Niestety po zmianie rozdzielczości trzeba wykonać restart