OS X Lion ja yksivärisen harmaa iCal

Mac OS X Lionissa iCal-kalenteri uudistui ulkoasultaan, mutta ei kaikkien mielestä hyvällä tavalla. Entinen OS X:n harmaaseen tyyliin nätisti sopinut teema muuttui Lionin myötä värikkääksi karvapinnoitteeksi. Cult of Macin ohjeilla iCalin saa muutettu takaisin yksivärisen harmaaksi, joka istuu paremmin kokonaisuuteen.

Ennen ja jälkeen muutosten:

Uusi yksivärinen iCal ei ole aivan täydellisesti harmaa, sillä tekstit ja niiden taustat vielä paljastavat tekonahkaisen kauheuden. Mutta parempi tuo kuitenkin mielestäni on.

Applen idea uudessa tekonahkaisessa ulkoasussa on toteuttaa skeuomorfista-tyyliä, jossa ulkoasu tehdään vanhahtavaksi ja tutunomaiseksi. Lionin iCalissa tämä tarkoittaa fyysisen kalenterin ulkoasun ja tuntuman siirtämistä virtuaaliseen sovellukseen, iCaliin. Ideana mainio ja toimiva, mutta iCalissa idea on viety liian pitkälle sotkien kokonaisuutta.

Cult of Macin ohjeet ovat suhteellisen yksinkertaiset, vaikka sisältävätkin useampi työvaiheita. Lyhykäisyydessään ne ovat seuraavat:

  1. Sulje iCal
  2. Tee varmuuskopio vanhasta iCalista kopioimalla se eri nimelle.
  3. Valitse iCal-ikoni ja oikealla klikkauksella valitse ”Show Package Contents”.
  4. Valitse ”Contents”-kansio ja tämän jälkeen ”Resources”-kansio.
  5. Lataa harmaat teematiedostot -paketti (Cult of Mac)
  6. Siirrä puretun paketin ”ical_lion_silver”-kansion sisältö iCalin ”Resources”-kansioon.
  7. Kun Finden kysyy mitä tehdään, niin valitse ”Replace” ja ”Apply to All”.
  8. Sulje ylimääräiset Finder-ikkunat ja käynnistä iCal.
  9. Nyt iCalin pitäisi olla varustettu yksivärisellä harmaalla teemalla.

Tällaisten pienten, mutta yleiskuvaa rapistuttavien, muutosten myötä alkaa horjua se usko, että Apple panostaisi asioiden yksityiskohtiin kuten aikaisemmin ja OS X:n kehityksen suunta näyttää olevan alaspäin. Ehkä kesällä tuleva OS X Mountain Lion, Puuma, palauttaa uskon OS X:n edistyksellisyyteen ja jatkuvaan kehitykseen. Tosin siinäkin Kalenteri, entinen iCal, on karvapinnoitettu.

Samanlainen värikäs karvapinnoite on myös Lionin osoitekirjassa, jonka saa myös muutettua harmaaksi MacNixin ohjeilla.

Macbook ja kiintolevyn ääntely

Alkaa jo hieman usko teknologiaan loppumaan, kun uusi kiintolevy jatkoi kliksutteluaan siitä mihin entinen levy jäi. Klik… klik… klik.. ja smartctl -a /dev/disk0 | grep Load_Cycle_Count arvo jatkoi vaan kasvamistaan. 22 tuntia levy käynnissä ja 814 sykliä kasvaen muutamalla per minuutti. Ei hyvä, ei todellakaan. Seagaten levyille kerrottuna raja-arvona 600 000 sykliä lähestyisi samalla tahdilla pelottavan nopeasti.

Ongelma ei kuitenkaan ole uusi ja Google tarjosikin syyksi kiintolevyn yliaggressiivisen energiasäästön, joka siis laittaa lukupäät parkkiin turhan tiheästi. Ongelma esiintyi alkuun Seagate Momentus 7200.4 GFO levyllä, joka lopulta äityi ääntelemään enemmänkin ja jumitti konetta parin sekunnin katkoin, mutta jatkui myös uuden Western Digital Scorpio Blue (WD5000BEVT) levynkin osalta ensin hitaammin, mutta kiihtyvällä tahdilla. Voi vitjat, mitä teknologiaa.

