LXDE -> LXQt – podejście pierwsze

Od dłuższego czasu (notka wskazuje, że już sześć lat, jak ten czas leci…) moim domyślnym – i w zasadzie jedynym używanym – środowiskiem na desktopie (ang.: desktop environment) jest LXDE. Nie udało mi się oczywiście całkiem zrezygnować z zależności od KDE. Z aplikacji przychodzących z KDE ostały się: edytor kate (jednak z GUI – najwygodniejszy, obecnie myślę o Atom, ale kobyła…); konsole (w szczególnych przypadkach typu konieczność wyboru charsetu, bo lxterminal ogólnie działa bardzo fajnie) oraz… kdiff3, który jest wygodny. Ale nie o tym ma być notka. Będzie porównanie LXDE vs LXQt.

Środowisko LXDE

Środowisko LXDE Źródło: http://lxde.org/lxde_desktop/

Swego czasu w sieci było sporo zachwytów nad LXQt i trochę bolało mnie, że nie ma paczek w Debianie, żeby się pobawić. Potem zauważyłem, że paczki pojawiły się w unstable, ale nie było już jakoś ani czasu, ani ochoty. Ostatnio sobie przypomniałem o ich istnieniu, zainstalowałem pakiety, przelogowałem się i… trochę rozczarowanie. Może za dużo czytałem zachwalania i miałem za wysokie oczekiwania, ale przyznam, że LXQt nie powaliło mnie.

Pierwsze co mi się rzuciło w oczy, to brzydkie dekoracje okien i brak większego wyboru w tym zakresie. OK, może kwestia przyzwyczajenia. Do tego doszły braki widgetów (np. wyloguj) oraz zmiany działania tych, które były wcześniej używane. Przykładowo wykres użycia CPU czy RAM zawiera teraz więcej informacji, na jednym wykresie. W przypadku CPU pokazuje nie po prostu zużycie, ale z rozbiciem na nice, system, user. RAM podobnie – used, buffers… Po co to komu na desktopie, tak naprawdę? Na pierwszy rzut oka jest mniej czytelnie, choć informacji więcej. I jest to ogólny trend. Widget do pokazywania temperatury korzysta domyślnie ze wszystkich możliwych źródeł, zarówno tych działających, jak i nie działających. I żeby było „normalnie”, to trzeba wyłączyć niechciane (i niedziałające).

Podgląd pulpitów jakiś taki brzydszy. Znaczy wybór pulpitów, bo podglądu po prostu nie ma. QTerminal nadal nie ma możliwości wyboru kodowania. Wbudowane blokowanie terminala (czyli screensaver) odwołuje się do nieistniejącej binarki, chociaż to akurat obchodzę przy pomocy xscreensavera, tak samo miałem zrobione w LXDE.

Żeby nie było, że tylko wady: widać, że poświęcono trochę pracy na łatwiejsze (drag & drop) dodawanie programów do pasków. Pojawiło się jakby więcej opcji w wielu miejscach. Trochę mam skojarzenia z KDE 3.5 (tak jak je pamiętam), jeśli chodzi o możliwości konfiguracji. Wiele rzeczy daje się obejść, np. zamiast brakującego widgetu do wylogowania można użyć drugiego paska ze skrótami do aplikacji i tam przeciągnąć z menu odpowiednie programy. Zdecydowanie fajny jest menadżer nośników wymiennych – w LXDE nie korzystałem, nie wiem czy w ogóle był.

Drobiazgów typu zużycie RAM nie mierzyłem – w porównaniu z dowolną przeglądarką WWW to są orzeszki teraz… Ogólnie środowisko działa szybko i sprawnie. Mam je na domowym desktopie od jakichś dwóch tygodni i zdecydowanie daje się używać.

Środowisko LXQt

Środowisko LXQt. Źródło: http://lxqt.org/screenshots/dark/

