Author: Jani

  • [Ratkaisu] Transmissionin suomennoksessa on virheitä

    Lähtökohta
    Olen asentanut ja käynnistänyt Transmissionin graafisen käyttöliittymän. Olen ottanut esille ohjelman asetusikkunan.
    Ongelma
    Transmissionin asetusikkuna kärsii otsikkoaan (Transmission asetukset) myöten yhdyssanavirheistä. Lisäksi yksi asetuskohdista nimittää ilmoitusaluetta alapalkiksi, vaikka jo Ubuntun oletuskokoonpanossakin se sijaitsee työpöydän ylälaidassa.
    Ongelman syy
    Transmissionin käännöstiedosto sisältää kielioppi- ja muita virheitä.
    Ratkaisu
    Korjaan käännöstiedoston.
    Suljen ensin Transmissionin. Asennan sitten gettext-paketin, joka sisältää käännöksen korjaamisessa tarvittavat ohjelmat. Sen jälkeen muunnan Transmissionin käyttämän käännöstiedoston tekstieditorin ymmärtämään muotoon seuraavalla komennolla:

    msgunfmt /usr/share/locale/fi/LC_MESSAGES/transmission-gtk.mo \
    > ~/transmission-gtk.po

    Tämän jälkeen avaan gedit ~/transmission-gtk.po -komennolla tekstimuotoisen käännöstiedoston editoriin. Etsin ja korjaan yhdyssana- ja muut virheet lainausmerkkien sisällä olevista suomenkielisistä ilmaisuista. Esimerkiksi rivi 30 näyttää seuraavalta:

    msgstr "%s asetukset"

    Tämä on Transmissionin asetusikkunan otsikko. Muutan sen seuraavanlaiseksi:

    msgstr "%sin asetukset"

    Kun olen tehnyt haluamani korjaukset, tallennan tiedoston ja suljen tekstieditorin. Sitten muunnan oman käännökseni ohjelman ymmärtämään muotoon seuraavalla komennolla:

    msgfmt -c -o ~/transmission-gtk.mo ~/transmission-gtk.po

    Lopuksi korvaan seuraavalla komennolla ohjelman käyttämän viallisen käännöstiedoston korjaamallani versiolla, ottaen sitä ennen viallisesta tiedostosta varmuuskopion siltä varalta, että oma käännökseni ei toimi:

    cp /usr/share/locale/fi/LC_MESSAGES/transmission-gtk.mo \
    ~/transmission-gtk.mo.vanha && sudo cp ~/transmission-gtk.mo \
    /usr/share/locale/fi/LC_MESSAGES/

    Kun tämän jälkeen käynnistän Transmissionin, se käyttää korjattua käännöstiedostoa. Kun uusi käännöstiedosto toimii, voin lopuksi poistaa vanhan tiedoston rm ~/transmission-gtk.mo.vanha -komennolla.

    Huomautuksia
    • Ratkaisun ensimmäinen komento on epäonnekkaan rivityksen takia vaikeaselkoinen. Kahdesta rivistä ensimmäinen päättyy \-merkkiin, jolloin ainakin Bash-komentotulkki avaa seuraavan rivin >-kehotteella sen merkiksi, että edellisellä rivillä alkanutta komentoa jatketaan tällä rivillä. Tämä voi aiheuttaa väärintulkinnan mahdollisuuden, sillä riveistä jälkimmäinen alkaa sekin >-merkillä.
      Selvennyksenä: yllä olevassa komentoesimerkissäni en tarkoita >-merkillä toisen rivin eteen automaattisesti lisättyä >-merkkiä eli komentorivin lisäämää kehotetta, vaan itse komennon ensimmäistä merkkiä, joka siis täytyy kirjoittaa komentoriville näppäimistön >-näppäintä käyttäen.
    • Kun transmission-gtk -paketti päivitetään, tai jos se poistetaan ja asennetaan uudestaan, tässä ratkaisussa tehdyt korjaukset todennäköisesti menetetään.
  • [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.