Ratkaisuna on levyn energiasäästön säätäminen vähemmän aggressiiviseksi, joka onnistuu esimerkiksi hdparm-ohjelmalla Linuxissa, mutta eihän Macille tietenkään sitä löydy. Onneksi asetusten muuttaminen onnistuu hdapm-ohjelmalla, joka on OS X:lle tehty komentorivityökalu energiasäästö (APM) tasojen asettamiseksi.

Ja kas, hdapm disk0 max -komennon jälkeen levyn kliksuttelu loppui täysin. Nyt vielä hdapm-binäärin sijoitus /usr/local/bin ja hdapm.plist -tiedoston sijoitus /Library/LaunchDaemons -hakemistoon ja ratkaisu ongelmaa oli valmis. Nyt asetus pitäisi määräytyä aina käynnistyksessä ja sen voi tarkistaa Consolesta, josta pitäisi löytyä rivi ”Setting APM level to 0xfe: Success”.

Nettikeskusteluiden perusteella ei oikein saa selvää, onko ongelma Applessa (Late 2008 Macbook) ja itse päivitetyn levyn firmwaren epäsopivuudessa vai missä, mutta tärkeintä on, että ongelma on ainakin tältä erää toivottavasti ratkaistu. Samanlaista ja äänekkäämpääkin ongelmaa Apple korjasi Mid 2009 Macbook Pro:n levyjen osalta, mutta Apple Discussions -palstan juttujen perusteella ongelma koskettaa kaikkia itse päivitettyjä levyjä, joissa ei ole sisällä Applen firmwarea ja ongelma olisi EFI:n versiossa 1.7.

Seagate Momentus -levyn osalta oli lisäksi ”ongelmana” OS X:n Sudden Motion Sensorin ja levyn G-Force Protectionin yhteistoiminta, jota uumoiltiin ongelman lähteeksi, mutta pmset -a sms 0, eli sensorin poiskytky ei naksutteluun vaikuttanut. Nyt uudessa WD:n levyssä ei omaa putoamissuojaa ole, joten sensorin voi taas kytkeä päälle.

Firefoxin mozvoikko-lisäosa ja Mac OS X

Suomenkielinen oikoluku on kätevä apuväline juttuja kirjoittaessa, mutta vaikka suomenkielinen oikoluku, eli voikko, on ollut jo pidempään saatavilla OpenOffice.org:lle myös Mac OS X:ssä, ei oikoluvun Mozilla-laajennusta eli mozvoikkoa ole ollut saatavilla kuin Windowille ja Linuxille. Kukaan ei ilmeisesti ole viitsinyt kääntää vaadittavia paketteja Mac OS X:lle, mutta nyt on.

Mozvoikko-lisäosa ja sen eri versiot löytyvät nyt Mozvoikko ja Mac OS X -sivulta

Lataamalla vaadittavien kirjastojen, Firefoxin, Voikon ja mozvoikko-laajennuksen lähdekoodit, lukemalla hieman Firefoxin kääntöön ja lisäosien tekoon liittyviä asioita, seuraamalla Voikon kääntöohjeita Mac OS X:lle ja muokkaamalla hieman mozvoikon tiedostoja, saatiin lopputuloksena käännetty mozvoikko-laajennus ja suomenkielinen oikoluku toimimaan myös Firefoxissa.

Mozvoikon käännössä käytin seuraavia versioita tarvittavista kirjastoista:

Kääntöalustana toimi Mac OS X Leopard 10.5.6, kääntäjänä GCC 4.0.1 (Apple Inc. build 5465) ja käänsin mozvoikko-laajennuksen Firefoxin 3.0.5 -version lähdekoodeja vasten.