Podsumowując: wygląd jest sprawą dyskusyjną. Moim zdanie LXQt nie wnosi nic specjalnego w stosunku do LXDE, poza wyglądem, więc jeśli ktoś korzysta z LXDE, to raczej nie będzie zachwycony zmianą. Faktem jest, że LXQt działa i daje się używać, więc gdyby LXDE zniknęło, to mam wybranego następcę. Zmiana filozofii z „jest prosto i działa” na „można więcej skonfigurować” – co kto lubi. Mi LXDE pasowało, bo korzystałem z praktycznie niemodyfikowanej konfiguracji domyślnej i wielką zaletą przesiadki na LXDE był właśnie fakt, że praktycznie wszystko od kopa działa i nie trzeba rzeźbić. Przy przejściu z LXDE na LXQt trochę trzeba się pobawić z konfiguracjami.

Póki co zostawiam LXQt, żeby pozbyć się przyzwyczajeń, ale nie wykluczam, że za parę tygodni wrócę do LXDE. Tym bardziej, że właśnie z LXDE korzystam na innych desktopach – paczki LXQt w Debianie są dopiero w testing i wyżej.

UPDATE Pojedynek LXDE vs LXQt na dłuższą metę wygrało jednak LXDE. Jakoś przyjemniej to moim zdaniem wygląda.

3 powody dla których nie kupię Raspberry Pi 3

Blisko trzy lata temu (ależ ten czas leci) pisałem, dlaczego nie kupię Raspberry Pi. Parę dni temu opublikowana została specyfikacja Raspberry Pi 3. I też widzę, że nie kupię, choć cieszę się na płytkę z 64 bit ARM. Powody są trzy:

  1. Brak portu SATA. Najmniej istotny, bo można podłączyć dysk po USB (i raczej tak zrobię), ale nadal trochę boli.
  2. Tylko 1 GB RAM. Mało. Na desktop – przeraźliwie mało. IMO minimum dla desktopa na dzień dzisiejszy to 2 GB RAM. Zresztą skoro mocniejszy procesor, to i serwer można by bardziej obciążyć, a tu RAM też się przydaje.
  3. 100 Mbps ethernet. Dla rozwiązań typu NAS 100 Mbps to zdecydowanie za mało.

Co zamiast Raspberry Pi 3? Czaję się na najwyższy model Pine 64 czyli PINE64+ 2GB. Co prawda też nie ma SATA, ale ma 1Gbps kartę sieciową oraz 2 GB pamięci RAM. I ma kosztować przy tym 29 dolarów + 12 dolarów za wysyłkę do Polski.

Wady Pine64? Wspomniany brak SATA, jeśli ktoś potrzebuje USB i bluetooth, to musi dołożyć kolejnych 10 dolarów, albo kupić wersje na USB (2,5 w Chinach) i zająć oba porty. No i trzeba poczekać do maja.

UPDATE To wszystko oczywiście z mojego punktu widzenia, który można streścić „małe, tanie, mocne i Linux działa”. Z punktu widzenia kogoś, kogo bardziej interesuje zabawa elektroniką będzie to wyglądało zupełnie inaczej, bo w grę wchodzi choćby łatwość supportu czy dostępność rozszerzeń.

Warto też przeczytać komentarz Piotra (pierwszy) – Odroid wygląda nieźle (jak zwykle zresztą), choć jest nieco droższy (jak zwykle zresztą). Patrz porównanie. Czyli ciekawych alternatyw dla Raspberry Pi 3 jest więcej.

Dowiedziałem się też o istnieniu dystrybucji Armbian. Autorzy nie piszą niestety zbyt wiele, ale wygląda interesująco i wspiera wiele płytek. Oferuje świeży kernel i wspiera Debiana (Wheezy, Jessie) oraz Ubuntu Trusty.

Jak zrobić router GSM na Linuksie?

Niedawno miałem awarię netu. Stwierdziłem, że warto przy tej okazji poćwiczyć awaryjne udostępnianie sieci na Linuksie. Oczywiście zrobienie routera z komputera z Linuksem to kwestia paru poleceń, ale stwierdziłem, przećwiczyć udostępnianie sieci po WiFi.

Istnieje pakiet hostapd, który ułatwia zamianę komputera z Linuksem w access point. Instalacja pakietu hostapd:

apt-get install hostapd

