Moja przygoda z systemami z rodziny Linux rozpoczęła się na dystrybucji Slackware, jednak najbliższy mi jest Debian, którego używam od około 1998 roku (staram się go używać zarówno prywatnie, jak i zawodowo tam, gdzie nie ma konieczności stosowania np. komercyjnego RHEL, czy SUSE). Nie tylko ja jestem zwolennikiem dystrybucji stworzonej przez Iana Murdocka. Okazuje się, że Debian przy odrobinie pomocy poradzi sobie z Aspire One…

Gościnny wpis Pawła Mączewskiego, właściciela bloga http://blog.codingslut.com.

Od jakiegoś czasu jestem szczęśliwym posiadaczem netbooka Acer Aspire One. Ten model dość mi pasuje – waga około kilograma, 9-calowy wyświetlacz (działający w rozdzielczości 1024×600) i dość wygodna klawiatura (wydaje się, że większa niż w EeePC Asusa).

1. Acer Aspire One

Co dostajemy „w środku”? Procesor Atom 1.6GHz. W zależności od opcji 512MB lub 1GB RAMu. Kartę ethernet 100Mbit, WiFi, 3 porty USB, 2 czytniki kart (jeden używany jako „storage extension”), wyjście VGA do monitora oraz wyjście na miktofon i słuchawki. Poza tym – wbudowany głośnik, mikrofon i kamerkę.

Dysk twardy – znów, zależnie od wybranej opcji, 8GB SSD lub tradycyjny dysk, rzędu 120GB.

W porównaniu z Eee PC 901 brakuje mu Bluetootha. Jestem w stanie to strawić, choć nie próbowałem korzystać z telefonu jako modemu – wówczas pewnie by się przydał BT.