Firefoxin mozvoikko-laajennukseen tarvittavat muutokset näkyvät tekemästäni diff-tiedostosta. Muutokset eivät ole suuria; Makefileihin lisätään vain uudeksi alustaksi Darwin, osoitetaan mistä tarvittavat kirjastot löytyvät ja mihin valmis käännös tehdään, korjataan kopiokomento Unixin mukaiseksi, valitaan alusta mozVoikkoUtils.cpp:ssä ”XP_MACOSX” -arvolla ja homma on sillä selvä. Lisäksi ”HOST_OS_ARCH” piti muuttaa ”OS_ARCH”, jotta käännös tuottaa halutun ”Darwin” -lopputuloksen, eikä ”darwin9.6.0”:aa.

Lopputuloksena sain siis aikaan mozvoikko-0.9.5-Darwin_x86-gcc3.xpi -tiedoston, joka asentui sopuisasti Firefoxin laajennukseksi ja näyttäisi toimivan. Lisäosaa voi kokeilla omalla vastuulla. Jos kääntöä haluaa kokeilla itse, kirjailin asiasta lyhyet muistiinpanot.

Mplayer ja DVD-elokuvan katseleminen Linuxissa

Jaksan suhteellisen harvoin katsella elokuvia DVD:ltä ja silloinkin olen edellisestä kerrasta unohtanut, miten niitä Mplayerilla katsottiin. Varsinainen DVD-elokuvan katseleminen on suhteellisen yksinkertaista, mutta jos elokuvaan haluaa myös tekstit, tarvitaan lisäksi yksi lisäparametri.

Siispä kertauksena Mplayerin man-sivuilta poimittuna, prosessi menee jotakuinkin seuraavasti:

  1. Jos tiedetään, että DVD:ltä löytyy esimerkiksi suomenkieliset tekstit, aloitetaan elokuvan katseleminen komenolla:
    mplayer dvd://1 -dvd-device /cdrom -slang fi
  2. Jos vastaavasti DVD:ltä löytyvät kielivaihtoehdot eivät ole tiedossa, saadaan ne listattua käskyttämällä:
    mplayer dvd://1 -dvd-device /cdrom -slang -v
    , josta saadaan terminaaliin seuraavanlaista:

    ...
    subtitle ( sid ): 1 language: da
    subtitle ( sid ): 3 language: en
    subtitle ( sid ): 5 language: nl
    subtitle ( sid ): 7 language: no
    subtitle ( sid ): 9 language: fi
    subtitle ( sid ): 11 language: sv
    subtitle ( sid ): 13 language: en
    number of subtitles on disk: 7
    ...
    
  3. Nyt voidaan poimia listasta halutun kielen lyhenne (en) tai sid (3)
  4. Katsotaan elokuva kuten edellä tai:
    mplayer dvd://1 -dvd-device /cdrom -sid 3

Linuxissa on myös muitakin vaihtoehtoja DVD-elokuvan katsomiseen kuten Xine ja VLC, joilla onnistuu myös DVD-valikoiden klikkailu.

KDE 4.1: Dolphin ja Service Menut

KDE 4:n uudessa tiedostomanagerissa ei ole vakiona samanlaisia Service Menuja, eli pikatoimintoja esimerkiksi tiedostojen paketointiin ja purkamiseen, kuin Konquerorissa on. Onneksi omien palveluvalikoiden tekeminen on kohtalaisen yksinkertaista ja asiaan löytyy valmiit pohjat Kubuntu-foorumin ”Service Menus with Dolphin” -ohjeilla.

Foorumilla on valmiit palveluvalikot Arkille ja KArchiverille, mutta ainakaan en itse saanut Arkia toimimaan kyseisellä ohjeella, sillä tarvittavia komentorivioptioita ei Arkistani irronnut.

