Przejdź do głównej zawartości

RaspberryPi: wspólna klawiatura, wspólna mysz i ewentualnie wspólny monitor, czyli jak zachować spokój...

Zapewne wielu z Was używa na co dzień świetnego programu Synergy (http://synergy-foss.org/). Bo też wielu z Was spotkało się z sytuacją, kiedy to trzeba było w tym samym czasie (szachista powiedziałby: symultanicznie) obsługiwać dwa lub więcej komputerów. W moim przypadku, na szczęście, liczba fizycznych (znajdujących się w tym samym pomieszczeniu, a nawet na tym samym biurku) komputerów obsługiwanych równolegle nie przekroczyła dwóch - stacjonarny i laptop.
Żeby usprawnić sobie pracę najlepiej jest, przełączając się między komputerami, nie odrywać rąk od klawiatury i myszy - można ewentualnie spojrzeć na drugi monitor (do czego zresztą coraz częściej przychodzi nam się przyzwyczajać). Rozwiązań jest wiele - choćby różne wynalazki typu VNC, tyle, że zdalne pulpity, jak sama nazwa wskazuje, najlepiej sprawdzają się w pracy zdalnej (sieć o większym zasięgu, niż klasyczny LAN). Synergy zaś, mimo, że również wykorzystuje łącze sieciowe, służy po prostu do umożliwienia korzystania z jednej myszy i jednej klawiatury na kilku komputerach, najlepiej stojących na tym samym biurku. Moim zdaniem rozwiązanie jest rewelacyjne.
Na stronie Synergy (link podany wcześniej) znajdziemy dokładne informacje o tym programie, tutaj zaś opiszę krótko, jak użyć tego softu na RaspberryPi i komputerze stacjonarnym.
Zaczynamy od instalacji Synergy na komputerze stacjonarnym i na RaspberryPi - jeżeli stacjonarny działa pod kontrolą debianopodobnego linuksa, polecenie instalacji jest takie samo:

sudo apt-get install synergy

Polecenie to zainstaluje podstawowy pakiet oprogramowania - na RPi będzie to już wszystko, natomiast komputer stacjonarny warto wyposażyć jeszcze w GUI dla Synergy, czyli doinstalować quicksynergy (w analogiczny sposób, jak paczkę podstawową).
Zakładam oczywiście, że ponieważ nie mamy klawiatury i myszy podłączonej do RPi, obsługujemy "malinę" przez ssh.
Zaczynamy od komputera stacjonarnego - uruchamiamy quicksynergy i konfigurujemy serwer, czyli komputer udostępniający mysz i klawiaturę:


W okienku programu widzimy cztery pola, w które możemy wpisać nazwy (adresy) komputerów znajdujących się w naszej sieci (widocznych dla naszego komputera stacjonarnego). Umieszczenie adresu komputera po lewej stronie (u mnie laptop Rhaenys - nazwa zdefiniowana w pliku /etc/hosts) powoduje, że po ustanowieniu przez niego połączenia z naszym komputerem (serwerem) będziemy mogli "przełączyć się" na pulpit klienta (Rhaenys) przesuwając kursor myszy maksymalnie na lewą krawędź ekranu serwera (kto zgadnie, w jaki sposób "wracamy" do głównego komputera?). Analogicznie wygląda to z pozostałymi trzema polami. Po prawej stronie znajduje się nasz RaspberryPi (nazwa również zdefiniowana w /etc/hosts). Klikamy Execute i przechodzimy do konfiguracji Synergy po stronie "maliny". W oknie konsoli wydajemy polecenie startx - zobaczymy kilka komunikatów x-serwera i... no właśnie, musimy teraz spojrzeć na monitor podłączony do RPi (u mnie - przełączyć na panelu monitora źródło sygnału ;)). Widzimy pięknie uruchomiony i kompletnie bezużyteczny GUI RPi :) Jeżeli uzyskaliśmy taki efekt, to znaczy, że możemy teraz uruchomić klienta Synergy - najlepiej razem z pulpitem RPi, żeby od razu móc rozpocząć pracę. Z poziomu konsoli "ubijamy" x-server, przechodzimy do katalogu /etc/X11/xinit, otwieramy w dowolnym edytorze tekstowym plik xinitrc i gdzieś na początku pliku, np. zaraz w drugiej linii (pierwsza - wiadomo #!/bin/sh :)) lub pod komentarzem informującym o przeznaczeniu tego pliku, umieszczamy polecenie:

synergy 192.168.1.1

Adres IP to oczywiście adres serwera udostępniającego zasoby - w naszym przypadku komputera stacjonarnego.
Zapisujemy plik i jeszcze raz (ciągle z poziomu konsoli ssh) uruchamiamy GUI. Jeśli nic dziwnego po drodze się nie wydarzyło, możemy się cieszyć współdzieleniem naszych podstawowych urządzeń wejścia-wyjścia i pracować w GUI RPi bez konieczności przełączania klawiatury i myszy lub konieczności posiadania drugiego zestawu urządzeń.

Dlaczego piszę o Synergy, skoro dotyczy tylko środowiska graficznego?
Do zwykłej pracy w shellu wystarczy oczywiście połączyć się z RPi za pomocą ssh. Zdarzają się jednak sytuacje, w których koniecznie musimy przejść w tryb GUI na "malinie" - choćby np. w celu przetestowania oprogramowania (naszego czy też właśnie zainstalowanego). W tych sytuacjach Synergy jest praktycznie niezastąpiony (chyba, że wolimy jakieś oprogramowanie alternatywne).

Komentarze

Popularne posty z tego bloga

Niesamowicie prosty czujnik zmierzchowy.

Tym razem zero programowania, będzie natomiast nostalgiczno-wspomnieniowy układzik, lekko zmodyfikowany. Otóż kilka dni temu rozmawialiśmy w gronie znajomych o różnego rodzaju czujnikach zmierzchowych i czujnikach ruchu. Ponieważ należę do tych wariatów, co to hołdują jeszcze owej przestarzałej i kompletnie odrealnionej dziś zasadzie: "po co kupować, gdy można zrobić", stwierdziłem, że poskładam takie coś (czujnik zmierzchowy; sensor ruchu faktycznie lepiej nabyć, choćby ze względu na rozmiary ;)) i być może podłączę do jakiegoś mikrokontrolera. Przypomniało mi się też przy okazji, że znalazłem ostatnio w elektronicznych śmieciach stary fotorezystor (dla niewtajemniczonych: element zmieniający rezystancję, czyli opór elektryczny, pod wpływem działania strumienia światła) RPP130, jeden z kilku pozostałych po montowanych wieki temu układach tranzystorowych do zdalnego sterowania pracą urządzeń za pomocą latarki... No OK, nie było to specjalnie rozbudowane zdalne sterowanie ;)

