Hereillä taas.
Lääh! Julkaisinpa vihdoin yhden shellskriptin, jonka ekat versiot kehitteli Mika Jorma Saaristo siinä joskus vuoden 1996 tienoilla, kun meikä halusi X Windows Systemissä taustakuvan vaihtuvan sopivin aikavälein ja tietyssä järjestyksessä. Se löytyy mun shelliskripti-häkkäysten hakemistosta alihakemistosta nimeltä "tausta".
Silloin kun tota skriptiä alettiin tehdä, ei tietääkseni ollut muita samaan kykeneviä softia edes olemassa. Ensi alkuun tossa oli vain while-looppi, jossa oli kasa taustakuvanlatauskomentoja ja niitten välissä sleep-komennot. Sitten ne latauskomennot siirrettiin erilliseen asetustiedostoonsa ja skriptiin lisättiin toiminto, joka osasi tallentaa senhetkisen latauskomennon järjestysluvun tiedostoon, jotta seuraavassa X-istunnossa ei olisi alettu niitten taustakuvien latauskomentojen läpikäyntiä alusta.
Kerran tossa skriptissä oli sellainen hassu bugi, että kun sen laittoi tausta-ajoon pyörimään, niin Äksästä poistuttaessa se jäi päälle! Kerran sitten Camelot-luokassa joku random-pälli oli äimän käkenä, kun hänen X-istunnossaan taustakuva vaihtui itsekseen vähän väliä. Jussi Eloranta sitä sitten setvi ja löysi ton skriptin sieltä pyörimästä ja kirjoitti mulle aika kitkeränsävyisen meilin. Nythän siinä skriptissä on omat keinonsa tarkkailla X-session päälläoloa. En kyllä tiedä, onko toi kovin eleganttia, kun se vaan tarkkailee, että onko ko. käyttäjän nimellä joku tietynniminen ikkunadamagerin prosessi päällä vai ei. Se skripti sitten sammuu heti jos se huomaa, ettei sellaista prosessia enää löydy.
Sen jälkeen minäkin opin shelliskriptausta ja suoritin vaikka sun mitä jatkokehittelyä tohon skriptiin: Mua alkoi tympiä, kun toi skripti saattoi yrittää taustakuvan lataamista, kun XScreenSaver pyöritti jotain näytönsäästäjää. Se ei ollut kaunista katsottavaa se. Ja sitten kun näytönsäästäjä meni pois päältä, niin rippeetkin ko. taustakuvasta katosivat ruudulta. Kyhäsinpä sitten sellaisen virityksen, joka tarkkaili XScreenSaverin tilaa. Se oli pakko tehdä Korn Shellillä, koska siinä on siihen tarvittavia ominaisuuksia. Siellä paketissa on myös mukana tavallisella Bourne Shell-kielellä tehty versio, jossa yritetään FIFO:n kautta tutkia XScreenSaverin tilaa, mutta valitettavasti se ei vaan kertakaikkiaan toimi. Toinen aika tärkeä ominaisuus on "taustakuvan latauksen kiirehdintä". Eli kun skriptille lähettää kill-komennolla signaalin USR1, niin se ei enää odotakaan loppuun saakkaa seuraavaa taustakuvan latausajankohtaa vaan alkaa jo ladata seuraavaa.
Se on taas oma lukunsa, että mitä hyviä ja huonoja puolia tossa skriptissä on verrattuna esim. chbg-softaan, joka tekee suunnilleen samaa kuin toi mun skriptini. Sitä pohdintaa en kyllä just nyt jaksa tehdä. Mutta vaikka katsottaisiinkin, että chbg on olemassaolollaan tehnyt ton mun skriptin tarpeettomaksi, niin ei se poista sitä tosiseikkaa, että juuri tota skriptiä koodaten olen oppinut erittäin suuren osan shelliskriptaustataidoistani.
Olis kai tossa vielä vähän paranneltavaa: Toi ps-komennon käyttö täytyy
saada portattavammaksi. Nyt se on sellainen, että sen toimivuus on tutkittu
vain procps-paketin ps-komennolla. procps tulee suunnilleen joka
Linux-distrossa mukana. Toisaalta noi tarkkailtavien signaalien nimet
pitäisi korvata oikeilla nimillä eikä käyttää numeroita.
Meenpä hieman kaupungille asioimaan.
Kävin ensin Maailmankauppa Mangossa pesuaineostoksilla. Sitten kävin Airon Musiikista ostamassa nämä CD:et:
Airon Musiikissa tapasin myös Shang:in. Sitten kävin Kaupunginkirjastolla. Lainasin nämä runokirjat:
Lisäksi lainasin gradun teossa hyödyllisiksi mainittuja kirjoja:
Jätin myös muutaman varauksen eräistä gradun kannalta hyödyllisistä kirjoista. Ihan muuten vaan hihaan tarttui nämä kirjat:
Sitten painuin kotiin.
Meenpä nukq.