Banana Pi i ekran LCD podłączony po i2c

Dawno temu NAS został wyłączony, ale zmierzam do jego reaktywacji. Po głowie chodziło mi zamknięcie wszystkiego (zasilacz, dysk, Banana Pi) w zgrabnej, tym razem dedykowanej do elektroniki, obudowie.

Trochę z myślą o programie do przełączania łącza internetowego, a trochę o pomiarze temperatury przy pomocy komputera, przyszedł mi pomysł, by sygnalizować stan różnych rzeczy w sposób nie wymagający łączności sieciowej, czyli najdoskonalszy, analogowy: migając diodą. Oczywiście szybko doszedłem do wniosku, że jedna dioda nie wystarczy, wbudowane diody to trochę mało, ale przecież w Raspbery Pi i analogach mamy GPIO, możemy tych LEDów podłączyć kilka…

Nie wiem jak dokładnie doszło do tego, ale podczas poszukiwań szybko wpadłem na ekrany LCD z serii 1602, które również można podłączyć przez GPIO. Skoro tak, to pomyślałem, że nie ma się co ograniczać. Zamiast prostej sygnalizacji stanu i konieczności pamiętania która kombinacja co oznacza można po prostu wyświetlać dowolny tekst. Niezbyt długi, ale nadal jest to znacznie większa ilość informacji, niż z kilku czy nawet kilkunastu LEDów. W dodatku cena takiego jest bardzo przystępna, czego o różnych ekranach dotykowych czy e-ink powiedzieć nie można.

Pierwotnie chciałem podłączyć LCD do Orange Pi zero, ale niestety, nie ma on pinów GPIO – są wyprowadzenia, ale trzeba by lutować, co pewnie docelowo zrobię, ale bardziej chodziło mi o sprawdzenie sterowania, a mam pod ręką Banana Pi. Gdy szukałem schematu jak podłączyć ekran do Banana Pi, natknąłem się na coś znacznie ciekawszego – wersję ekranu LCD ze sterownikiem podłączanym przez interfejs i2c. Dzięki podłączenie temu jest bardzo proste – raptem cztery przewody, nawet nie trzeba lutować, o ile używa się gotowych przewodów z końcówkami. Dodatkowo – i to najlepsza część –  całością daje się w elegancki sposób sterować za pomocą Pythona.

Efekt końcowy wygląda tak:

LCD 1602
LCD 1602 Źródło: fot. własna

Zdjęcie zrobione telefonem, po ciemku. Z tyłu płytki jest potencjometr pozwalający na regulację kontrastu. Poziom podświetlenia jest stały, można tylko włączyć i wyłączyć LED, zarówno hardware’owo (zworka), jak i programowo. Ekran LCD bierze bardzo mało prądu – przy pomocy watomierza nie udało mi się zarejestrować różnicy, czyli całość zużywa poniżej 0,1 W.

Jak to zrobić? Powtórzę instrukcje, z których korzystałem. Instalujemy dodatkowe pakiety:

apt-get install i2c-tool python-smbus

Następnie podłączamy ekran i sprawdzamy adres przy pomocy polecenia:

i2cdetect -y 1

Otrzymaną wartość należy wpisać w skrypcie (stała ADDRESS, linia 29 w przytoczonym przykładzie).

Następnie możemy sterować ekranem z poziomu języka Python. Na przykład wywołanie efektu widocznego na ekranie można zrobić przy pomocy polecenia:

python test_lcd.py "Pomiedzy bitami" "https://zakr.es/"

Gdzie test_lcd.py ma zawartość:

import sys

from i2c_lcd import *

display = lcd()
display.lcd_display_string(sys.argv[1], 1)
display.lcd_display_string(sys.argv[2], 2)

Biblioteka pozwala na dużo więcej, między innymi na własne znaki, ale tym się póki co nie bawiłem. Wyświetlony tekst pozostaje na ekranie po zakończeniu programu do momentu wpisania nowego lub skasowania poprzedniego. Jeśli do ekranu będzie dostarczone napięcie, to wyłączenie Banana Pi nie wpływa na wyświetlany tekst. Dlatego jeśli chcemy monitorować, czy nasz komputer się nie zawiesił, musimy zmieniać okresowo tekst – w innym wypadku zawartość LCD nie świadczy o niezawieszeniu się komputera.

Sterowanie włączaniem i wyłączaniem podświetlania to:

display.backlight_on(False)
display.backlight_on(True)

Wyświetlać można cokolwiek – temperaturę, zajętość dysku, opóźnienia/straty na sieci, kurs BTC (pozdro dla L.!), adres IP (po starcie!), informacje o nowych mailach…

Pozostało mi wymyślenie, w jaki sposób zrobić sensowne sterowanie. Po głowie chodzi mi demon, który będzie pobierał informacje do wyświetlenia z jakiejś kolejki, w zależności od ich priorytetu, czasu ostatniego wyświetlenia i pory dnia sterował oświetleniem i wyświetlał informacje. A może już jest coś takiego?

I garść linków pomocnych przy tworzeniu ww. rozwiązania AKA źródła:

  1. pinout Banana Pi
  2. LCD i2c dla Raspberry Pi
  3. Banana Pi i urządzenia i2c
  4. Skrypt w Pythonie
  5. Biblioteka Python do obsługi ekranów LCD po i2c

UPDATE Dla zainteresowanych kupnem – ekran z modułem do komunikacji i2c kosztuje ok. 12 zł na Allegro. Na zdjęciu jest wersja zielona, ale istnieją też wersje niebieskie, gdzie tło jest ciemne, a napisy jasne.

Solaar – parowanie urządzeń bezprzewodowych Logitech

Urządzenie bezprzewodowe podłączane do komputera składa się z właściwego urządzenia, oraz odbiornika, podłączanego do komputera. Ten ostatni jest niewielki, przez co łatwo go zgubić. Bywa też, że w środowisku, gdzie podobnych urządzeń jest wiele, urządzenia zostaną zamienione. Z racji częstego przenoszenia, niewielkich rozmiarów urządzeń i braku elementów charakterystycznych, opisywany problem dotyczy raczej myszy bezprzewodowych.