KArchiverin palveluvalikko kuitenkin onnistui ja se on siis onnistuu Gentoossa seuraavasti:

  1. Luodaan karchiver.desktop-tiedosto /usr/share/kde4/services/ServiceMenus/ -hakemistoon:
    [Desktop Entry]
    Type=Service
    X-KDE-ServiceTypes=KonqPopupMenu/Plugin,all/all
    Actions=CompressHere;ExtractHere;ExtractWhere;
    X-KDE-Submenu=KArchiver
    
    [Desktop Action CompressHere]
    Type=Application
    Name=Compress Here
    Exec=karchiver -c %U
    Icon=archive-insert
    
    [Desktop Action ExtractHere]
    Type=Application
    Name=Extract Here
    Exec=karchiver --xa %u
    Icon=archive-extract
    
    [Desktop Action ExtractWhere]
    Type=Application
    Name=Extract to Where
    Icon=archive-insert-directory
    Exec=karchiver --xe %u 
    
  2. Käynnistetään Dolphin uudestaan.
  3. Todetaan palveluvalikko toimivaksi.
  4. Dolphin ja Service Menu

Service Menujen tekemiseen on olemassa myös erillinen Service Menu Editor -ohjelma, jota en kylläkään testannut.

KDE 3.5.9:ssa olleet Arkin palveluvalikot toimivat kätevämmin kuin KArchiverin, mutta kyllä tämäkin menettelee. Ei ole nimittäin ainut asia KDE 4.1:ssä, joka kaipaisi hieman sovelluskehittäjän rakkautta.

Linux, näppäimistö, hiiri ja evdev

Linuxin käyttäminen on mukavaa, sillä aina välillä on tarjolla kivoja yllätyksiä, ettei tietokoneen käyttäminen olisi liian helppoa. Tietenkin tällä(kin) kertaa varsinainen vika löytyy penkin ja tuolin välistä, joka ei ole huomioinut muuttuneita asioita. Olen kiertänyt eteen tullutta evdev-laitteistoajurin ja hal-välipalikan aiheuttamaa ongelmaa onnistuneesti muutamisen kuukauden ajan, mutta nyt piti löytää ihan oikea ratkaisu.

Ongelmana oli siis, että asioista X ja Y johtuen näppäimistö ei toiminut X-ikkunamanagerissa halutulla tavalla, vaan näppäimet olivat sanan mukaisesti sekaisin: muun muassa nuolinäppäin ei toiminut alaspäin ja muuta mukavaa. Onneksi ongelma oli helposti korjattavissa muuttamalla X.orgin asetustiedostosta näppäimistön asetukset oikeaksi eli evdev-ajurin vaatimusten mukaiseksi.

X-ikkunoinnin xorg.conf-tiedoston näppäimistöosio näytti tämän jälkeen seuraavalta:

Section "InputDevice"
    Identifier  "Keyboard"
    Driver      "evdev"
    Option      "CoreKeyboard"
    Option      "Name"          "Logitech HID compliant keyboard"
    Option      "Device"        "/dev/input/event3"
    Option      "XkbRules"      "xorg"
    Option      "XkbModel"      "evdev"
    Option      "XkbLayout"     "fi"
EndSection

Aikaisemmin Driver-arvona oli siis kbd ja XkbModel-arvona pc105. Sekä Name että Device -kenttien arvot löytyvät kirjoittamalla terminaaliin cat /proc/bus/input/devices ja vilkaisemalla oikeat arvot N ja H-riveiltä.

I: Bus=0003 Vendor=046d Product=c30e Version=0110
N: Name="Logitech HID compliant keyboard"
P: Phys=usb-0000:00:1d.1-2/input0
S: Sysfs=/class/input/input3
U: Uniq=
H: Handlers=kbd event3
B: EV=120013
B: KEY=10000 7 ff800000 7ff febeffdf f3cfffff ffffffff fffffffe
B: MSC=10
B: LED=7

Tämän lisäksi suomalaisen näppäinasettelun saamiseksi kopioin /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi-tiedoston sijaintiin /etc/hal/fdi/policy/11-keymap.fdi ja päivitin input.xkb.layout-avaimen määritteen muotoon

