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.

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.

Linux ja hämmentynyt DVD-asema

Päivitin noin kuukausi sitten kotikoneen Windowsin Linuxiin ja vaihdos sujuikin helposti. Ainut mikä ei ilman googlettamista toiminut oli DVD-RW-asema, joka oli logien mukaan hämmentynyt. Ongelma johtui Intelin P965 -piirisarjalla varustetun Asus P5B Deluxe -emolevyn Jmicron piirillä toteutetusta IDE-liitännästä (JMicron 20360/20363 AHCI Controller), johon DVD-RW-asema oli liitetty. Gentoon foorumilta löytyi kuitenkin aihetta käsittelevä kirjoitus ja ongelma olikin helposti korjattavissa: kerneli tarvitsi hieman erilaiset asetukset kuin aikaisemmin.

DVD-RW-aseman kanssa ollut ongelma ilmeni KDEn tunnistaessa levyn olevan asemassa, vaikka asemassa ei mitään ollutkaan. Lisäksi dmesg ja logituskonsoli (F-12) näyttivät pitkän listan parin sekunnin välein toistuvia virheitä.

hda: cdrom_pc_intr: The drive appears confused (ireason = 0x01). Trying to recover by ending request.

ja

hda: status error: status=0x58 { DriveReady SeekComplete DataRequest }
ide: failed opcode was: unknown
hda: drive not ready for command

Ratkaisu oli asettaa kernelistä päälle JMicron PATA support, joka löytyy Device Drivers –> Serial ATA (prod) and Parallel ATA (experimental) drivers -kohdasta. Asuksen P5B Deluxe emolevystä ei löydy muita IDE-liitäntöjä ja perinteistä ATA/ATAPI/MFM/RLL tukea ei tarvita.

Niin sanottuun ongelmaan löytyi selkeä ja looginen ratkaisu. Kernelin lukuisat asetukset eivät ole aina kovin selkeitä ja uuden raudan ominaisuuksien määrittäminen voi välillä tuottaa hankaluuksia. Onneksi piirisarjojen ja palikoiden versioiden tarkasteluun löytyy lscpi ja dmesg ja tietenkin emolevyn käyttöohjettakin voi lukea.

Gentoo ja pakettien kääntöä DistCC:n avustuksella

Gentoossa kaikki paketit käännetään lähdekoodista ja tämä vie varsinkin isompien ohjelmien kohdalla ja hieman vanhemmalla tietokoneella jonkin verran aikaa. Pakettien kääntämistä voi kuitenkin nopeuttaa jakamalla käännöstyötä useampien tietokoneiden kesken. Gentoossa tämä onnistuu helposti käyttämällä DistCC:tä.

DistCC:n käyttöönotto on yksinkertaista lukemalla Gentoon DistCC -ohje. Ohje neuvoo muun muassa käyttämään samaa GCC:n versiota jokaisessa kääntöön osallistuvassa koneessa. Kokonaisuutena DistCC:n asentamisessa ja asetusten määrittämisessä ei ole mitään erikoista.

DistCC:n asentamiseen tulee kuitenkin hieman lisää vaiheita, jos käytössä olevat koneet eivät ole samaa arkkitehtuuria, eli toinen on esimerkiksi 64-bittinen amd64 ja toinen 32-bittinen x86. Lisävaiheet eivät ole monimutkaiset, sillä tarvitaan vain crossdev, muutamat linkit ja halutun käännösympäristön valmisteleminen. Ohjeet tarvittavista toimenpiteistä löytyvät Gentoon DistCC Cross-compiling -ohjeesta. Usean alustan DistCC:n valmistelu kannattaa suorittaa ennen varsinaisen DistCC:n asentamista.

Tarvittavien ohjelmien ja asetusten jälkeen paketit kääntyvät enemmän tai vähemmän nopeammin, sillä kaikki ohjelmat eivät hyödynnä useamman koneen tarjoamia mahdollisuuksia. DistCC:n käännöstyön jakamista eri koneiden välillä voi seurata käyttämällä graafista distccmon-gui -ohjelmaa tai tekstipohjaista distccmon-text -ohjelmaa. Lähiverkon lisäksi DistCC:n voi myös putkittaa normaalisti SSH:n läpi, mutta esimerkiksi lähiverkossa DistCC käyttää kaistaa 200 - 2000 kt/s, joten käytössä olevan kaistan on suotavaa olla riittävän leveä.

Pakettien kääntöaika ei ole koskaan ollut mielestäni ongelma, sillä käännökset voi suorittaa haluamaan aikana eikä järjestelmää ole tarvetta koko aikaa päivitellä. Käännöstyön jakaminen useampien koneiden välille on kuitenkin ihan kiva lisä.

Näytä Thunderbirdissä IMAP-kansioiden koko

Mikko Saari kirjoittaa hyvästä vinkistä, jolla Thunderbirdissä saa näkymään IMAP-kansioiden viemän tilan.

Thunderbirdin asetuksista valitaan lisäasetusten yleiset -kohdasta ”Näytä sarakevalinnat kansiopaneelissa”, jonka jälkeen kansioikkunaan ilmestyy mahdollisuus avata lisäsarakkeita. Lisäsarakkeista löytyy koko-sarake, jolla
postilaatikon viemä tila näkyy kilo- tai megatavuissa.

Kätevä keino perata ylisuurta postilaatikkoa sieltä, missä tilankulutus on suurinta.