Mysz bezprzewodowa Logitech

Źródło: https://www.mwave.com.au/

Zatem tam, gdzie jest sporo bezprzewodowych urządzeń podobnego typu, na przykład w biurach, często zdarza się, że stopniowo pojawiają się zdekompletowane lub przemieszane zestawy bezprzewodowe. Teoretycznie niesprawne, ponieważ szybki test polegający na włożeniu nowej baterii i podłączeniu urządzenia nie da żadnych efektów – urządzenie nie zadziała ze względu na nieprawidłowe parowanie urządzenia z odbiornikiem.

Jak dowiedziałem się niedawno podczas rozmowy o przydasiach, użytkownicy systemu Linux mają rozwiązanie na tego typu problemy, przynajmniej dla wielu urządzeń firmy Logitech. Istnieje bowiem program Solaar, czyli narzędzie pozwalające na zarządzanie parowaniem urządzeń bezprzewodowych tej firmy.

W przypadku Ubuntu i Debiana wystarczy zainstalować pakiet solaar, a następnie uruchomić program. Użycie jest bardzo proste, wystarczy włączyć urządzenie, które ma być sparowane.

Poza umożliwieniem parowania z dowolnym odbiornikiem tego samego typu, daje ono – na niektórych urządzeniach – dostęp funkcji, do których standardowo nie ma dostępu. Praktycznie dla wszystkich urządzeń pozwala na odczyt stanu baterii (akumulatora!), dzięki czemu można zawczasu przygotować się do wymiany i uniknąć przykrej niespodzianki w postaci niespodziewanego rozładowania.

Dodatkowo program można teoretycznie wykorzystać do zmniejszenia ilości podłączonych urządzeń USB – do jednego odbiornika można przypisać kilka urządzeń, np. mysz i klawiaturę, o ile korzystają z odbiornika tego samego typu. Nie testowałem jednak konfiguracji z podłączonymi jednocześnie kilkoma urządzeniami.

Tak czy inaczej, posiadając „niesprawne” lub zdekompletowane urządzenie firmy Logitech, niekoniecznie warto je od razu wyrzucać, może się ono jeszcze komuś przydać. Jeśli istnieją podobne rozwiązania dla innych systemów, dajcie znać w komentarzach.

Debian SID jest czasem zepsuty

Niezbyt krótki wpis o urokach Linuksa na desktopie, o tym, że człowiek uczy się całe życie i o tym, czemu warto jednak korzystać z Debiana w wersji unstable AKA SID.

I przekornie zacznę od końca. Dawno temu przeczytałem świetny wpis o tym, dlaczego Debian unstable nie zasługuje na tę nazwę. Jak lubię Debiana i od dawna jest to mój podstawowy system na desktop, jeśli tylko mogę go używać (z polityką firmy się nie dyskutuje; nie każdy soft działa na Linuksie), tak używanie wersji stabilnej było nieco męczące, choćby ze względu na nieco stary soft. Przypominam, że było to w czasach, gdy backports nie były oficjalną częścią dystrybucji.

Radziłem sobie na różne sposoby – a to używając pakietów z wersji testing lub unstable, a to robiąc backporty. Jakoś to działało, ale wpis mi się spodobał i stwierdziłem, że dam szansę wersji unstable. Ku mojemu zaskoczeniu, zrobiło się dużo prościej i wcale nie mniej stabilnie. Rzekłbym nawet, że problemów z aktualizacją pakietów jest znacznie mniej, niż przy mieszaniu wersji. Nie to, że zawsze wszystko działa, ale konieczność downgrade pakietu, bo jakaś kluczowa funkcjonalność nie działa, zdarzyła mi się małe parę razy. W ciągu kilku lat.

No i właśnie, wróciłem z konfy, odpalam rano do kawy komputer, by sprawdzić pocztę i… nie wstał. Czarny ekran z kursorem, nawet nie migającym. Przejście do trybu tekstowego nie działa. I ciężko stwierdzić, która aktualizacja namieszała, bo zwykle usypiam laptopa, zamiast wyłączać. Smuteczek i zły moment.

W jakieś pół godziny nie udało mi się do niczego sensownego dojść, poszedłem do pracy. Po powrocie nie było wiele lepiej. Uruchomienie w single mode i aktualizacja pakietów nie pomogła, choć bardzo liczyłem na to.

Po krótkiej walce udało mi się za to ustalić, że wina leży w okolicy xorg. Tu słowo wyjaśnienia i ważna uwaga. Laptop to Dell Vostro 1440 i ma dwie karty graficzne. I zawsze były z nimi przygody, głównie za sprawą niedziałającego przełączania między nimi. Nie żeby mi jakoś specjalnie zależało na konkretnej – jak były działające sterowniki, to korzystałem z ATI, jeśli nie – z Intela, a przełączałem je przy pomocy zmiany konfiguracji w xorg.conf, dlatego w ogóle ten plik posiadam. Pamiętam, że kiedyś przestała działać mysz i klawiatura i musiałem dopisać stosowne sekcje w xorg.conf. I w ogóle przez lata zebrało się kilka wersji tych konfiguracji, chociaż gdzieś tak od dwóch korzytałem z tej samej.

W każdym razie, po nieco dłuższej walce z downgrade podejrzanych pakietów i zasięgnięciu języka na IRCu udało mi się uruchomić Xy, ale… znowu bez klawiatury i myszy. Dopisywanie stosownych sekcji w xorg.conf powodowało albo powrót do niedziałania grafiki, albo nie przynosiło efektów. Stwierdziłem, że pomysły mi się skończyły i pora na bardziej radykalne rozwiąznia, czyli sprawdzenie, jak też wygląda konfiguracja Xów i działanie pod Debianem live. I o dziwo nie miał najmniejszych problemów, mimo braku xorg.conf. Jednak Debian live jest oparty o wersję stabilną, nie unstable.