Ja mam wersję z 512MB ramu (wersja 1GB jest sporo droższa – zaś do AAO możemy dołożyć kość pamięci 1GB, rozszerzając pamięć do maksymalnej wielkości – 1,5G. Kość kosztuje obecnie ~50 zł, założenie wymaga jedynie śrubokrętu i rozkręcenia laptopa – można zobaczyć, jak wygląda proces zakładania baterii np. tutaj: http://pl.youtube.com/watch?v=-EfzckyZMTk).

Dysk – SSD. Szybszy niż tradycyjny, poza tym odchodzi sporo elementów ruchomych, co stanowi dużą zaletę przy komputerze, którego główną cechą jest przenośność.

Z tego powodu w opisywanych tu działaniach skupię się przede wszystkim na tym, co ja robiłem z moim modelem.

2. System, z którym przyszedł

AAO sprzedawany jest w dwóch wersjach, z preinstalowanym Win XP i preinstalowanym Linuksem. Mój był ten drugi.
Ogólnie – śmieszny system. Widać, że zrobiony tak, żeby maksymalnie uprościć korzystanie z komputera osobom nieobeznanym z czymkolwiek innym niż Windows. Główny ekran to 4 „bloki”, w których pogrupowane są najczęściej (zdaniem twórców) używane aplikacje – przeglądarka, klient poczty, Office, gry, aplikacje do łączenia się z siecią…

Ja jednak postanowiłem, korzystając z całej masy HOWTOs dostępnej w sieci, zainstalować na nim Debiana.

3. Instalacja Debiana

Prosta sprawa – potrzebujemy pendrive’a lub karty pamięci i czytnika, albo napędu CD na usb – czegokolwiek, z czego można będzie zbootować nasz komputer. Na ten napęd, zgodnie z instrukcjami na stronie wiki.debian.org – http://wiki.debian.org/DebianAcerOne – wrzucamy boot.img.gz i obraz iso „płytki” instalacyjnej netinst – ważne, żeby oba były stworzone dla tej samej wersji kernela.

Proces instalacji powinien przebiegać jak zawsze. Postarajmy się tylko o kabelek ethernetowy, jako że obecna wersja testing nie widzi na etapie instalacji wifi…

W moim przypadku instalacja nie zakończyła się sukcesem – wyskakiwały jakieś błędy (nie zrobiłem fotki, niestety) na etapie instalacji pakietów. Na szczęście wyjście z instalatora, chroot /target pod konsolą i instalacja tam czego potrzeba (przede wszystkim – aptitude install grub i konfiguracja gruba tak, żeby komputer uruchomił się z dysku) pomogło. Po restarcie i zainstalowaniu reszty systemu musiałem tylko podmienić /sbin/start-stop-daemon – na jego miejsce wrzucić wersję /sbin/start-stop-daemon.REAL. Ten pierwszy jest takim oszukańczym na czas instalacji.

Zaraz potem warto zainstalować dalsze pakiety, zresztą w większości wymienione na http://wiki.debian.org/DebianAcerOne. W szeczególności przyda się moduł madwifi do jądra, dający nam dostęp do wifi. Ja zainstalowałem go przez module-assistanta, jak opisali na powyższej stronie.

4. Tweaks

System, zaraz po zainstalowaniu, choć działa, może dzialać lepiej. To co ja chciałem osiągnąć to:

zmniejszenie obciążenia dysku SSD

Ogólnie chcę uzyskać mniejsze obciążenie zapisem dysku SSD (mimo, że według tego artykułu mój dysk powinien wytrzymać minimum 8 lat). W tym celu zrobiłem kilka rzeczy:

  • do linijki kernel w pliku konfiguracyjnym gruba (/boot/grub/menu.lst) dopisalem elevator=noop
  • do opcji montowania dysku w /etc/fstab dodałem noatime,nodiratime
  • partycje /var/log, /var/tmp i /tmp są montowane jako ramdyski (linijki w /etc/fstab: tmpfs /tmp tmpfs defaults 0 0)
    • miejsce, gdzie trafiają pakiety przy instalacji też wrzucam na ramdisk, ale już nie osobny. po prostu zrobiłem symlinka /var/cache/apt/archives -> /tmp. Że mi zaśmiecają /tmp? co z tego? (nawet jeśli będzie używany swap, nie powinno to zwiększyć ilości zapisów na dysku).
    • żeby wszystko działało jak należy, do pliku /etc/rc.local dopisałem tworzenie katalogów na tym ramdyskach (/var/log/apt, /var/log/gdm, /var/log/news, /tmp/partial)
  • /var/run i /var/lock to też RAMDISKI – w pliku /etc/default/rcS ustawiam RAMRUN=yes i RAMLOCK=yes

konfiguracja X-ów

Jest kilka spraw, którymi należy się zająć: ustawienie odpowiedniej wielkości czcionek dla wyświetlacza, modyfikacja działania touchpada i ogólne poprawienie działania Xów.

  • z domyślnymi ustawieniami czcionki w niektórych programach będą wielkie. Naprawdę wielkie, prawie takie jak Wszechświat. Aby to naprawić, wystarczy do /etc/X11/xorg.conf dopisać:
    • w sekcji Device linię Option „NoDDC”
    • w sekcji Monitor – DisplaySize 195 113
  • dodatkowe opcje dla touchpada
    • musimy powiedzieć xorg, żeby używały sterownika Synaptics. Poniżej cała moja sekcja InputDevice dla myszki:

      Section „InputDevice”
      Identifier  „Synaptics Touchpad”
      Option „SHMConfig”  „on”
      Driver „synaptics”
      Option „SendCoreEvents” „true”
      Option „Device” „/dev/psaux”
      Option „Protocol” „auto-dev”
      Option „HorizScrollDelta” „0
      EndSection

    • syndaemon pozwala na zablokowanie działania touchpada gdy klawiatura jest używana. Powinno to zmniejszyć ilość przypadkowych kliknięć / przesunięć kursora myszy gdy piszemy. a więc: aptitude install syndaemon. Następnie musimy odpalić syndeamona w naszym skrypcie startowym X-ów, na przykład: syndaemon -d -i 0.8 -k.
  • aby poprawić wydajność karty graficznej w X-ach wystarczy dodać do sekcji Device pliku /etc/X11/xorg.conf następujące linie:

    Driver „intel”
    Option „AccelMethod” „exa”
    Option „MigrationHeuristic” „greedy”

dźwięk

Aby mieć sensowny dźwięk, trzeba zainstalować alsę (pakiety alsa-base i alsa-utils się przydadzą). Następnie do pliku /etc/modprobe.d/alsa-base dodać linijkę options snd-hda-intel model=acer. Niestety, nie udało mi się sprawić, żeby dźwięk działał po suspendzie. Jeśli ktoś wie, jak do tego dojść, proszę o info. (Niektórzy radzą, żeby używać model=toshiba, wówczas może nie działać wbudowany mikrofon, ale być może dźwięk po obudzeniu owszem).

dobrze działający, wygodny na nietypowym ekranie Firefox

Ekran ma rozdzielczość 1024×600, więc ilość punktów w poziomie jest prawie dwa razy większa niż w pionie. Bardzo szeroka panorama. Wobec tego w Firefoksie chciałem usunąć jak najwięcej rzeczy zajmujących miejsce w pionie. Udało mi się dojść do takiego stanu:

  • Zwinięcie całego menu do małego przycisku, pod którym są wszystkie opcje to zaleta addonu Tiny Menu: https://addons.mozilla.org/en-US/firefox/addon/1455. Następnie, przy użyciu menu customizacji przeniosłem wszystkie potrzebne ikony (back, forward i home – zamiast stop używam Esc, zamiast reload – ctrl+r), pasek adresu i wyszukiwania na pasek menu, oraz ukryłem Navigation Toolbar.
  • Są addony umieszczające zakładki po boku ekranu – celem oszczędzenia miejsca z jeszcze jednego paska – ale to już by była przesada. Chyba straciłbym więcej miejsca w efekcie niż zyskał (tym bardziej, że większość stron tworzona jest na określoną szerokość, nie wysokość okna).
  • Jest też addon autoHideStatusbar – pozwala ukrywać Status Bar (to to coś na dole okna) poza sytuacjami, gdy jest potrzebny (np. najeżdżamy na linka i chcielibyśmy wiedzieć, dokąd nas zaprowadzi). Niestety, mam z tym addonem problem przy przenoszeniu okienka FF na inny pulpit – statusbar zostaje na starym. Być może to wina mojego winmanagera, whatever… Ten dodatek jest w fazie eksperymentalnej, będę monitorować jego status.

Jeśli jesteśmy już przy Firefoksie – warto się wysilić i przenieść cache przeglądarki do katalogu na ramdysku – jeśli nie chcemy z niego korzystać między bootami. Pozwoli to bardziej zmniejszyć obciążenie dysku SSD. Aby to zrobić, należy otworzyć stronę about:config i dodać zmienną typu String o nazwie browser.cache.disk.parent_directory, o wartości wskazującej na katalog, w którym umieszczony będzie cache (w moim przypadku – /tmp/firefox).

dodatkowe klawisze

Po pierwsze: klawiatura Aspire One daje nam trochę dodatkowych klawiszy. Jako, że nie używam go z zewnętrznymi monitorami, nie bawiłem się w konfiguracje klawisza Fn+F5. Przyciemnianie/pojaśnianie wyświetlacza (Fn+left/right) działa bez żadnej dodatkowej konfiguracji. Interesowała mnie przede wszystkim kontrola nad dźwiękiem z klawiatury (Fn+F8 włącza/wyłącza dźwięk, Fn+up/down pogłaśnia i przycisza).
Dodatkową „sztuczką” związaną z klawiaturą było użycie kombinacji klawiszy Shift+Menu jako symulacji kliknięcia środkowym klawiszem. Jakoś nie wychodziło mi to dobrze z touchpada.
Zainstalowałem: xmodmap i xbindkeys. Mój plik .Xmodmaprc wygląda tak:

keycode 160 = XF86AudioMute
keycode 174 = XF86AudioLowerVolume
keycode 176 = XF86AudioRaiseVolume
keycode 223 = XF86Standby

Plik .xbindkeysrc:

„middleclick”
Shift + Menu
„amixer set Master toggle”
m:0×0 + c:160
„amixer set Master 2dB+ unmute”
m:0×0 + c:176
„amixer set Master 2dB- unmute”
m:0×0 + c:174
„sudo pm-suspend”
XF86Standby

middleclick jest skryptem symulującym środkowe kliknięcie myszy (u mnie w /usr/local/bin/middleclick):

#!/bin/sh
xevent -b 2 2

Wykorzystuje program xevent (niestety, niedostępny w Debianie jako pakiet, skompilowałem ze źródeł – xevent).



 Subskrybuj (FeedBurner)