<merge key="input.xkb.layout" type="string">fi</merge>

eli muutin oletuksena olleen us-arvon fi-arvoksi. Nyt X ottaa vakiona käyttöön suomalaisen näppäinasettelun eikä jenkkinäppistä.

Hiiren asetukset ovatkin toimineet evdev-ajurilla jo pidempään ihan oikein seuraavilla asetuksilla.

Section "InputDevice"
    Identifier  "Mouse"
    Driver      "evdev"
    Option      "CorePointer"
    Option      "Protocol"      "evdev"
    Option      "Name"          "Logitech USB-PS/2 Optical Mouse"
    Option      "Device"        "/dev/input/event2"
    Option      "Buttons"       "10"
    Option      "ZAxisMapping"  "9 10"
EndSection

Tämä kaikki on tietenkin suhteellisen päivän selvää, mutta hyvä nyt kirjata ainakin itselle ylhäälle.

Toinen mukava muutos järjestelmän perustaan oli Gentoon ~archin siirtyminen käyttämään OpenRC:tä sys-apps/baselayout-2:n myötä. Asiasta oli toki siirtymisohje, joka selvensi syitä ja muutoksia, joita oli ihan riittävästi.

Ota pikakomennot ja näppäimistö haltuun AutoHotkeyn avulla

Windowsissa asiat voidaan tehdä joko helposti tai vaikeasti ja valitettavan usein turhankin vaikeasti. Windows itsessään ei tarjoa mahdollisuuksia pikakomentojen määrittämiseen käyttäjän haluamalla tavalla, vaan tätä varten tarvitaan kolmannen osapuolen ohjelmistoja. Yksi pikakomentoja ja näppäimistön hallintaa toteuttava ohjelmisto on avoimen lähdekoodin AutoHotkey, joka tarjoaa monipuoliset ominaisuudet erilaisten komentojen toteuttamiseksi.

Windows XP:ssä on vakiona tarjolla lukuisia käteviä pikakomentoja, mutta yksi jää uupumaan: ikkunan pienentäminen alapalkkiin. Se toki onnistuu Alt+välilyönti+n -yhdistelmällä, mutta on hieman liian monimutkaista. Tähän pieneen ongelmaa tarvitaan ratkaisuksi siis ohjelmaa, joka antaa käyttäjän määrittää omat pikakomentonsa.

AutoHotkey on käteväntuntuinen ohjelma, mutta valitettavasti sen käyttäminen ei ole ”klikkaa ja valitse” -tyylistä komentojen määrittämistä, vaan toiminnot määritellään erilliseen skripti-tiedostoon. Ohjelman käyttöön on kuitenkin saatavilla hyvät ohjeet ja malliskriptit, joten haluamansa pikakomennon määrittäminen onnistuu kohtalaisen helposti. Hieman hankalampaa kuin maksullisten ohjelmistojen kanssa, mutta ilmainen on aina ilmainen.

Yksinkertaiset skriptit ovat kohtalaisen helppoja määritellä ja esimerkiksi aktiivisen ikkunan pienentäminen alapalkkiin Win+h -yhdistelmällä onnistuu määrittelemällä seuraava komento ohjelman skripti-tiedostoon:

#h::WinMinimize,A

Saatavilla on myös skripti, jolla ikkunan voi pienentää tehtäväpalkkiin, ja kätevä skripti äänenvoimakkuuden säätöön OSD:n kera.

AutoHotkey tarjoaa monipuoliset ominaisuudet erilaisten komentosarjojen määrittelyyn, mutta ohjelman käytettävyys jättää hieman toivomisen varaa. Kätevä ohjelma kuitenkin, kunhan löytää oikeat komennot ja kasaa niistä haluamansa toiminnot tai etsii valmiit skriptit. Ehkä hieman liioittelua käyttää erillistä ohjelmaa vain ikkunoiden pienentämiseen, mutta eiköhän listalle löydy muitakin tarpeellisia komentosarjoja.