Wygenerowałem xorg.conf na live, potem jeszcze trochę poszukałem i znalazłem rozwiązanie. Okazało się, że wszystkie pakiety były w porządku, za to brakowało mi w systemie pakietu xserver-xorg-input-evdev – pewnie został usunięty przy ostatniej aktualizacji, a ja tego nie zauważyłem. Po jego doinstalowaniu zarówno klawiatura jak i mysz działają.

Pochwaliłem się na IRC (kanał debian-next na OFTC) i wywołałem spore zdziwienie. Po pierwsze, wszystko powinno działać bez xorg.conf. Za to warto mieć zainstalowane xserver-xorg-input-libinput oraz xserver-xorg-input-all, które to pakiety instalują się domyśnie przy instalacji xserver-xorg. Zapewne kiedyś były zainstalowane lecz usunąłem je przy jakichś problemach z aktualizacją pakietów – uroki SIDa. I stąd całe zamieszanie.

Piszę o tym, bo mimo wszystko polecam Debiana unstable na dekstop, a tego typu problemy to wyjątek. Nie zmienia faktu, że łącznie zeszły mi ze trzy godziny na przywrócenie pełnej funkcjonalności systemu. Pozostało mi doinstalowanie brakujących pakietów i wypróbowanie działania bez xorg.conf, ale chwilowo nie mam weny. Pewnie wkrótce zaktualizuję wpis.

UPDATE: Po doinstalowaniu obu brakujących pakietów i skasowaniu xorg.conf wszystko działa. Czyli całe zamieszanie z powodu przekombinowania było.

Termometr na USB

Dawno temu byłem zafascynowany prostym układem DS18S20, który działa za pośrednictwem 1-wire i umożliwia dokładny odczyt temperatury przez komputer. Schematów podłączenia przez RS-232 była masa, koszt układu niewielki. Jedyne co powstrzymywało mnie wtedy przed uruchomieniem to… brak realnej potrzeby.

Potem sytuacja się zmieniła – port szeregowy zaczął w komputerach zanikać, a mnie coraz bardziej interesowała
temperatura z wbudowanych czujników (płyta główna, dyski), a nie temperatura otoczenia. Były co prawda schematy jak to podłączyć przez USB, ale w stosunku do pierwowzoru rósł i poziom skomplikowania, i koszt.

Niedawno pojawiła się potrzeba (no dobra, powiedzmy, że potrzeba, bardziej pretekst), więc odświeżyłem temat.
Okazało się, że istnieją tanie moduły PL2303HX USB UART, a także nieco nowsza wersja cyfrowych termometrów, oznaczona symbolem DS18B20. Różnica między wersjami w sumie pomijalna, z perspektywy tego wpisu. Każda z tych rzeczy to ok. 6 zł z dostawą (Allegro), a podłączenie jest jeszcze prostsze i nie
wymaga żadnych dodatkowych elementów, jak widać na schemacie.

Do odczytu temperatury służy digitemp. Opis użycia (zaczerpnięty stąd).

Instalacja pakietu:

apt-get install digitemp

Skanowanie układów:

digitemp_DS9097 -i -s /dev/ttyUSB0

Odczyt wartości:

digitemp_DS9097 -a

Bardziej zależało mi na sprawdzeniu, czy taka prosta wersja faktycznie będzie działać – w wielu miejscach podawane są bardziej skomplikowane schematy. Faktycznie, działa. Rozwiązanie zlutowane na krótko, bez żadnego przewodu ma jednak tę wadę, że moduł PL2303HX grzeje się na tyle, że wpływa na odczyt temperatury. Myślę, że ok. 10 cm kabla załatwi temat, ale gdyby ktoś był zainteresowany to można pomyśleć od razu o kupnie nieznacznie droższej wersji wodoodpornej, z przewodem. Mi akurat zależało żeby kabel się nie pałętał, ale wersję z kablem można zawsze skrócić…

Oczywiście gdyby ktoś chciał całkiem nowocześnie, to teraz czujniki temperatury montuje się do ESP8266 i odczytuje po WiFi. Tyle, że w moim wypadku to niewygodne – problem z zasilaniem, a dane i tak mają trafić do pełnoprawnego komputera, ew. do SoC z Linuksem.

Gdyby ktoś bał się, że blog skręca całkiem w tematy elektroniczne – bez obaw, będzie najwyżej parę wpisów i raczej w ramach wspomnienia o czymś, niż jako podstawowa tematyka.

Zasilaczowe perypetie cz. 1 – zasilacz do laptopa Dell

Na urlopie któregoś wieczora włączyłem laptopa (Dell Vostro 1440), a ten powitał mnie przy starcie komunikatem, że nie rozpoznał zasilacza. Dałem kontynuuj i myślałem, że na tym się skończy, ale szybko stwierdziłem, że to za mało. Laptop działał, ale bateria się nie ładowała. Dodatkowo, procesor działał z najniższym możliwym taktowaniem, czyli odpowiednik trybu powersave. Niezbyt komfortowe, delikatnie mówiąc. Sprzęt ma swoje lata (dokładnie pięć) i choć nie był zbyt intensywnie używany, to na urlopie po prostu wrzucałem zasilacz do plecaka, więc stwierdziłem, że może gdzieś się kabel złamał.

Próbowałem poruszać kablem w co bardziej newralgicznych miejscach, ale bez rezultatu. Ponieważ wiedziałem, że zasilacz jest sprawny, postanowiłem poczytać o wewnętrznej żyle, służącej do sygnalizacji. Z innych zabaw z zasilaczami do laptopów wiedziałem, że jest tam obecne napięcie. Liczyłem, że to tylko prosty dodatek i jest zmostkowane z plusem. Postanowiłem zapytać znajomych, czy tak jest faktycznie. Gdyby tak było, to plan był następujący – wziąć wtyczkę i gniazdo i zrobić przedłużacz, który jednocześnie będzie mostkował plus z tą wewnętrzną żyłą.

