WWW-diary of Juhapekka Tolvanen:

Wednesday, 05 March 2003




04:09:29 EET (UTC +0200) @131

Aivan hillitöntä ja levotonta säätöä oli tänään: Kyhäsin sellaisen shelliskriptin, joka hakee ne mun WWW:ssä julkaisemani shellikonfikset, lisäilee niihin Yliopiston Linux- ja Solaris-koneilla tarvittavia juttuja ja sitten kopsii valmiit konffaustiedostot kotihakemistoon. Samalla muokkasin niitä konffaustiedostoja silleen, että Solaris-koneissa oleva zsh pelittäisi niillä myös.

Ja koko komeus toimii vieläpä niin, että mullon /bin/bash oletusshellinä, mutta sisäänlogatessa käynnistetään paras mahdollinen shelli, mikä löydetään. Ensin koitetaan zsh:ta, sitten bash:ia, sitten ksh:ta ja lopuksi mahdollisimman hyvää sh:ta. Ja jos mikään noista ei löydy, käynnnistetään /bin/sh . Alunperin halusin /bin/sh:n oletusshelliksi, mutta salasanojen vaihtamiseen käytettävällä WWW-sivulla ei voi valita sellaista.

Siellä shellikonfiksissa on myös paikoillaan mekanismi, joka vitt^H^H^H^Hvalittaa meilitse ylläpitäjille, jos koneesta ei löydy zsh:ta; bash:ia tai ksh:ta. En vaan ole vielä kytkenyt sitä päälle. Se pitää myös huolen siitä, ettei saman koneen shellipuutoksista valiteta kuin kerran.

Muuten kyllä käyttäisin kaikkialla zsh:ta, mutta kun ainaskin Herra Erikoistutkija Seppo "The Stunt Admin" Kalliolla tuppaa unohtumaan zsh:n masentaminen melkein joka saatanan kerta, kun hän päivittää Linuxin jollain koneella tai asentaa uudelle koneelle Linuxin taikka kun hän uudelleenasentaa Linuxin putsatulle koneelle. Sen vuoksi aloin kyhätä tommoista viritystä, joka käynnistää parhaan mahdollisen shellin minkä sattuu löytämään.

En kyllä myöskään tykkää, kun Solaris-koneilla on joku ikivanha zsh, joka vetää hernettä nenään, jos koittaa jotain tuoreempia zsh:n ominaisuuksia. Oli pakko lisätä vaikka minkä setopt-komennon perään "2> /dev/null". Ja mun hienot värilliset promptit menevät pelkäksi kirjainpuuroksi. Mm. tuontakia sinne tänne piti lisätä jotain virityksiä tyyliin: "jos komennon "uname -a" tulosteessa esiintyy merkkijono "Sun", niin teekin näin". Elegantimpi tapa olis: "Jos zsh:n versio on alle sen-ja-sen, teekin näin". Pakko selvittää, saako esim. Sunilta valmiina ohjelmabinäärinä tuoreempaa zsh:ta ja sitten potkia pers... eikun valittaa Leväselle. Myöskin käämien palamista aiheutti se, kun siellä koneilla ei ole GNU-utiliteetteja vaan jotain kuppaisia Sunin omia tms. utiliteetteja ja dircolors:in puuttuminenkin vitutti hieman. Luulis jostain löytyvän GNU-herkut valmiiksikäännettyinä Solaritsalle. Itseasiassa ne saattavat jopa olla jonkin hakemistopolun takana jo valmiina. Pakko ottaa selvää.

Noi Solaris-koneet ovat ilmeisesti todella surkea esitys, jonka säälittävyyttä vain lisää tämä tosiseikka: Viime jouluna vanhempien luona ollessani masensin yhteen Wintööt ME-koneeseen Cygwinin ja siinä sain RXVT:n ja Zsh:n pelittämään tosi vähällä säätämisellä. Oli kyllä melko hassu tunne, kun Wintoosan työpöydällä möllötti suunnilleen samannäköinen terminaaliemulaattori kuin kotona Linux-koneellani. Ja sitä ikkunaa pystyi viruttelemaan tuosta vaan ja kirjainten määrä vaaka- ja pystysuunnassa muuttui siinä mukana. Ja se ei todellakaan ollut sellainen RXVT, joka olisi vaatinut XFree86:en Cygwin-porttausta toimiakseen. Ja mun shellikonfiksia tarvitsi muokata tosi vähän, ennenkuin ne lakkasivat heittämästä virheilmoja Cygwinin Zsh:lla. Ainakin COMMAND.COM:min ja MS-DOS-kehotteen voi tunkea vaikka pilkeitsin anaaliin tuon kokemuksen jälkeen.

Mutta tähän väliin täytyy nukkua.



12:45:59 EET (UTC +0200) @489

Heräsin jotain tunti sitten.



23:48:00 EET (UTC +0200) @950

Suurin osa päivästä meni sen mun shellikonfiksen tarkempaan viilaukseen. Melko pian herättyäni huomasin aika inhan bugin: jopa Linuxissa komennon "uname -a" tuloste saattaa sisältää merkkijonon "Sun", nimittäin jos kerneli on käännetty sunnuntaina. Auts! :-O Siispä muutin nuo tietyt kohdat niin, että nyt etsitäänkin tuon komennon tulosteesta merkkijonoa "SunOS" ja se komento onkin nyt muodossa "uname -s". Tuon bugin takia lokalisaatiot menivät päin ulkosynnytintä, ja enkä voinut naputella ääkkösiä enkä kopypasteta hiirellä juuri yhtään. No, tulipahan ainakin moneen kertaan varmistettua, etä mullon joka paikassa suometukset kunnossa. Vielä kun jaksais pitää huolen, ettei stty-komentoa ikinä anneta ei-interaktiivisia shellejä ajellesssa, niin kaikki olis hyvin.

Tutkiskelin Sunin WWW-sivuilta tietoa Solariksen mukana tulevasta sekä muitten kääntämistä vapaista softista: tukissa ja kannossahan on Solaris 8. Jopa Solaris 9:än mukana tulevilla rompuilla on zsh:sta joku versio 3.*. SunFreeware.com:missa olis jonkun muun kuin Sun-puljun kääntämänä zsh:n versio 4.* Solaris 8:lle. Nyt sitten pitäis Leväselle ehdottaa, että masentaisi juuri tuon zsh:n.



Edellinen / Previous

Seuraava / Next

Juhapekka Tolvanen