Linux miniläppäriin
Miniläppärit ovat pienikokoisia kannettavia tietokoneita, joille on tunnusomaista pienen koon lisäksi myös mm. halpa hinta, pitkä akkukesto ja liikkuvia osia sisältämätön SSD-massamuisti. Tässä artikkelissa käsitellään erilaisia yleisiä tapoja, joilla Linux-asennusta voi optimoida miniläppärikäyttöä ajatellen.
On olemassa myös joitain valmiita miniläppäreille suunnattuja jakeluita, joissa on valmiiksi toteutettu jotain tämän artikkelin vinkeistä.
SSD-levy
Monissa miniläppäreissä on SSD-kiintolevy, jolle tunnusomaisia piirteitä ovat äänettömyys, iskunkestävyys ja pieni virrankulutus. Lisäksi ainakin halvimmat mallit voivat olla hyvinkin hitaita kirjoittamaan tietoa levylle. Lisäksi on esitetty erilaisia arvioita levyjen kulumisesta: levy kestää vain tietyn määrän kirjoituksia ennen kuin "kuluu loppuun". Tästä johtuen on monesti hyvä tehdä erilaisia optimointeja, joilla vähennetään etenkin levylle kirjoittamista.
Tiedostojärjestelmä ja sen asetukset
Linuxissa yleisesti käytetty ext3-tiedostojärjestelmä ei ole paras mahdollinen miniläppärille, sillä vaikka se parantaakin tiedostojärjestelmän luotettavuutta, tiedostojärjestelmä pitää kirjaa levylle tehtävistä muutoksista (journalointi), mikä aiheuttaa ylimääräisiä kirjoitusoperaatioita. SSD-levylle varustetuissa miniläppäreissä kannattaakin poistaa journalointi käytöstä tai käyttää ext2-tiedostojärjestelmää, jossa kirjanpitoa ei ole.
Tiedostojärjestelmä voidaan yleensä valita jakelua asennettaessa. Asennuksen jälkeenkin ext3-levy voidaan muuttaa ext2-muotoon yksinkertaisesti liittämällä se ext2-osiona (ext3 ja ext2 ovat yhteensopivia, ja liitosasetuksilla määrätään kumpaa tiedostojärjestelmää käytetään). Tämä tapahtuu muuttamalla asetustiedostosta /etc/fstab juuritiedostojärjestelmän (/) osoittava rivi
UUID=007ad9f0-88bd-4d6c-b853-25bfb682111b / ext3 (rivi jatkuu)
muotoon
UUID=007ad9f0-88bd-4d6c-b853-25bfb682111b / ext2
alussa oleva UUID-numero vaihtelee koneiden välillä ja siihen ei tarvitse koskea. UUID-numeron sijasta voi tiedostossa olla myös levyn laitetiedosto, kuten /dev/sda1.
Journaloinin poistaminen ext4-tiedostojärjestelmästä
Journaloinnin poistamista käytöstä olemassaolevassa ext4-tiedostojärjestelmästä ei voi tehdä, kun osio on liitettynä, eli kun käyttöjärjestelmää käytetään. Tämän takia journaloinnin poistaminen onnistuu esim. jakelun asennus-cd:tä käyttämällä. Eli käynnistä tietokone asennuslevyllä ja avaa pääte. Tämän jälkeen komenna pääkäyttäjänä
tune2fs -O ^has_journal /dev/sdXX #korvaa XX levyn kirjaimella ja numerolla, esim /dev/sda1 fsck -fy /dev/sdXX #korjaa osion virheet, ilman tätä järjestelmä ei käynnisty
Nyt voit käynnistää tietokoneen normaalisti, ja journalointi on poistettu käytöstä.
Uuden ext4-tiedostojärjestelmän luominen osiolle /dev/sda1 ilman journalointiominaisuutta:
mkfs.ext4 -O ^has_journal /dev/sda1
Journaloinin poistamisen lisäksi kannattaa käyttää noatime-asetusta, joka kieltää tiedostojärjestelmää päivittämästä levylle tietoa siitä, milloin tiedosto on viimeksi avattu. Ilman tätä asetusta jokaisen tiedoston avaaminen aiheuttaa ylimääräisen kirjoitusoperaation eikä yleensä eteen tule tilannetta, jossa tälle tiedolle olisi käyttöä.
discard-asetus ottaa käyttöön erityisesti SSD-levyjä varten kehitetyn TRIM-komennon, mutta se vaatii 2.6.33 tai uudemman kernelin, eikä toimi ext3-tiedostojärjestelmän kanssa. (discard-lippu ext3-formatoidulla juuriosiolla aiheuttaa sen liittämisen vain luku -tilassa) Varmista että levyohjain on valittu BIOS-valikosta ohjaamaan SSD:tä AHCI- eikä IDE-moodissa, ja että levy tukee TRIM:iä.
noatime ja discard-asetukset lisätään myös /etc/fstab-tiedostoon tiedostojärjestelmän kertovan asetuksen (ext2) jälkeen tuleviin liitosasetuksiin pilkulla erotettuina. Lopullinen rivi voisi olla muotoa
UUID=007ad9f0-88bd-4d6c-b853-25bfb682111b / ext2 noatime,discard,errors=remount-ro 0 1
Lisätietoja tiedoston rakenteesta löytyy artikkelista fstab.
Väliaikaiset tiedostot tmpfs-osiolle
Eräs helppo tapa vähentää levylle tehtäviä kirjoitusoperaatioita on siirtää väliaikaisia tiedostoja ja jatkuvasti päivittyviä lokitiedostoja sisältävät /tmp, /var/tmp ja /var/log -hakemistot tmpfs-osiolle. Tmpfs-osiolla olevia tietoja pidetään tietokoneen keskusmuistissa aina, kun se on mahdollista, ja vain muistin käydessä vähiin tai esimerkiksi siirryttäessä lepotilaan tiedot siirretään SSD-muistille ("kiintolevylle").
Nämä hakemistot asetetaan tmpfs-osioiksi lisäämällä /etc/fstab-tiedostoon rivit
tmpfs /var/log tmpfs defaults 0 0 tmpfs /tmp tmpfs defaults 0 0 tmpfs /var/tmp tmpfs defaults 0 0
Nyt seuraavan käynnistyksen jälkeen kyseiset hakemistot sijaitsevat tmpfs-osiolla.
Tämä ei kuitenkaan välttämättä riitä, sillä lokitiedostoja ylläpitävä sysklogd ei välttämättä osaa käsitellä oikein tilannetta, jossa /var/log-hakemisto on tyhjä (ongelman virheraportti Ubuntun vianseurantajärjestelmässä). Tällöin on käynnistyksen yhteydessä luotava /var/log-hakemistoon hakemistorakenteen pohja. Ohjeet tähän löytyvät Ubuntun AcerAspire One -ohjeesta (katso kohta REDUCING SSD WEAR).
Firefoxin profiili tmpfs-osiolle
Firefox käyttää surffailun aikana melko paljon omaa tietokantaansa, joka sijaitsee .mozilla/firefox-hakemistossa. Tämän hakemiston siirtäminen tmpfs-osiolle nopeuttaa Firefoxia huomattavasti. Tällöin on kuitenkin muistettava tehdä sellaiset asetukset, että profiili otetaan talteen massamuistin puolelle koneen sammutuksen yhteydessä ja palautetaan se koneen käynnistyessä.
Aloitetaan varmuuskopioimalla Firefoxin profiili komennolla
cp -R ~/.mozilla/firefox ~/.mozilla/firefox_backup
Seuraavaksi luodaan skripti, joka sammutuksen yhteydessä kopioi Firefoxin profiilin hakemistoon .mozilla/fi ja käynnistyksen yhteydessä palauttaa nämä tiedostot käyttäen rsync-synkronointisovellusta. Luo tiedosto /etc/init.d/ffprofile ja kirjoita sen sisällöksi
#!/bin/sh
error=0
tunnus=tähän_käyttäjätunnuksesi
case "$1" in
start)
echo "Calling rsync -av --delete /home/$tunnus/.mozilla/fi/ /home/$tunnus/.mozilla/firefox/"
rsync -av --delete /home/$tunnus/.mozilla/fi/ /home/$tunnus/.mozilla/firefox/
exit $error
;;
stop)
echo "Calling rsync -av --delete /home/$tunnus/.mozilla/firefox/ /home/$tunnus/.mozilla/fi/"
rsync -av --delete /home/$tunnus/.mozilla/firefox/ /home/$tunnus/.mozilla/fi/
chmod -t /home/$tunnus/.mozilla/fi/
chmod og-w /home/$tunnus/.mozilla/fi/
exit $error
;;
*)
echo "Usage: /etc/init.d/ffprofile {start|stop}"
exit 1
;;
esac
Anna tiedostolle myös suoritusoikeudet ajamalla pääkäyttäjänä komento
chmod +x /etc/init.d/ffprofile
Seuraavaksi luodaan symboliset linkit tähän tiedostoon eri ajotasoille siirryttäessä läpikäytäviin /etc/rcX.d-hakemistoihin. Jotta synkronointi tehtäisiin sammutuksen ja uudelleenkäynnistyksen yhteydessä (ajotasot 0 ja 6), luodaan linkit komennoilla
ln -s /etc/init.d/ffprofile /etc/rc0.d/K01ffprofile ln -s /etc/init.d/ffprofile /etc/rc6.d/K01ffprofile
Käynnistyksen yhteydessä taas siirrytään jakelusta riippuen eri ajotasolle. Debian-pohjaisissa jakeluissa (mm. miniläppäreissä usein käytetyssä Ubuntussa) se on 2, jolloin linkki luotaisiin komennolla
ln -s /etc/init.d/ffprofile /etc/rc2.d/S99ffprofile
Nämä komennot vaativat pääkäyttäjän oikeudet.
Joissain jakeluissa oletusajotaso on 5, jolloin edellisessä komennossa luku 2 on korvattava luvulla 5. Oletusajotason näkee /etc/inittab-asetustiedostosta.
Enää on selviydyttävä tapauksesta, jossa kone ei sammukaan puhtaasti, jolloin Firefoxin profiili jää päivittämättä levylle. Luodaan tätä varten ajastettu tehtävä, joka kopioi tunnin välein Firefoxin profiilin samaan paikkaan kuin yllä luodut skriptit. Tämä onnistuu luomalla tiedosto /etc/cron.hourly/ffprofile johon sisällöksi tulee
#!/bin/sh
tunnus=tähän_käyttäjätunnuksesi
echo "Calling rsync -av --delete /home/$tunnus/.mozilla/firefox/ /home/$tunnus/.mozilla/fi/"
rsync -av --delete /home/$tunnus/.mozilla/firefox/ /home/$tunnus/.mozilla/fi/
chmod -t /home/$tunnus/.mozilla/fi/
chmod og-w /home/$tunnus/.mozilla/fi/
Nyt olemme valmiit siirtämään Firefoxin profiilin lopullisesti tmpfs:lle. Lisätään /etc/fstab-asetustiedostoon rivi
tmpfs /home/käyttäjätunnuksesesi/.mozilla/firefox tmpfs defaults 0 0
ja littämällä uusi tmpfs-osio komennolla
mount -a
Kopioidaan tämän jälkeen vielä vanha profiili paikoilleen komennolla
cp -R ~/.mozilla/firefox_backup ~/.mozilla/firefox
Tämän jälkeen kaikki on valmista ja Firefox toimii huomattavasti nopeammin.
Ohjelmien sovittaminen pienelle näytölle
Miniläppäreiden korkeussuunnassa pienet näytöt aiheuttavat joskus ongelmia sovellusten kanssa.
Firefox
Oletuksena Firefox vie melko paljon turhaa tilaa näytöltä korkeussuunnassa. Ensinnäkin kannattaa vaihtaa yläpalkin kuvakkeet pienemmiksi napsauttamalla hiiren kakkospainikkeella vaikka seuraava- ja pysäytä-painikkeiden välistä, valitsemalla Muokkaa ja valitsemalla aukeavasta ikkunasta kohta Pienet kuvakkeet.
Firefoxin alareunassa oleva tilapalkki on yleensä täysin turha, joten sen piilottaminen on hyvä idea. Sen saa menemään automaattisesti piiloon asentamalla AutoHide Statusbar -liitännäisen.
Firefoxin palkkien viemää tilaa voi vielä pienentää asentamalla Classic Compact -teeman.
Compiz Fusion ja Gnome
Miniläppäreiden matalat näytöt aiheuttavat joskus ongelmia, jos ohjelmat eivät osaa sovittaa ikkunoitaan mataliin näyttöihin. Ongelmia tulee tilanteessa, jossa ikkunan yläreuna menee ulos näytöltä. Oletuksena Compiz Fusion ei Gnomessa anna siirtää tällaista ikkunaa vapaasti näppäinyhdistelmällä ALT+hiiren ykköspainike. Tämä voidaan kuitenkin sallia komennolla
gconftool-2 --set /apps/compiz/plugins/move/allscreens/options/constrain_y --type bool 0
Tämä asetus tallentuu Gnomen asetuksiin eikä sitä tarvitse enää myöhemmin asettaa.
Näytön tarkkuus (dpi)
Miniläppäreiden näytöt ovat kokoonsa nähden normaalia tarkempia, joten kirjasinten tarkkuutta (dpi, pistettä tuumaa kohden) voi olla hyvä muuttaa. Monesti oletusarvo on esimerkiksi 96 dpi, mutta parempaa laatua ja hieman pienempää tekstiä saa pudottamalla arvon esimerkiksi 82 dpi:hin.
Tämä onnistuu Gnomessa Ulkoasun asetukset -työkalussa valitsemalla kirjasimet-välilehdeltä Lisäasetukset" ja asettamalla haluttu tarkkuus aukeavassa ikkunassa.