Niestety, szybkie rozpytanie i rzut oka w wyszukiwarkę ujawniły, że jest to nieco bardziej skomplikowane: wewnętrzna żyła służy do komunikacji 1-wire zasilacza z laptopem. Natomiast sama usterka faktycznie jest popularna. Na tyle, że można kupić gotowe kable do przylutowania w zasilaczu. Tyle, że wspomniana przejściówka byłaby wielokrotnego użytku i prostsza w montażu…

Postanowiłem zmodyfikować podejście i zobaczyć, czy da się tani zrobić oszusta, czyli przedłużacz jak wyżej, ale udający zasilacz. Czyli trzeba by doczytać o komunikacji 1-wire na linii zasilacz-laptop i układach, które ją realizują. Już rozmyślałem, kto ze znajomych ma oscyloskop, ale sprawa okazała się o wiele prostsza. Ktoś już sprawdził komunikację, opisał format, a nawet zamieścił kod źródłowy i schematy. Tutaj znajdziecie cykl bardzo interesujących wpisów nt. komunikacji laptopów Dell z zasilaczami (oczywiście po angielsku) oraz repo GitHub. Jak widać autor również wpadł na pomysł przejściówki, tyle, że motywowany nieco inną potrzebą.

A jak się sprawa zakończyła u mnie? Nie zależy mi na debugu i zabawie, więc powyższe rozwiązanie nie bardzo ma sens ekonomiczny. Stosowne chipy do komunikacji 1-wire co prawda nie są drogie, bo – jeśli dobrze pamiętam – wychodziło ok. 2 zł za sztukę, ale w paczkach po 5-10 sztuk i przy sprowadzaniu z Chin. Dodatkowo trzeba jeszcze je zaprogramować, programator jest dość drogi, a nikt posiadający takie urządzenie nie przychodził mi do głowy.

Ponieważ korzystanie z laptopa na najniższym taktowaniu było zauważalnie męczące, nie bylem pewny, czy uda mi się otworzyć zasilacz w taki sposób, że złożę go z powrotem, a także nie miałem pewności, czy faktycznie chodzi o kabel, czy też może o uszkodzony układ do komunikacji, szybko kupiłem zastępczy zasilacz oraz… dwa kable. Planuję spróbować zreanimować stary zasilacz przez wymianę kabla – przy odrobinie szczęścia na parę lat starczy, a przejściówka… może innym razem. Kable dwa, bo od sprzedawcy zasilacza, więc wysyłka gratis, a kosztowały niecałe 5 zł za sztukę.

Przy okazji: otworzyć zasilacz do laptopa można wkładając nóż w szczelinę i delikatnie pukając w niego młotkiem. Sposób jest niestety inwazyjny, bo są one klejone – po naprawie trzeba albo skleić klejem (wersja trwała/ładna), albo złożyć i brzydko skleić taśmą z wierzchu.

Dokładność zegarków kwarcowych

Jakiś czas temu w komentarzach pod wpisem u Boniego zeszło na dokładność zegarków kwarcowych. Było o tym, że są znacznie dokładniejsze od mechanicznych. Poszperałem w sieci i znalazłem informacje[1], że chronometry (certyfikowane) mechaniczne, to dokładność -4/+6 sekund dziennie, natomiast kwarc (dowolny) to -15/+20 sekund miesięcznie.

Spostrzeżenie organoleptyczne było takie, że zarówno budzik Casio, naręczny MQ-24 oraz p zegarek naręczny reguluję dwa razy do roku – przy zmianie czasu. I żadnych niedokładności nie widzę, więc musi być jeszcze dokładniej w praktyce. Co prawda na sekundnik nie patrzę w żadnym z przypadków, ale różnicę rzędu minut czy też minuty mógłbym zauważyć.

Postanowiłem zrobić amatorski test dokładności mojego Casio naręcznego. Zsynchronizowałem czas na komputerze przy pomocy NTP[2], zatrzymałem zegarek z sekundnikiem rozpoczynającym minutę. W momencie zmiany minuty włączyłem zegarek naręczny. Czyli powiedzmy dokładność do jednej sekundy. Dla pewności zapisałem datę: 21 czerwca.

W trakcie testu zegarek był użytkowany – zaliczył wyjazd na wakacje, więc i trochę leżenia, i trochę noszenia, i trochę podgrzania na słońcu, chociaż kwarcom niespecjalnie takie rzeczy powinny robić różnicę.

Przedwczoraj, czyli 24 lipca, nadszedł czas na podsumowanie testu. Ponownie sprawdziłem synchronizację czasu na komputerze i sprawdziłem różnicę czasu. Wyniosła +5 sekund w ciągu 35 dni, czyli równo 1 sekunda tygodniowo. Poniżej minuty rocznie. Nic dziwnego, że mogłem nie zauważyć różnic pomiędzy regulacjami czasu.

[1] W wielu miejscach, generalnie zbieżne, niekiedy różniące się pojedynczymi sekundami. Nie zanotowałem niestety linków.

[2] Znaczy sprawdziłem, czy lokalny pokrywa się z czasem podawanym przez serwery NTP, bo zsynchronizowany jest cały czas – to chyba już domyślne na większości systemów, z komórkami włącznie.

UPDATE 28.09.2017 sprawdziłem ponownie. +15 sekund różnicy w 99 dni. Daje sekundę w 6,6 dnia, czyli odchylenie bez zmian.

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.

Ś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.

O grach

Kilka dni temu dotarła do mnie informacja o wydaniu nowej wersji gry NetHack, po 12 latach przerwy. Wzięło mnie na wspominki, więc z tej okazji wpis o grach. Po pierwsze Nethack czyli gra typu roguelike. Pamiętam zakład z M., który z nas pierwszy przekroczy barierę miliona punktów. Mam save z wizardem, który ma ponad milion punktów (sprawdziliśmy komisyjnie wychodząc z gry). Pewnie już nie włączę, bo wyszedłem z wprawy, więc zapewne zginąłby po kilku-kilkunastu ruchach. Tak czy inaczej „rogaliki” były fajne. Oczywiście bez save scummingu! A najważniejszy był właśnie NetHack.

