Category: Uncategorized

  • [Ratkaisu] Transmissionin sammutusnappi ei sammuta ohjelmaa

    Lähtökohta
    Pakettienhallinnassa transmission on asennettuna. Olen käynnistänyt Transmissionin graafisen käyttöliittymän Sovellukset → Internet -valikosta. Haluan sammuttaa ohjelman, joten painan ohjelman pääikkunan sulkemisnappia (×).
    Ongelma
    Transmission ei sulkeudu. Vain ohjelman pääikkuna sulkeutuu. Samalla Ilmoitusalueelle ilmestyy Transmissionin kuvake, joka paljastaa, että ohjelma on yhä käynnissä. Haluan, että ohjelman suoritus päättyy kun suljen sen pääikkunan.
    Ongelman syy
    Transmissionin pääikkunan sulkemisnappia painettaessa käyttäytymistä säätelevän asetuksen arvo on virheellinen.
    Ratkaisu
    Muutan Transmissionin pääikkunan sulkemisnappia painettaessa käyttäytymistä säätelevän asetuksen arvoa. Tätä varten avaan ensin Transmissionin pääikkunan viemällä hiiren osoittimen ohjelman ilmoitusaluekuvakkeen päälle ja painamalla hiiren vasenta nappia. Sen jälkeen painan ohjelman pääikkunassa olevaa Asetukset-nappia. Avautuvasta asetusikkunasta merkitsen Näytä ikoni alapalkissa -kohdan pois käytöstä. Lopuksi suljen asetusikkunan Sulje-napilla. Tämän jälkeen Transmission sulkeutuu, kun suljen ohjelman pääikkunan.
    Huomautus
    Tässä ratkaisussakin käytetyn Näytä ikoni alapalkissa -kohdan suomennos on virheellinen, sillä tosiassa sitä vastaava asetus säätelee ilmoitusaluekuvakkeen näkymistä. Esimerkiksi Ubuntun Gnome-työpöydällä Ilmoitusalue on oletuksena ylälaidan paneelissa.
  • [Ratkaisu] Muistiapukomennon (alias) luominen

    Lähtökohta
    Käytän usein tiedostonimen osaksi sopivan päivämäärän luomiseen komentoa date +%Y-%m-%d_%H-%M osana komentoriviä, joka luo uuden tiedoston.
    Ongelma
    Komento on niin monimutkainen, että sen täsmällisen muodon muistaminen on vaikeaa. Haluan, että järjestelmä hoitaa komennon tarkan sisällön puolestani niin, että minun itseni tarvitsee osata vain jokin sitä helpommin muistettava komento.
    Ratkaisu
    Avaan gedit ~/.bashrc -komennolla komentoprofiilini muokattavaksi. Lisään tiedostoon seuraavan rivin:

    alias datefilename='date +%Y-%m-%d_%H-%M'

    Kun tämän jälkeen avaan uuden komentotulkin, esimerkiksi Päätteen, käytettävissäni on uusi komento, datefilename, jonka suoritus antaa minulle saman lopputuloksen kuin date-komento pitkän ja vaikeasti muistettavan parametrinsä kanssa.

    Huomautus
    Tällä tavalla komentoriviprofiiliin lisätty muistiapukomento ei ole käytettävissäni crontab-tiedostossa, koska cron ei lue komentoriviprofiiliani eikä siksi tiedä muistiapukomennosta.
  • [Ratkaisu] Sijainnit-valikon kohteiden muokkaaminen

    Lähtökohta
    Olen luonut työpöydälleni jäljitelmän kotihakemistoni kansionäkymästä, eli olen luonut kotihakemistoni alla olevaan Työpöytä-hakemistoon Asiakirjat-, Kuvat-, Musiikki– ja Videot-alihakemiston. Haluan muuttaa työpöytäni ylälaidan Paneelissa olevaa Sijainnit-valikkoa niin, että sen alla olevat kohteet kuten Kuvat ja Musiikki viittaavat näihin vastaavannimisiin, Työpöytä-kansion sisälle luomiini alikansioihin.
    Ongelma
    En pysty muokkaamaan Sijainnit-valikon sisältöä. Yritykseni valita valikon kohteita hiiren oikeanpuoleisella napilla avaavat vain kulloinkin valitsemani kohteen Nautilus-tiedostoselaimessa.
    Ongelman syy
    Sijainnit-valikon sisältöä ei voi muokata suoraan. Kohteiden muokkaus tehdään Nautiluksen kautta.
    Ratkaisu
    Avaan Nautilus-ikkunan esimerkiksi valitsemalla Sijainnit-valikosta Kotikansio-kohteen. Sen jälkeen valitsen avautuneen Nautilus-ikkunan Sijainnit-valikosta kohdan Muokkaa kirjanmerkkejä. Nyt avautuvassa ikkunassa pystyn muokkaamaan Sijainnit-valikon kohteita.
  • Näppäimistö käynnistää tietokoneen itsestään

    Lähtökohta
    Tietokoneeni on SN45G-mallinen Shuttlen valmistama XPC. Olen ladannut ja asentanut tietokoneeseen valmistajan uusimman BIOSin (versio FN45S00W, joka on julkaistu 29.3.2007). Olen valinnut BIOSissa PS2 Keyboard Power ON -ominaisuuden käyttöön (Enabled). Hot Key Power ON -kohtaan liittyvästä valikosta olen valinnut kohdan Any Key.

    Näppäimistöni on USB-liittimellä varustettu Packard Bellin valmistama Glow, ja olen kytkenyt sen PS/2 -sovittimen avulla PS/2 -porttiin.

    Olen painanut työpöydän Paneelissa olevaa sammutusnappia ja valinnut sen tarjoamasta valikoimasta kohdan Sammuta, minkä jälkeen tietokone on sammunut.

    Ongelma
    Tietokone käynnistyy itsestään muutaman sekunnin kuluttua sammumisestaan. Haluan, että tietokone pysyy pois päältä -tilassa ja käynnistyy vasta, kun painan näppäimistön välilyöntinäppäintä.
    Ongelman syy
    Näppäimistö lähettää ilmeisesti näppäimenpainallussignaalin tietokoneeseen hetken kuluttua tietokoneen sammumisesta. Koska aidolla PS/2 -liittimellä varustetun näppäimistön kanssa uudelleenkäynnistymisongelmaa ei esiinny, ongelman syy voi olla näppäimistön viallinen toiminta PS/2 -sovittimen kanssa. Näppäimistö ei siis mahdollisesti ole yhteensopiva PS/2 -sovittimen kanssa, tai sitten se ei ole PS/2 -sovittimeen liitettynäkään PS/2 -standardin (eikä siten tietokoneen PS/2 -portin) kanssa yhteensopiva.
    Ratkaisu
    Ratkaisua ei vielä ole. Ongelman voi kiertää joko ottamalla PS2 Keyboard Power ON -ominaisuus BIOSissa kokonaan pois käytöstä (Disabled) tai sitten valitsemalla Hot Key Power ON -kohtaan liittyvästä valikosta jokin muu vaihtoehto kuin Any Key. Kun olen valinnut valikosta kohdan Ctrl-F1, tietokone ei käynnisty itsestään, mutta käynnistyy, kun painan näppäinyhdistelmää Control + F1.
    Huomautus
    Tämän näppäimistön kanssa ilmenee toisenlainen ongelma silloin, jos liitän sen USB-porttiin: sammutusta seuraavan virrankytkennän jälkeen se ei toimi ilman irrotusta ja uudelleenkytkentää. Tästä syystä pidän näppäimistöä tällä hetkellä PS/2 -porttiin kytkettynä.
  • USB-näppäimistö ei toimi ohjelmallisen sammutuksen jälkeen

    Lähtökohta
    Tietokoneeni on SN45G-mallinen Shuttlen valmistama XPC, jonka emolevyllä on nForce2-piirisarja. Olen ladannut ja asentanut tietokoneeseen valmistajan uusimman BIOSin (versio FN45S00W, joka on julkaistu 29.3.2007).

    Näppäimistöni on USB-liittimellä varustettu Packard Bellin valmistama Glow. Olen liittänyt sen tietokoneeni etupaneelissa olevaan USB-porttiin.

    Linux-ytimestä käytössäni on versio 2.6.22-14-generic.

    Olen painanut työpöydän Paneelissa olevaa sammutusnappia ja valinnut sen tarjoamasta valikoimasta kohdan Sammuta, minkä jälkeen tietokone on sammunut.

    Ongelma
    Kun käynnistän tietokoneen uudestaan virtanapista, näppäimistö ei toimi. En pääse tietokoneen BIOSiin Del-näppäimellä, enkä pysty kirjoittamaan komentoja työpöydällä avaamaani Pääte-ikkunaan.
    Ongelman syy
    En vielä tiedä ongelman tarkkaa syytä, sillä minulla ei ole toista USB-liitännäistä näppäimistöä, jolla voisin sulkea pois sen mahdollisuuden, että kyse on näppäimistössäni olevasta viasta.
    Ongelmaa ei kuitenkaan ilmene silloin, kun olen suorittanut vastaavanlaisen ohjelmallisen sammutuksen Windows XP:ssä ja käynnistänyt tietokoneeni uudestaan sen jälkeen. Tämä viittaisi siihen, että ongelma liittyy Linux-ytimen ja BIOSin yleisempään USB-laitteiden virranhallintaongelmaan.
    Ratkaisu
    Ratkaisua ei vielä ole. Ongelman voi kiertää kahdella eri tavalla.

    • Kun tietokoneeseen on tullut virta (käyttöjärjestelmän lataamisen alkua tai käynnistymistä ei tarvitse odottaa, vaikkei siitä ole haittaakaan), irrotan näppäimistön liittimen USB-portista ja kytken sen sitten välittömästi uudestaan samaan porttiin. Tämän jälkeen näppäimistö toimii.
    • Sammutan tietokoneen, irrotan näppäimistön liittimen USB-portista ja kytken sen PS/2 -sovittimeen. Sen jälkeen kytken sovittimen tietokoneeni takana olevaan PS/2 -porttiin ja käytän jatkossa näppäimistöäni tällä tavalla PS/2 -porttiin kytkettynä. Sen jälkeen näppäimistö toimii myös virran sammuttamisen jälkeen tapahtuvan uudelleenkäynnistyksen yhteydessä ja käyttöjärjestelmän latauduttua.
  • USB-laitteissa on virta tietokoneen sammuttamisen jälkeen

    Lähtökohta
    Tietokoneeni on SN45G-mallinen Shuttlen valmistama XPC, jonka emolevyllä on nForce2-piirisarja. Olen ladannut ja asentanut tietokoneeseen valmistajan uusimman BIOSin (versio FN45S00W, joka on julkaistu 29.3.2007).

    Olen kytkenyt tietokoneeseeni useita USB-laitteita. Osassa laitteista, esimerkiksi web-kamerassa ja USB-jakajassa on LED-valot, jotka palavat silloin kun laitteissa on virta, ja jotka eivät pala silloin kun laitteissa ei ole virtaa, vaikka ne olisikin liitetty USB-porttiin.

    Linux-ytimestä käytössäni on versio 2.6.22-14-generic.

    Olen painanut työpöydän Paneelissa olevaa sammutusnappia ja valinnut sen tarjoamasta valikoimasta kohdan Sammuta, minkä jälkeen tietokone on sammunut.

    Ongelma
    USB-portteihin kytkettyjen laitteiden LED-valot palavat tietokoneen sammuttamisen jälkeenkin sen merkkinä, että niihin tulee edelleen sähkövirtaa. Haluan, että tietokoneen sammuessa USB-laitteisiin johdettu virta katkaistaan. Jatkuva virransyöttö on turhaa energiantuhlausta, sillä mikään USB-liitännäisistä laitteistani ei toimi ilman, että myös tietokone on päällä.
    Ongelman syy
    Ubuntussa on USB-laitteiden virran sammutukseen liittyvä ongelma, joka ilmenee tyypillisesti nForce-piirisarjoilla ja erityisesti juuri nForce2:lla varustettujen emolevyjen kanssa. Ongelma liittyy Linux-ytimeen ja tapaan jolla BIOS käsittelee ytimen antamia sammutuskäskyjä.
    Ratkaisu
    Ratkaisua ei vielä ole. Vaikka ongelman voi kiertää muuttamalla Linuxin sammutusrutiinia, ratkaisuksi siitä ei ole, sillä sammutusrutiini toimii silloin väärin, ja pohjimmiltaan vian uskotaankin olevan BIOSissa. Tästä syystä myös sammutusrutiinin muutoksen päätymistä viralliseen Linux-ytimeen pidetään epätodennäköisenä.
    Huomautuksia
    • Tietokoneeni BIOS tarjoaa mahdollisuuden ottaa ACPI pois käytöstä. Tällä hetkellä se on käytössä, enkä vielä ole kokeillut ilmeneekö tässä kuvattu ongelma sittenkin, jos otan sen pois käytöstä.
    • Tätä ongelmaa ei ilmene silloin kun sammutan tietokoneen ohjelmallisesti Windows XP:stä.
    • Olen aiemmin kirjoittanut tästä samasta ongelmasta hieman tätä lyhykäisemmin englanniksi.
  • [Ratkaisu] FireHOL (iptables) täyttää dmesgin ja syslogin

    Lähtökohta
    Haluan katsoa käynnistyksen aikana ylöskirjattuja tapahtumia dmesg-komennolla ja /var/log/syslog -tiedoston sisältöä lukemalla.
    Olen asentanut FireHOL-palomuurin ja asettanut sen käynnistymään järjestelmän käynnistymisen yhteydessä.
    Ongelma
    Dmesg-komennon antama tuloste on täynnä palomuurin ylöskirjaamia tietoja pakettien välityksestä. Tuloste sisältää pelkästään seuraavan kaltaisia rivejä:

    :08:00 SRC=130.234.192.48 DST=130.234.195.255 LEN=211 TOS=0x00 PREC=0x00 TTL=128 ID=63892 PROTO=UDP SPT=138 DPT=138 LEN=191

    Myös /var/log/syslog on täynnä samanlaisia rivejä niin, että lokin muu sisältö hukkuu kokonaan niiden sekaan.

    Haluan, että palomuurin ilmoitukset kirjataan erilliseen lokitiedostoon. Jos tämä ei ole mahdollista, haluan, että palomuuri kirjaa ylös ainoastaan nykyistä rajaa tärkeämmät toimet pakettien kanssa niin, että palomuurin ilmoitukset eivät hukuta lokeissa olevaa muuta tietoa alleen. Jos tämäkään ei ole mahdollista, haluan, että palomuuri ei kirjaa lokiin mitään.

    Ongelman syy
    FireHOL käyttää lokinpitoon syslogd:tä.
    Ratkaisu
    Asennan pakettienhallinnassa ulogd-paketin, ja asetan sen jälkeen FireHOLin käyttämään ulogd:tä lokinpidossaan.
    Asetan FireHOLin käyttämään ulogd:tä avaamalla /etc/default/firehol -tiedoston muokattavaksi sudo gedit /etc/default/firehol -komennolla ja lisäämällä siihen sitten seuraavan rivin:

    FIREHOL_LOG_MODE="ULOG"

    Tallennettuani muutokset tiedostoon käynnistän FireHOLin uudestaan sudo /etc/init.d/firehol restart -komennolla. Tämän jälkeen palomuurin ilmoitukset tallentuvat /var/log/ulog/syslogemu.log -tiedostoon, eivätkä enää tallennu /var/log/syslog -tiedostoon tai dmesgin puskuriin.

  • [Ratkaisu] Videon lataaminen Elävästä arkistosta

    Lähtökohta
    Minulla on Synaptic-pakettienhallinnassa w32codecs ja totem-mozilla asennettuina. Olen asentanut Firefox-selaimeeni AdBlock Plus -lisäosan. AdBlock Plusin Asetuksissa olen ottanut Valinnat-valikosta käyttöön Näytä painike Flashin ja Javan yhteydessä -kohdan.

    Elävässä arkistossa on Tietokonemusiikkia 60-luvulta -artikkeli. Artikkelin yhteydessä on linkki videoon, jossa Erkki Liikanen esittää tietokoneen säveltämän tangokappaleen. Videolinkin valittuani video alkaa pyöriä selainikkunassa. Haluan ladata videon omalle koneelleni, jotta voin katsoa sen paikallisesti myös sellaisella tietokoneella, jossa ei ole Internet-yhteyttä.

    Ongelma
    En pysty tallentamaan videota. Jos valitsen Firefoxin Tiedosto-valikosta Tallenna sivu nimellä... -kohdan, kun video on esillä selaimessani, sivusta tallentuu kyllä paikallinen kopio, mutta Firefox ei sisällytä itse videota paikalliskopion tiedostojen joukkoon. Niinpä video ei toimi, jos avaan tallentamani sivun koneella, jossa ei ole Internet-yhteyttä.
    Ongelman syy
    Elävässä arkistossa käytetty videotekniikka on käyttörajoitteista. Videot näytetään suoratoistona sen sijaan, että ne ladattaisiin tietokoneelle ennen toiston alkua.
    Ratkaisu
    1. Asennan Synaptic-pakettienhallinnassa mimms-paketin.
    2. Avaan videon selaimeen artikkelin linkistä niin, että video alkaa pyöriä.
    3. Koska AdBlock Plus on käytössä, videon alakulmaan ilmestyy Estä-nappi, jota painamalla saan esiin videon osoitteen. Osoitteen ollessa maalattuna kopioin sen leikepöydälle näppäinyhdistelmällä Control + C, minkä jälkeen poistun AdBlock Plusin ikkunasta Peruuta-napilla. Sen jälkeen keskeytän videon toiston palaamalla selaimessa takaisin artikkelisivulle.
    4. Avaan Päätteen ja suoritan wget-komennon siten, että annan sille ensimmäisenä parametrinä äsken leikepöydälle kopioimani osoitteen (painamalla näppäinyhdistelmää Control + Shift + V) ja toisena parametrinä saman osoitteen loppupuolelta jäljittelemäni tiedostonimiosan, joka on viimeisen kauttaviivan (/) ja kysymysmerkin välissä. Tiedoston nimi on tässä tapauksessa numero 172659, jonka perässä on .asx -pääte, joten lopullinen komento näyttää seuraavalta:
      wget http://www.yle.fi/player/172659.asx?s=512 -O 172659.asx
    5. Edellisellä komennolla ladattu tiedosto, 172659.asx, sisältää uuden osoitteen. Lataan seuraavaksi tiedoston tästä uudesta osoitteesta komennolla, johon sisällytän yhtenä parametrinä äsken ladatun 172659.asx -tiedoston:
      wget `cut -c 39- 172659.asx | cut -d\" -f 1`
    6. Edellisellä komennolla ladattu tiedosto, tässä tapauksessa 172652_1.wmv, sisältää jälleen uuden osoitteen. Korjaamalla tätä uutta osoitetta siten, että siinä käytetään http-protokollan sijasta mms-protokollaa, saan vihdoinkin sen osoitteen, josta voin ladata itse videon mimmsillä.
      Sisällytän komentoon yhtenä parametrinä äsken ladatun 172652_1.wmv -tiedoston, ja viimeisenä parametrinä uuden tiedostonimen, jonka alkuosa on sama kuin edellä ladatun tiedoston nimen alkuosa, ja päätteenä .asf; tässä tapauksessa siis 172652_1.asf. Lopullinen komento näyttää seuraavalta:

      mimms `grep Ref1= 172652_1.wmv | sed -e 's/http:/mms:/' \
      | cut -c 6-` 172652_1.asf

    Tämän jälkeen minulla on paikallinen kopio videosta 4,9 Mt:n kokoisessa, 172652_1.asf-nimisessä tiedostossa. Voin toistaa videon esimerkiksi Totem-elokuvasoittimella.

  • [Ratkaisu] Rytmilaatikon Jamendo-liitännäinen ei toimi

    Lähtökohta
    Olen käynnistänyt Rytmilaatikko-musiikkisoittimen. Olen ottanut käyttöön Jamendo-liitännäisen. Kun valitsen Sivupaneelista Jamendo-näkymän, Jamendon esittelysivu avautuu. Haluan kuunnella Jamendosta ladattavaa musiikkia.
    Ongelma
    En voi valita Jamendossa olevia musiikkikappaleita kuunneltaviksi mistään. Jos kirjoitan hakukenttään hakusanan, Tilarivi ilmoittaa hakusanaa vastaavien osumien määrän, mutta itse osumia ei näy missään. Jamendo-näkymässä näkyy vain Jamendon esittelysivu, eikä sitä saa pois ikkunasta poistumatta kokonaan Jamendo-näkymästä.
    Ongelman syy
    Jamendo-liitännäisessä on ohjelmavirhe, joka estää Jamendon kokoelmien selailun Rytmilaatikolla.
    Ratkaisu
    Korjaan liitännäisessä olevan virheen. Korjaaminen tapahtuu liitännäisen lähdekoodia muokkaamalla, minkä jälkeen korjattu liitännäinen täytyy kääntää.

    1. Suljen Rytmilaatikon.
    2. Siirrän viallisen liitännäisen väliaikaisesti toiseen hakemistoon. Tämä tapahtuu seuraavalla komennolla:
      sudo mv /usr/lib/rhythmbox/plugins/jamendo/JamendoSource.pyc /tmp/
    3. Muokkaan liitännäisen lähdekoodia.
      1. Avaan lähdekoodin muokattavaksi seuraavalla komennolla:
        sudo gedit /usr/lib/rhythmbox/plugins/jamendo/JamendoSource.py
      2. Etsin rivin numero 332, joka näyttää seuraavalta:
        self.__db.set(entry, rhythmdb.PROP_TRACK_NUMBER, int(track['trackno']))

        Korvaan tämän rivin seuraavilla kolmella rivillä:

        trackno = int(track['trackno'])
        if trackno >= 0:
        self.__db.set(entry, rhythmdb.PROP_TRACK_NUMBER, trackno)
      3. Sisennän lisäämäni rivit siten, että kaksi ensimmäistä on sisennetty samalle sarakkeelle kuin niitä edeltävä rivi ylempänä, ja kolmas on yhden sisennystason sisempänä kuin kaksi muuta.
      4. Tallennan tiedoston ja suljen geditin.
    4. Käynnistän Rytmilaatikon Päätteestä komennolla sudo rhythmbox
    5. Käännän korjatun liitännäisen ottamalla sen käyttöön. Tämä tapahtuu valitsemalla Rytmilaatikon Muokkaa-valikosta kohta Liitännäiset... ja merkkaamalla sen jälkeen avautuvasta Liitännäisten määrittelyt -ikkunasta Jamendo-liitännäinen käyttöön valituksi. Lopuksi suljen Liitännäisten määrittelyt -ikkunan.
    6. Suljen Rytmilaatikon.
    7. Poistan aiemmin ladatun Jamendo-luettelon. Tämä tapahtuu seuraavalla komennolla:
      rm ~/.gnome2/rhythmbox/jamendo/*

    Kun tämän jälkeen käynnistän Rytmilaatikon Sovellukset → Ääni & video -valikosta, valitsen Sivupaneelista Jamendo-näkymän ja odotan, että Jamendon luettelo latautuu, voin sen jälkeen selata Jamendon musiikkivalikoimia kirjoittamalla sopivan hakusanan.
    Kun uusi, korjattu liitännäinen toimii, voin poistan vanhan, viallisen liitännäisen tilapäisestä sijoituspaikastaan seuraavalla komennolla:

    sudo rm /tmp/JamendoSource.pyc
    Huomautus
    Olen pannut tarjolle valmiiksi korjatun kopion lähdekooditiedostosta (14 kt:n Python-tiedosto).