Jakość pakietu nie zachwyca, ale jest niezły tutorial do hostapd. Skrypt init nie zadziała – należy go uzupełnić o ścieżkę do pliku – zmienna DAEMON_CONF. Podobnie sam pakiet nie dostarcza – jak to zwykle ma miejsce w przypadku pakietów Debiana – pliku konfiguracyjnego umieszczonego w katalogu /etc. Przykładowy plik konfiguracyjny dla hostapd znajdziemy jednak w /usr/share/doc/hostapd/examples.

Żeby nie przedłużać, poniżej cały plik konfiguracyjny, którego ostatecznie użyłem:

interface=wlan0country_code=PLssid=NAZWA_SIECIhw_mode=gchannel=6wpa=2wpa_passphrase=TAJNE_HASLOwpa_key_mgmt=WPA-PSKwpa_pairwise=TKIPrsn_pairwise=CCMPauth_algs=1macaddr_acl=0

Jak widać, są lekkie różnice w stosunku do tutoriala. Brakujące ustawienie zmiennej w skrypcie startowym znalazłem później, więc ostatecznie uruchamiałem hostapd z ręki, bez demonizacji (w ramach debugu, zresztą).

Oczywiście sama konfiguracja hostapd nie wystarczy. Trzeba mieć jeszcze skonfigurowane „przyjście” netu. W moim przypadku internet był dostarczony z modemu GSM (tutaj opis konfiguracji Aero2 na modemie Huawei E3131). Użycie modemu LTE pozwoli oczywiście zrobić szybszy router GSM na Linuksie. Przyda się również serwer DHCP i konfiguracja DNS. Obie rzeczy może załatwić dość dokładnie opisany kiedyś dnsmasq. Ale dla przydzielania adresów IP systemom łączącym się z naszym routerem GSM wystarczą dla ww. konfiguracji dwie linie w /etc/dnsmasq.conf:

interface=wlan0dhcp-range=192.168.1.100,192.168.1.200,255.255.255.0,1h

Należy też dodać adres IP na interfejsie wlan0, włączyć forward pakietów dla IPv4 oraz uruchomić NAT. Wersja „ręczna” ww. czynności (dla mojej konfiguracji, interfejsy mogą się zmieniać) to:

ip a a 192.168.10.1/24 dev wlan0
ip link set wlan0 up
service dnsmasq restart
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

Po tym wszystkim, inne komputery powinny móc się połączyć z naszym linuksowym routerem GSM, dostać adres IP oraz posiadać dostęp do internetu za jego pośrednictwem. W przypadku problemów warto sprawdzić kolejno: otrzymanie adresu IP, ping do routera (192.168.10.1), ping do świata po IP, ping do świata pod domenie (w zasadzie: resolvowanie DNS).

Na rynku jest sporo sprzętów, które pozwolą zbudować mocny routera GSM na Linuksie. Choćby przykładowo Banana Pi, Orange Pi czy nieśmiertelne Raspberry Pi. Oczywiście jeśli miałby być to sam router, to nie bardzo widzę sens ekonomiczny, bo zestaw modem+płytka+karta wifi+zasilacz pewnie będzie kosztował więcej, niż tani router LTE (no chyba, że ktoś akurat – jak ja – ma ww. graty pod ręką 😉 ), ale w przeciwieństwie do taniego routera GSM można tu uruchomić dodatkowe funkcjonalności typu NAS, VPN czy serwer WWW. Ten ostatni to może niekoniecznie na łączu GSM…

Mam nadzieję, że opis się przyda. Gdybym o czymś zapomniał, albo coś nie działało, proszę o uwagi.

PS. Oczywiście mam świadomość, że udostępnienie internetu z GSM potrafi w trzech kliknięciach zrobić chyba każdy smartfon z Androidem. W przypadkach awaryjnych jest to pewnie najszybsza droga. I tak, użyłem Aero2 i pakietu testowego bez captcha. Niskie opóźnienia pozytywnie zaskakują.

UPDATE: Istnieje coś takiego jak projekt RaspAP, o którym warto wspomnieć. Narzędzie umożliwia konfigurację access pointa WiFi w ładny (GUI) sposób. Wsparcie dla wielu języków, wygodny dostęp do wielu opcji.