Kolejna ważna gra, to CounterStrike. W wersji 1.5. I garażowe (i nie tylko) LAN party. W przeciwieństwie do innych FPS był dość „wolny” i dość taktyczny. Bardziej drużynowy, mniej oparty na refleksie. Trochę mi zamiłowanie do tego typu rozrywki zostało, o czym dalej. No i efektem ubocznym gry w CSa była nauka Perla – mieliśmy autorski system generowania statystyk, który momentami wyprzedzał to, co oferowały dostępne gotowce (ale tylko momentami, poza tym, był dostosowany do naszych „klanów”). Dziś pewnie przestraszyłbym się, gdybym zajrzał w kod, ale było to pierwsze praktyczne użycie Perla. I działało całkiem fajnie. IIRC z braku „prawdziwego” serwera WWW dystrybucja HTMLi odbywała się mailowo w plikach zip.

A dziś? Pogrywam czasami, choć coraz rzadziej, w drobiazgi z Humble Bundle. Godny odnotowania tytuł: Faster Than Light, który jest określany jako rougelike-like (IMO niezupełnie słusznie, choć jakieś echa w klimacie są). Poza sympatią do roguelikeów zostały mi nadal związki gier z programowaniem, np. bardzo spodobał mi się pomysł CodeCombat, czyli gry i jednoczesnej nauki programowania.

Numer jeden i chyba jedyna gra, w którą obecnie gram aktywnie, to World of Tanks. Trochę rozwinięcie CSa – jest pod wieloma względami podobny – i „wolny”, i taktyczny, i drużynowy. Choć niezupełnie FPS. Jest też parę trybów rozgrywki. Ostatnio odkryłem nowe warstwy: po pierwsze gra w klanie (amatorski, for fun, średnia wieku pewnie 30+), po drugie gra z ludźmi, którzy grają… nieźle. Nie jest to poziom ESL, ale jak się zobaczy w praktyce dobre rozstawienie, taktykę i wykonanie, to gra nabiera zupełnie nowego wymiaru. Polecam.

Ostatnią ciekawą grą, o której się dowiedziałem jest Minecraft Pi, czyli serwer Minecrafta przygotowany do uruchomienia na Raspberry Pi (i zapewne podobnych komputerach z ARM). Kolejny związek z programowaniem – ma uczyć programowania w języku Python. Niezupełnie tylko rozumiem, jak jest z licencjonowaniem i klientem – odwiedziłem sklep z grami i jest tam klient Minecrafta, ale czy jest on wymagany, żeby grać w klony typu Minecraft Pi? Trochę dziwi mnie brak alternatywnych, otwartych klientów, szczególnie na Linuksa. Chyba, że źle szukałem (przyznaję, pobieżnie)? W każdym razie jest plan, żeby także tą grą się pobawić, tylko to raczej przy jakimś dłuższym urlopie…

Tyle o grach komputerowych. O niekomputerowych innym razem.

O bezpieczeństwie po polsku

Jakieś dwa tygodnie temu serwis Sekurak.pl opublikował pierwszy numer swojego zina o bezpieczeństwie. Całego jeszcze nie przeczytałem, ale pierwsze wrażenie bardzo dobre. Przyda się chyba wszystkim mającym styczność z komputerami, poczynając od administratorów systemów, przez programistów, po frontendowców i ogólnie „webmasterów”. Bezpiecznikom chyba też, bo chwalą.

Magazyn napisany jest profesjonalnie – czytelne grafiki, streszczenia artykułów, dobre formatowanie i przykłady. Widywałem gorsze artykuły w płatnych czasopismach. Sporo o podstawach, czyli czym jest CSRF, czym jest SQL injection, czym jest XSS. Zdecydowanie warto pobrać i przynajmniej rzucić okiem, tym bardziej, że po polsku i za darmo, poza tym, pisane w taki sposób, żeby czytający od razu się orientował, czy dany artykuł będzie interesujący.

Do pobrania Sekurak Offline w wersji pdf, mobi oraz epub.

Jak jakiś challange

Liczba ubitych przeze mnie łańcuszków jest ogromna i zasadniczo ice bucket challange uważam za głupi i olewam ciepłym parabolicznym, ze względów różnych, a w szczególności z powodu, który można streścić a kimże jesteś, że stawiasz mi wyzwania i dajesz alternatywy? Od dobroczyństwa to mam WOŚP (i 1% podatku), ale ta wersja[2] dotyczy zabawy z językiem, więc dam szansę, tym bardziej, że mam pomysł (wielkie słowo) na myśl przewodnią, znaczy tematycznie będzie. 😉

  1. Klnie jak szewc – klnie jak Linus na Nvidię
  2. Zabiera się jak pies do jeża – zabiera się jak RMS do instalacji Windows
  3. Proste jak drut – proste jak Ubuntu
  4. Idzie jak krew z nosa – idzie jak torrent na dial-upie
  5. Brzydki jak noc listopadowa – brzydki jak kod w Perlu
  6. Nudne jak flaki z olejem – nudne jak instalacja Windows
  7. Kłamie jak z nut – kłamie jak bogoMIPS
  8. Wyskoczył jak Filip z Konopii – wyskoczył jak Lennard Pottering z systemd
  9. Tani jak barszcz – tani jak program na GPL
  10. Siedzi cicho jak mysz pod miotłą – siedzi cicho jak SSD

Wyzwanie dostałem od lotty, a nominuję… każdego czytelnika tego wpisu posiadającego bloga, który ma chęć wziąć udział w zabawie[2]. Gdyby ktoś się skusił, to prośba o trackback (link poniżej).