Płytka prototypowa na bazie ESP8266 (ESP-01)

To nie jest kolejny artykuł traktujący od początku do... nieco dalej (bo na pewno nie do końca) o płytkach ESP8266 . Żeby się dowiedzieć, co to takiego, odwiedźcie proszę np. tę stronę (oraz wiele innych – poproście o pomoc Waszą ulubioną wyszukiwarkę): http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family . No ale żeby nie było, ESP8266 to układ zawierający na pokładzie wydajny mikrokontroler z rdzeniem RISC-owym, taktowany zegarem 40MHz (wersja, o której jest ten wpis) lub 80MHz, 512KB pamięci flash i podsystem komunikacji przez sieć WiFi . Jest powszechnie wykorzystywany jako swego rodzaju karta sieciowa do połączeń bezprzewodowych naszych urządzeń IoT , które budujemy w zaciszu domowych laboratoriów (i nie tylko). Układ montowany jest na płytkach występujących w kilku wersjach, różniących się przede wszystkim liczbą wyprowadzeń uniwersalnych, czyli GPIO – im większa liczba, tym większe możliwości wykorzystania układu (więcej urządzeń peryferyjnych itp.). Są też pewne

Programowanie AVR cz.8: Przetwornik analogowo-cyfrowy oraz modulacja szerokości impulsu.

Dziś kolejny wgląd w wyposażenie mikrokontrolera ATmega48P - tym razem przyglądamy się wbudowanemu w układ przetwornikowi analogowo-cyfrowemu oraz - dostępnej również w modelach ATtiny - modulacji szerokości impulsu realizowanej przez timery. Artykuł ten jest w pewnym sensie wstępem do następnego, który pojawi się już wkrótce, a którego tematykę zdradziłem na końcu. Przetwornik A-C (skrót spotykany w anglojęzycznej literaturze to ADC od Analog to Digital Converter ) to układ pozwalający na zamianę wartości napięcia (elektrycznego sygnału analogowego ;-)) na liczbę. W przypadku mojej ATmegi przetwornik ma rozdzielczość 10-bitową, co oznacza, że wartość napięcia podawanego na wejście przetwornika może być po konwersji zapisana jako liczba z przedziału od 0 do 1023 (musimy użyć zmiennej word do zapamiętania tej liczby). Jeśli jesteśmy w posiadaniu mikrokontrolera w obudowie PDIP 28-wyprowadzeniowej, to mamy do dyspozycji sześć kanałów (niezależnych wejść) przetwornika A-C, przyporzą