Wydaje się, że Remote Desktop Protocol, to rozwiązanie raczej ze świata Windows i z Linuxem mu nie po drodze, ale… czasami inaczej się nie da.
Zaczynamy od zainstalowania xrdp:
sudo apt-get update sudo apt-get install xrdp
XRDP porzebuje oczywiście nasłuchiwać na porcie 3389, dlatego trzeba otworzyć ten port:
sudo ufw allow 3389/tcp
Teraz można uruchomić XRDP:
sudo systemctl restart xrdp
Teraz po stronie klienta, czyli zazwyczaj na komputerze z Windows można nawiązać połączenie przez RDP. Wystarczy podać nazwę użytkownika z Linuxa i zalogować się. Czasami zdarza się, że otrzymujemy po prostu puste okno/ekran, albo sesja początkowo poprawnie nawiązywana nagle się skończy. W takim przypadku:
upewnij się, że na systemie Linux nie ma w tej chwili aktywnej sesji GUI
Przenosząc swój komputer między różnymi sieciami WiFi, chcesz czasami wyraźnie wskazać, do której sieci należy się podłączyć. Jeśli korzystasz z GUI, to nie ma z tym problemu. Co innego, jeśli pracujesz w linii komend. Oto krótka ściąga, co można zrobić w takim przypadku.
Włączanie i wyłączanie WiFi
Polecenie
wifi on
pozwala na włączenie lub wyłączenie WiFi. Istnieją też krewniacy tej komendy, jak np. bluetooth czy nfc:
Wyświetlenie zdefiniowanych połączeń WiFi
Komenda
nmcli connection
okazuje skonfigurowane na komputerze połączenia (sieci wifi, do których kiedyś tam nawiązano już połączenie). Aktualnie podłączona sieć jest zaznaczona kolorkiem i ma wartość w kolumnie DEVICE, wskazującą na urządzenie, przy pomocy którego zestawiono to połączenie. Tutaj widać np. aktywne połączenie do sieci Taxi przy pomocy urządzenia/interfejsu wlp1s0:
Listowanie dostępnych sieci WiFi
Polecenie
nmcli device wifi list
wyświetla w tej chwili dostępne sieci WiFi. Tutaj widać, że najlepszym jakościowo dostępnym połączeniem jest Taxi, podczas gdy np. T-Mobile-B528-06DA ma gorszą jakość:
Podobne działanie ma komenda wlist. Pierwszy argument wskazuje na nazwę urządzenia/interfejsu, tak jak został on rozpoznany przez Linuxa:
iwlist wlp1s0 scanning
Przełączenie do innej sieci
Tutaj przyda się znowu polecenie nmcli, np. aby podłączyć się do sieci BURMISTRZ użyj:
sudo nmcli device wifi connect BURMISTRZ
Jeśli byłoby to pierwsze połączenie to można tu jeszcze dodać parametr password:
Załóżmy, że masz już lokalnie, na swoim komputerze pliki projektu, które chcesz umieścić w nowym repozytorium na GitHub. W takim przypadku propnuję rozpocząć od utworzenia nowego repozytorium na GitHub, co jest proste, bo to klikanie myszką. Teraz jednak chcielibyśmy do tego repozytorium wysłać lokalne pliki. Można to zrobić tak:
1. Przejdź do katalogu, w którym masz swoje pliki:
cd my_project
2. Teraz zainicjuj tworzenie nowego repozytorium, które jednak powstanie lokalnie:
git init
Initialized empty Git repository in C:/temp/test_repo/.git/
3. Teraz jeśli chcesz, to umieść w tym katalogu odpowiedni plik .gitignore. Potem możesz dodać do wysłania na repo wszystkich kwalifikujących się do tego plików z lokalnego katalogu:
git add .
4. Już na tym etapie można sprawdzić, że nowe repozytorium zostało utworzone i jesteś aktualnie w branch master:
git status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached ..." to unstage)
new file: app.py
5. Jeśli jeszcze wcześniej nie zostało to zrobione, to należy zaktualizować co najmniej dwie zmienne: user.email i user.name:
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.