[1] Albo wymyślimy 10 parafraz znanych (po dopytaniu: dokładnie tych wyżej wymienionych) frazeologizmów z jednostką „jak” albo zasilamy konto Akademii Przyszłości.

[2] Tak, my way. Dobrowolnie będzie. Poza tym, prosty łańcuszek 1:1, gdzie nominowana jest tylko jedna osoba, jest skazany na szybkie wymarcie.

Jaki serwer DNS wybrać?

Wybór serwera DNS z którego korzystamy na urządzeniu końcowym jest ważny z kilku powodów:

  • Szybkość serwera DNS. Czas oczekiwania na odpowiedzi z serwerów DNS może być istotną częścią czasu ładowania stron Jest to szczególnie widoczne na stronach z dużą ilością wklejek z różnych domen. W przypadku szybkości serwera DNS nie chodzi jedynie o opóźnienie sieci (to można sprawdzić przy pomocy ping), ale o czas udzielenia odpowiedzi. Zależy on już od większej liczby czynników: opóźnienie sieci, posiadanie bądź nie odpowiedniego spisu w cache (oczywiście lepiej, jeśli odpowiada z cache), wydajność sprzętu i oprogramowania na którym działa DNS.
  • Poprawność odpowiedzi. Nic po szybkiej odpowiedzi z serwera DNS, jeśli będzie ona błędna. W skrajnym przypadku możemy paść ofiarą spoofingu DNS i trafić na podstawioną stronę.
  • Neutralność, czyli brak cenzury. Trochę wiąże się z poprzednim zagadnieniem, ale w tym przypadku chodzi o to, że do pewnych stron w ogóle nie będzie można się dostać. O ile działanie takie ma sens przy ograniczaniu zasięgu szkodliwego oprogramowania, to może być także służyć jako ograniczenie dostępu do treści.

 

Co warto zrobić w kwestii DNS?

Jeśli posiadamy sieć lokalną z kilkoma (i więcej) komputerami, to prawie na pewno warto postawić lokalny cache DNS – dzięki temu powtarzające się nazwy będą rozwiązywane lokalnie. Dobrym i prostym rozwiązaniem dla małej sieci jest dnsmasq, dostępny także dla OpenWrt.

Poza tym, warto wybrać te serwery DNS, które odpowiadają najszybciej. Zwykle nie popełnimy dużego błędu, jeśli wybierzemy serwery zalecane przez naszego dostawcę sieci lub wskazane automatycznie.

Czy zawsze lokalny serwer DNS lub oferowany przez naszego dostawcę Internetu jest najlepszy? Niestety nie. Prawie zawsze będzie on najszybszy pod względem opóźnienia sieci, ale już zawartość cache bywa różna. Szczególnie w przypadku lokalnego serwera może się okazać, że jego cache jest pusty dla większości zapytań. Na szczęście zwykle narzut lokalnego serwera nie jest duży.

Jeśli nasz komputer łączy się z internetem za pośrednictwem wielu sieci (wifi, połączenia GSM), można pomyśleć o postawieniu lokalnego cache DNS bezpośrednio na nim.

Jak najprościej znaleźć najlepsze serwery DNS?

Istnieje do tego darmowy i wolny program o nazwie namebench, służący do benchmarku serwerów DNS. Działa na wszystkich systemach, wersję dla Windows i Mac OS X można pobrać ze strony, w przypadku Linuksa zapewne jest w dystrybucyjnym repozytorium. Domyślnie działa z GUI, ale nie jest ono niezbędne – program daje się również uruchomić w konsoli. Ważne jest, żeby nie uruchamiać testu od razu, tylko najpierw przeczytać jak program działa i zastanowić się, co chcemy zrobić. Dlaczego? Ano dlatego, że pierwsze uruchomienie jest najbardziej zbliżone do rzeczywistych warunków ze względu na oryginalną, niezakłóconą poprzednimi testami zawartość cache testowanych serwerów DNS, czyli najbardziej miarodajne.

Jak korzystać z namebench?

W polu nameservers warto podać, oddzielone spacjami przynajmniej: DNS lokalny w sieci (jeśli posiadamy), serwery DNS naszego ISP. W przypadku Polski dodatkowo warto podać serwery DNS Orange (najpopularniejsze to 194.204.159.1 i 194.204.152.34) – kiedyś były dostępne tylko dla klientów TPSA, ale obecnie wyglądają na otwarte – działają z każdej sieci, z której testowałem – i osiągają dobre wyniki. W moim przypadku były szybsze, niż serwery DNS mojego ISP.

Namebench - ekran startowy
Ekran startowy namebench. Źródło: strona domowa programu namebench.

Poza tym, zaznaczamy globalne publicznie dostępne serwery cache’ujące oraz serwery regionalne. Można zaznaczyć sprawdzanie pod kątem cenzury i podzielenie się uzyskanymi wynikami. Lokalizacja to oczywiście Polska, query data source – możemy skorzystać z historii stron którejś z naszych przeglądarek, wyniki będą wówczas bardziej zbliżone do realnych.

Następnie uruchamiamy test i na kilka-kilkanaście minut zostawiamy komputer w spokoju. Po tym czasie otrzymamy wyniki: propozycję trzech najlepszych dla nas – zdaniem programu – serwerów DNS (kolejność ma znaczenie) oraz szczegółowe dane i wykresy. Kluczowy dla szybkości działania sieci jest oczywiście średni czas odpowiedzi z serwera DNS.

Na koniec uwaga: jeśli najszybsze serwery nie należą do naszego ISP ani nie są otwartymi, publicznymi serwerami, może się zdarzyć, że ich właściciel ograniczy za jakiś czas do nich dostęp.

 

Jak uruchomić komputer z USB, gdy BIOS nie ma opcji bootowanie z USB?

USB

Złącze USB przez Petr Kratochvil

Od paru lat komputery wyposażone są zwykle w opcję uruchamiania systemu z USB. Rozwiązanie znacznie lepsze, niż płyta CD: płyt jednorazowych trochę szkoda, żeby coś szybko przetestować, płyty wielorazowe się rysują, napędy CD-ROM mają długie czasy dostępu i są głośne. Dodatkowo, pod USB można podłączyć zwykły dysk twardy, albo mieć system RW na pendrive. Niestety, kiedyś bootowanie z USB było rzadkością, a nawet jeśli było, to urządzenie bywało widoczne nie jako zwykły dysk twardy, tylko USB-FDD. W każdym razie gdy ostatnio robiłem grzejnik, to najzupełniej prawidłowo przygotowany pendrive z grub’em, robiący za dysk twardy nie był widoczny jako urządzenie pozwalające na uruchomienie systemu.

 

Jak pisałem, znalazłem na to obejście: bootowanie z CD-ROM (który na szczęście zwykle jest obecny w starych sprzętach) pozwalające na dalsze bootowanie z USB. Rozwiązanie genialne w swojej prostocie, tylko jak to zrobić? Jest gotowiec w formie freeware (także dla firm): Plop Boot Manager. Narzędzie bardzo fajne, ale układ strony, sposób podziału pakietów i wreszcie dokumentacja jest poukładana IMHO fatalnie. Tzn. opisane jest wszystko, ale wygląda na bardziej skomplikowane, niż jest w rzeczywistości, część informacji powtarza się itp.

Tak naprawdę, aby przygotować płytę CD z bootloaderem należy pobrać z tej strony dwa narzędzia (plpcfgbt-0.11.zip oraz plpbt-createiso.zip), a następnie wykonać tylko 3 kroki:

  1. skonfigurować opcje bootowania przy pomocy plpcfgbt, tak by domyślnie bootował z USB. W przykładzie jest gotowiec: Hidden boot with usb: plpcfgbt stm=hidden cnt=on cntval=1 dbt=usb plpbt.bin
  2. przygotować obraz płyty przy pomocy skryptu create-iso.sh (tak naprawdę zwykłe mkisofs z odpowiednimi opcjami)
  3. nagrać obraz iso na płytę CD (ulubionym narzędziem)

Po włożeniu płyty do napędu, ustawieniu w BIOSie bootowania z CD-ROM i podłączeniu pendrive z systemem najpierw uruchomi się bootloader z CD-ROM, a następnie bootloader z urządzenia podłączonego do USB.

Powyższe dla Linuksa. Pod Windows też się da, z tego co widzę, bo autor daje wersje skryptów i programów pod oba systemy. Mam dziwne przeczucie, że pod Linuksem będzie łatwiej.

UPDATE: W ramach tematów powiązanych oraz linkowania się na krzyż, Franek opisuje po polsku nieco bardziej życiowe zagadnienie czyli, jak uruchamiać wiele liveCD z jednego USB.

 

Wyciszanie grzejnika.

Pod koniec zeszłego roku komputer robiący za grzejnik przestał działać. Padł dysk. Software RAID na dwóch partycjach niewiele pomógł. Tzn. pomógł na tyle, że były sygnały, że wkrótce się skończy. Gdybym miał jakieś ważniejsze dane, to zapewne zdążyłbym zgrać. Inna sprawa, że wg statystyk zrobionych przez Google, IIRC 30% dysków nie ma żadnych, ale to naprawdę żadnych objawów w S.M.A.R.T, zanim padną. Jakby komuś bardzo zależało i nie mógł znaleźć – dajcie znać w komentarzach, to poszukam tych statystyk Dzięki GDR! za podesłanie linka!

Wracając do tematu. Wymieniłem komputer w domu u rodziców, przełożyłem ze starego dysk do nowego. Zapomniałem o tym, włączyłem go i… praktycznie totalna cisza. Mimo w sumie trzech wentylatorów (zasilacz, radiator na procesorze i wentylator jak od zasilacza puszczony na 5V chłodzący kartę graficzną). Okazało się, że głównym hałasującym był dysk (Seagate 60 GB).

To podsunęło mi pomysł, żeby spróbować tego samego z grzejnikiem. W końcu komputer uruchamiający się z pendrive był ćwiczony wielokrotnie. Może nie w tak hardcore’owej wersji, bo jednak zawsze na podorędziu był dysk wpięty po USB, ale to przecież drobiazg. Przy okazji nauczyłem się patentu: jeśli komputer nie ma bootowania z USB w BIOSie, albo ma takie, że nie potrafi zabootować się z pendrive’a, to można zabootować z CD-ROM i kazać bootować z USB. Wymaga co prawda sprawnego napędu CD-ROM, ale działa. 🙂

Dzisiaj przywiozłem grzejnik. System zainstalowany na pendrive, póki co bez tuningu pod kątem trwałości tego ostatniego. Znaczy jest ext2, nie ma swap, ale reszty opcji nie miałem kiedy włączyć. Oczywiście tym razem nie będzie dysku tylko do odczytu, bo mprime musi gdzieś zapisywać wyniki (BTW przechodzę wyłącznie na wstępną faktoryzację – w jeden sezon grzewczy i tak nie jestem w stanie „konkursowej” liczby przeliczyć), ale to nie powód, by katować flasha ponad potrzebę.

Pamiętałem, że wentylatory w tej maszynie dość szumią, więc przypomniał mi się zacny wpis z Majsterkowo.pl o naprawie głośnych wentylatorów. Co prawda wyciąganie zawleczki i wyciąganie ośki uważam za overkill, ale rozebrałem i wentylator od procesora, i ten w zasilaczu i przesmarowałem sprawdzonym sposobem (kropelka oleju maszynowego). Jest o niebo lepiej, choć nadal troszkę go słychać. Winny jest badziewny radiator i wentylator zamontowany na nim, który jakby ma lekkie bicie. I w ogóle trochę mały jest ten radiator, i mniejszy niż w zasilaczu ma wentylator. Trochę żałuję, że nie przełożyłem z mojego starego domowego komputera procesora (Athlon 2200+) – obecnie jest Sempron 2300+, czyli słabszy. No i oczywiście radiatora (tego z niesłyszalnym praktycznie wentylatorem). Przy okazji mogłem też wymienić wentylator w zasilaczu, choćby na ten, który dmuchał na grafikę w starym komputerze. No ale nie było czasu… ;-/

Przy okazji otwierania zasilacza w celu przesmarowania i wyczyszczenia wentylatora znalazłem spore pokłady kurzu. Niestety, okazuje się, że samo odkurzenie zasilacza przez szczeliny nie pomaga, a sprężonego powietrza nie miałem nigdy pod ręką. Dodatkowo wyszło na jaw, że jeden z kondensatorów trochę wyciekł. Mam już lutownicę, ale nie miałem kondensatora na wymianę. Póki co działa, więc nie ruszam. Mam nadzieję, że nie odparuje razem z płytą…

UPDATE: Note for myself: w tym roku dniem uruchomienia grzejnika jest 02.12.2012. I nie jest to początek sezonu grzewczego.

UPDATE2: Może i było lepiej przez chwilę, ale dość szybko się pogorszyło. Tym razem pamiętałem i wyjąłem wentylator z nieużywanego komputera. Okazuje się, że nie był na 5V, a i tak był praktycznie niesłyszalny. Jakiś Arctic, które kupiłem za grosze w większej ilości wieki temu. Co prawda z mocowaniem był cyrk, bo żeby wkręcić cztery wkręty brakuje jakichś 5 mm na długości radiatora, ale dało się zamocować na dwóch (skombinowanych z kołków, bo wentylator różni się głównie wysokością, więc oryginalne nie pasowały). 1700 RPM w tej chwili i cisza – ten z zasilacza jest głośniejszy.

Alternatywa dla VirtualBox – AQEMU.

Zachciało mi się zmiany kernela z 3.2 na 3.5. Inspiracją był znajomy, który zaobserwował spadek zużycia prądu na laptopie przy zmianie z kernela 3.2 do 3.4 z 28W do 19W (pomiar wg powertop). VirtualBox po zmianie kernela oczywiście przestał działać. Nic nowego i nawet pisałem o tym, że debianowa paczka dla VirtualBox jest pod konkretny kernel robiona. Pisałem też, jak uruchomić VirutalBox na Debianie z własnym kernelem.

Co prawda u mnie kernel 3.5 nic nie daje w kwestii zużycia energii, ale skoro już pojawił się temat, to trzeba go pociągnąć. Mogłem użyć poprzednio opisanego sposobu z uruchomieniem VirutalBox na Debianie z własnym kernelem, ale jakoś nie uśmiechała mi się zmiana VirtualBox na wersję z repozytorium Oracle (poza tym, kiedyś różniły się licencją – w Debianie było OSE, nie żeby miało to jakiekolwiek znaczenie w tym przypadku), ściąganie plików nagłówkowych i kompilacja kernela, więc postanowiłem się rozejrzeć za alternatywami dla VirtualBox.

Ludzie podszepnęli KVM, który jak najbardziej znam i używam, ale w innym, serwerowym zastosowaniu. Okazuje się, że KVM ma także, obok narzędzi do zarządzania CLI i webowych, także narzędzia desktopowe, czyli GUI. Na stronie z listą frontendów dla KVM znaleźć można trzy frontendy typu desktop: AQEMU, virt-manager oraz GKVM. W pierwszym podejściu przeoczyłem virt-managera i wziąłem się za AQEMU. Już miałem orzec, że bootowanie z obrazu iso płyty CD nie działa, ale dogrzebałem się do ustawienia, które pozwala wybrać medium (i które nie jest zapamiętywane, bug zgłoszony).

Po tym było już z górki. Wirtualizacja desktopu z użyciem KVM generalnie po prostu działa. Nie testowałem jakoś specjalnie mocno, bo służy mi to głównie do zabaw z różnymi systemami liveCD, ale sieć działa, bootowanie z CD-ROM działa, przeglądarka działa. Zarządzanie, wygląd i dostęp do opcji też wygląda też sensownie, co można zobaczyć na screenshocie poniżej.

AQEMU screenshot

Źródło: strona projektu AQEMU

Zrobiłem, po przebootowaniu do 3.2, rzecz jasna, krótki benchmark, a w zasadzie namiastkę benchmarku, dla AQEMU i VirtualBox, w postaci zmierzenia czasu uruchamiania systemu z liveCD (padło na T(A)ILS – akurat nowe wydanie jest; 1GB RAM dla wirtualki, 1 CPU, parę uruchomień, ustawienia zbliżone do domyślnych). Dla AQEMU bootowanie (do momentu pierwszej interaktywności) trwało zwykle 44,9 sekundy, dla VirtualBox – 45,2 sekundy. Różnica pomijalna. Co ciekawe, dołożenie drugiego procesora nie wpływa na wynik i to w żadnym z przypadków.

Przy okazji, gdyby ktoś się brzydził frontendami i był hardcore’owym użytkownikiem wiersza poleceń, to do uruchomienia liveCD z w pliku o nazwie plik.iso użyciem KVM wystarczy:

kvm -m 1024 -vga vmware -boot d -cdrom plik.iso

Chwilowo to wszystko nt. wirtualizacji na desktopie. Szybki wniosek VirtualBox nie jest jedynym rozwiązaniem, AQEMU daje radę i wygląda na rozwiązanie wygodniejsze, jeśli ktoś używa Debiana niekoniecznie z dystrybucyjnym kernelem, lub kernelem z innej wersji. Nie będę testował GKVM – projekt wygląda na porzucony. Prawdopodobnie niebawem szansę dostanie virt-manager – na razie nie uruchomił się OOTB i krzyczy o niemożności dostania się do libvirtd. Nie miałem czasu bliżej się przyjrzeć sprawie. Jak uruchomię, to nie omieszkam opisać. Stay tuned.