Gentoo ja KDE 4.3.2 kompieerimine – kasulik käsukonveier

oktoober 7, 2009

Eile kompileerisin koduarvutis uut KDE’d mille juures juba mõnda aega on põhiliseks probleemiks step paketi mittekompileerumine (unstable kompilaatori kasutamine peaks selle probleemi lahendama). Kuna kellaaeg jooksis õhtusse ei jõudnud enam ära oodata hetke mil tavapärase taktika järgi oleks step pakett jäänud esimeseks ning seejärel saanud selle kompileerimist vältida –skip-first võtmega. Sellepärast kirjutasin alljärgneva käsukonveieri – ehk on teistelgi abiks

emerge -up world 2>/dev/null | sed '/^[^[]/d' | sed 's/[^]]*] //' | sed 's/-4.3.2.*//' | sed '/kde-base\/step/d' | xargs emerge -up

Lahtiseletatult olulisemad kohad
1. saadame emerge veateated /dev/null’i – need tuleb ise enne sellise käsukonveieri käivitamist üle vaadata ja vastavalt reageerida
2. esimene sed : jätame alles read mis algavad nurksuluga (sisaldavad pakette)
3. teine sed: lõikame uuenduse info ära
4. kolmas sed: lõikame versiooninumbri ja järgneva info ära
5. neljas sed: kustutame rea kus on step pakett
6. käivitame allesjäänud pakettidega emerge

sed’i võib muidugi ka ühe käsuna kirjutada, aga mulle endale tundus nii selgem. Ning selleks, et arvuti hommikuni toas ei sumiseks, võib eelnevale käsukonveierile lisada shutdown käsu:

emerge -up world 2>/dev/null | sed '/^[^[]/d' | sed 's/[^]]*] //' | sed 's/-4.3.2.*//' | sed '/kde-base\/step/d' | xargs emerge -up ; shutdown -h now

; asemel võib ka && kasutada – sellisel juhul läheb masin seisma ainult siis kui emerge lõpetab oma töö edukalt.

ps. Kiiduväärt avastus on ka see, et wordpress lubab nüüd “bash” formaatimist (varasemates postitustes olen siiani css kasutanud) : http://en.support.wordpress.com/code/


KDE: Ajurünnak

märts 21, 2009

KDE News toob meieni loo uuest võimalusest mis on lisatud nende foorumisseBrainstorm.

Tegemist on katsega vähendada lõhet kasutajate ning arendajate vahel koordineerides kasutajate poolt tulevate muudatusettepanekute vastuvõtmist. Siiani on ideede edastamine toimunud nende bugtracker‘i kaudu ent see sellel on minu meelest mõned kehvad küljed olnud:

  • bugtracker on siiski vigade haldamiseks mõeldud. Keskmine kasutaja aga ei suvatse vägapalju taustaotsinguid teha ning seega satuvad feature requestid tihtipeale trackerisse mitmekordselt suurendades baasi mahtu ning segades otsingutulemusi. Samuti on probleem duplikaatidega mida pole veel duplikaatideks märgitud aga on saanud hääletusi ja kommentaare
  • bugtrackeris pole automaatset duplikaadikontrolli. Tegelikult pole foorumis ka, aga foorumisse sisestatud ideed käiakse enne trackerisse sisestamist üle ning edastatud saavad ideed ühekordselt.
  • arendaja poolt vaadatuna võib trackeris olevate “bugide” üleküllus mõjuda demotiveerivana
  • bugrackeri kasutamine on lihtsale kasutajale keerulisem ning võib eemale peletada hea idee.
  • Loodan, et foorumist tulenevasse initsiatiivi suhtutakse aktiivselt ning vastuvõtlikult kuna siiamaani pole arendajad kõigile ideedele just väga kiiresti reageerinud.

    Mina näiteks ootan siiamaani kuni KDE’sse (Rääkides siinkohal 4.2 kasutajana, 3.5’s oli see võimalus olemas) jõuab see feature – võimaldada hiire rullikuga anda aknale fookus ilma seda esile tõstmata.

    Siinkohal ka üleskutse KDE kasutajatele (kes on ka bugtrackeri liikmed, kui pole, siis liituge) – käige ja hääletage, andke endast märku. Headest ideedest ja heast tagasisidest saab lõpuks ka parem toode.


    KDE 4.2.1: Faili täistee näitamine Kate’s

    märts 18, 2009

    Ehk leidub peale minu veel mõni inimene, kes kasutab Kate nimelist redaktorit arenduses ning vaevleb probleemi käes – nimelt ei saa KDE neljandas versioonis enam seadistustes määrata valikut, et Kate akna päises näidataks faili täisteed. Nende (KDE arendajate) veahaldussüsteemis on küll mitu sooviavaldust antud seadistuse taastamiseks (KDE 3 seerias oli see seadistus olemas) ent kas või kuna see realiseeritakse ning põhipuusse lisatakse pole teada.
    Sellegi poolest on olemas workaraound. Otsi kde4 kataloogist üles fail katerc (N: .kde4/share/config/katerc) ning muuda rida

    Show Full Path in Title=false
    

    nii, et see oleks kujul

    Show Full Path in Title=true
    

    Ps. Vaata et Kate ei töötaks selle seadistuse muutuse ajal, sest programmi sulgemisel kirjutab ta seadistuste faili vana sisuga üle (Elagu inimloetavad seadistuste failid!).


    Asus Eee PC 900 ja EMT Internet (Huawei E169 USB Modem)

    jaanuar 25, 2009

    Otse loomulikult, see komplekt “out of box” ei tööta.

    Elioni kodulehel on küll hea õpetussõna komplekti töölepanekuks, ent kolmandal lehel näidatud dialoogi “Select Hardware” juures tekib probleem. Manualis on pilt

    select_hw

    ent viidatud seadmete read on puudu. Kuna nende pisikeste läpakatega polnud varem kokku puuutnud siis oli kimbatus suur. Pole kusagil ikoonide all ju mingit konsooli ega võimalust ennast root kasutajaks teha – võimalust, millest kinni haarata ja edasi toimetada. Ent pisut googeldamist ning asjad hakkasid hargnema. Nimelt on vaja meelde jätta üks kaval klahvikombinatsioon:


    <ctrl>+<alt>+t

    Selle tulemusena avaneb terminali aken ning “sudo su -” käsuga saab ennast ka juba root kasutajaks teha.
    Üsna kiiresti sai seejärel ka selgeks probleem, miks modemit ei leitud – nimelt puudusid süsteemist /dev/ttyUSB* seadmed ning seda modemi enda ehituse pärast. Nimelt on ta composite device mis oskab operatsioonisüsteemi jaoks välja paista nii andmekandjana kui ka modemina. Andmekandjal on windowsi driverid ning peale nende installeerimist lülitatakse seade ümber modemiks. Asus Eee 900 aga seda teha ei oska.

    Esimene võimalus antud probleem lahendada:
    * eemaldada kernelist “usb_storage” moodul
    * laadida moodulid “usbserial” ja “option”
    * ühendada modem
    natuke aega oodata (umbes kümmekond sekundit) ning seade peaks modemina nähtavale ilmuma (tekivad /dev/ttyUSB0 ja /dev/ttyUSB1 seadmed)

    Ent see lahendus ei ole püsiv.. peale iga restarti peaks seda kõike kordama. Samas, kui süsteemi ei taha muuta, midagi juurde installeerida ei saa/tohi, siis on see siiski lahendus.

    Teine võimalus: installeerida .deb pakett mis sisaldab juba vastavat programmi ja seadistust mis tegeleb modemi rezhiimi lülitamisega.
    Deb faili ja kirjelduse selle paigalduseks leiat siit: http://www.greenhughes.com/content/huawei-e169g-easy-way

    Kolmas võimalus: kompileerida, paigaldada ja seadistada usb_switch ise. Algallikas sellele programmle siin : http://www.draisberghof.de/usb_modeswitch/

    Seda kolmandat ise ei ole veel proovinud, aga esimene ja teine on proovitud ning tõdetud, et lahendused töötavad. Ainuke probleem mis hetkel on veel jäänud – modem peab arvuti küljes olema juba bootimise alguses. Kui pilt ees ja siis modem külge pista siis mingil põhjusel siiski model tööle ei hakka.

    Viiteid:
    * http://www.greenhughes.com/content/using-your-asus-eee-pc-3-mobile-network
    * http://www.greenhughes.com/content/huawei-e169g-easy-way
    * http://www.greenhughes.com/content/using-huawei-e169g-usb-mobile-internet-modem-eee
    * http://dalelane.co.uk/blog/?p=254
    * http://nordickiwi.no-ip.com/blog/?p=157
    * http://www.draisberghof.de/usb_modeswitch/

    ja keda huvitab Asuse peale XP installeerimine, siis võib siit lugeda


    Lihtne tulemüür, vol 2

    November 21, 2008

    Eelmine kord sai kirjutatud tulemüürist mis suhteliselt lihtsalt laseb Linuxi masina kinni keerata välismaailma jaoks lubades ainult ühendused mille algatajaks oleme ise.
    Nüüd aga väike edasiarendus, kuidas lubada ühendused enda masina poole masinast endast ning kuidas lubada kõik eesti IP aadressid:

    # kõik tühjaks
    iptables -F
    iptables -X
    
    # default, kõik sissetulev - viskame minema
    iptables -P INPUT DROP
    
    # localhost
    iptables -A INPUT -s 127.0.0.1/32 -j ACCEPT
    
    # lubame juba toimivad ühendused
    iptables -A INPUT -i eth0 -m state --state related,established -j ACCEPT
    
    for ip in `wget -O - -q http://tix.estpak.ee/networks.txt | cut -d' ' -f2`; do iptables -A INPUT -s $ip -j ACCEPT; done;
    

    Juurde tulid read
    * “localhost” (ilma selle reata ei saa oma arvuti poole pöörduda kui seal jookseb näiteks veebiserver, ja
    * for… – see rida tõmbab estpaki serverist võrkude aadressid ning lisab tulemüüri.

    Sai just enda arvutile peale pandud ning terve hommiku kestnud botneti rünnak on nüüd tõhusalt tõrjutud (ründajateks olid täiesti suvalised ja ainulaadsed (üks ip tegi ainult ühe rünnakukatse) välismaa aadressid.


    Gentoo, ID-kaart ja digidoc

    august 29, 2008

    Linuxikasutajate elu ei ole tihtilugu just meelakkumine – programmid mis windowsi kasutajatele ammu olemas ja töötavad hästi on kas puudu, tulevad suure ajalise nihkega ja/või ei pruugi üldsegi korrektselt töödata.

    Id-kaardi kasutamisest browseriga olen ma varem juba kirjutanud, nüüd siis sai ära ka proovitud digidoc’i tarkvara. Siiamaani olin kasutanud digidoc’i portaali ja soovitan seda teistelegi kel mingil põhjusel arvutisse vastava tarkvara installeerimine ebaõnnestub.

    Järgnevalt sammud mida teha, et enda arvutisse digidoc’i tarkvara saada:

    1. http://www.sk.ee/pages.php/020207010801 leheküljelt tuleb endale laadida “DigiDoc C-teek” (hetkel on see link http://www.sk.ee/files/libdigidoc-2.6.0.tgz)

    2. laaditud fail paki kusagile kataloogi lahti

    3. root kasutajana käivita käsud:


    $ ./configure
    $ make
    $ make install

    ja põhimõtteliselt ongi kõik :) Käsurealt saad nüüd kasutada käsku ‘cdigidoc’

    Probleemid

    Kui cdigidoc käivitamisel peaks ilmuma järgnev veateade :

    $ cdigidoc
    cdigidoc: error while loading shared libraries: libdigidoc.so.2: cannot open shared object file: No such file or directory

    siis Gentoo puhul tuleb käivitada root kasutajana käsk

    $ env-update


    “ei oska raadiost faile salvestada”

    juuli 27, 2008

    Sellise otsinguga jõudis keegi minu blogisse:) Pole küll omaarust sellisest asjast kirjutanu, aga noh, kui inimestel mure, siis aitan. Linuxi peal tuleb installida selline pakk nagu streamripper :


    emerge media-sound/streamripper

    ja peale seda juba saab netiraadiotest tulevat musa salvestada nii:

    streamripper <URL>

    Käsul on igavesti palju uhkeid parameetreid, aga neid võib igaüks juba ise uurida.


    Linux ja ID-kaart

    jaanuar 20, 2008

    ID-kaardi lugeja ühendamine ning kasutamine Linuxi all – üldiselt on see lihtne, aga hoolimata kõigest võib esineda probleeme mille lahendamine võib teinekord päevi võtta.

    Üldiselt tuleb alustada siit : http://ideelabor.ee/id-kaart/linux – paigalda vajalikud paketid, käivita vajalik tarkvara, laadi vajalik moodul Firefoxi’le ning asu aga kasutama.

    Gentoo õpetus on ehk natuke liiga pikk, üldjoontes käib asi nii:

    /etc/portage/package.use faili tuleb lisada rida

    dev-libs/opensc pcsc-lite

    seejärel installeerida vajalik tarkvara

    emerge sys-apps/pcsc-lite
    emerge app-crypt/ccid
    emerge dev-libs/opensc

    ning käivitada deemon:

    /etc/init.d/pcscd start

    Lisame selle ka bootimisel käivitatavate programmide hulka

    rc-update add pcscd default

    Kui kaardilugeja on ühendatud, siis eduka toimimise puhul peaks umbes sellist asja nägema

    $ opensc-tool --list-readers
    Readers known about:
    Nr. Driver Name
    0 pcsc SCM SCR 331 (60102616) 00 00

    Nagu näha, siis on edukalt ühendatud lugeja SCR331 (selliseid jagas vahepeal ntx Haridus- ja Teadusministeerium). Kui aga väljundis ei näidata ühtegi lugejat tuleks hakata uurima logisid või proovida käivitada nii, et teated tuleks kohe konsoolile:

    /usr/sbin/pcscd -f -d

    Võimalikud probleemid ja lahendused
    Logis on peale pcscd käivitamist selline tekst:

    ...
    localhost pcscd: ccid_usb.c:397:OpenUSBByName() Found Vendor/Product: 04E6/E001 (SCM SCR 331)
    localhost pcscd: ccid_usb.c:399:OpenUSBByName() Using USB bus/device: 002/004
    localhost pcscd: ccid_usb.c:719:ccid_check_firmware() Firmware (4.13) is bogus! Upgrade the reader firmware or get a new reader.
    localhost pcscd: ifdhandler.c:95:IFDHCreateChannelByName() failed
    localhost pcscd: readerfactory.c:1152:RFInitializeReader() Open Port 200000 Failed (usb:04e6/e001:libusb:002)
    localhost pcscd: readerfactory.c:1025:RFUnloadReader() Unloading reader driver.
    localhost pcscd: readerfactory.c:252:RFAddReader() SCM SCR 331 (60102616) init failed.
    ...

    Aitas see, kui tootja lehelt (Näiteks scr331 puhul http://www.scmmicro.com/support/pcs_downloads.php -> Trieber/Firmware -> SCR331/SCR531 CCID USB -> Windows XP -> aksepteeri EULA -> Witer ning laadi endale “Firmware” sektsioonist .zip fail. Selle jooksutamiseks tuleb küll windowsi masin leida (või oskab keegi kommenteerida kas see wine all ka õnnestuks) ning oma lugejas olev tarkvara ära uuendada.

    Kõik peaks toimima, aga .. logides on midagi analoogset (PowerUP failed)

    ...
    localhost pcscd: ifdhandler.c:841:IFDHPowerICC() lun: 0, action: PowerUp
    localhost pcscd: commands.c:200:CmdPowerOn Card absent or mute
    localhost pcscd: ifdhandler.c:877:IFDHPowerICC() PowerUp failed
    localhost pcscd: eventhandler.c:431:EHStatusHandlerThread() Card inserted into SCM SCR 331 (60102616) 00 00
    localhost pcscd: eventhandler.c:445:EHStatusHandlerThread() Error powering up card.
    localhost pcscd: winscard.c:362:SCardConnect() Card Not Powered
    ...

    Küllap võib siin palju teisigi muresid olla, minul konkreetselt aga tuli välja, et kaart ise on katki. Töökaaslase id-kaart näiteks töötas perfektselt. Seetõttu tuleb lähipäevil KMA’s ära käia.

    Lõpuks veel asjalikke linke
    http://ideelabor.ee/id-kaart/linux Üldine õpetus
    http://ideelabor.ee/opensource/wiki/IdKaardiTarkvara/UnixiKaardilugejad millised lugejad on toetatud
    http://ideelabor.ee/opensource/wiki/IdKaardiTarkvara/Gentoo Gentoo õpetus
    http://ideelabor.ee/opensource/wiki/IdKaardiTarkvara/UbuntuLinux tiba parem selgitus vigade kohta

    http://ideelabor.ee/opensource/wiki/IdKaardiTarkvara/SuvalineUnix
    seadistuste kohta
    Paar sõna Firefoxile mooduli lisamsiest


    AU840 ja Linuxi kooskasutamisest

    jaanuar 6, 2008

    AU840
    Peale Elioni DigiTV’ga liitumist õnnestus endale saada pisike mobiilne multimeediakeskus AU840. Riistapuu oskab nii muusikat mängida, videosid esitada kui ka tekstifaile näidata. Ka raadiot mängimine või heli salvestamine pole probleemiks. Kettamahtu konkreetsel seadmel 2GB.

    Kui aeg jõudis sinna maale, et hakata arvutist faile seadmesse laadima tekkisid probleemid. Kuigi toote lehel on toetatud OS’ideks märgitud ainult windowsid aga kodus on ainult Linux, siis sellegi poolest oli ju tahtmine proovida mis saab. USB kaabel külge ja.. error, dmesg näitas sellist hädakisa:

    usb 2-5: new full speed USB device using ohci_hcd and address 2
    usb 2-5: device descriptor read/64, error -62
    usb 2-5: device descriptor read/64, error -62
    usb 2-5: new full speed USB device using ohci_hcd and address 3
    usb 2-5: new full speed USB device using ohci_hcd and address 4
    usb 2-5: device descriptor read/64, error -110
    usb 2-5: device descriptor read/64, error -110
    usb 2-5: new full speed USB device using ohci_hcd and address 5
    usb 2-5: device descriptor read/64, error -110
    usb 2-5: device descriptor read/64, error -110
    usb 2-5: new full speed USB device using ohci_hcd and address 6
    usb 2-5: device not accepting address 6, error -110
    usb 2-5: new full speed USB device using ohci_hcd and address 7
    usb 2-5: device not accepting address 7, error -110

    Peale väikest googeldamist oli ainuke mõistlikuna tunduv lahendus uuesti ühendamine. Lasin seadme lõpuni laadida (uh, lugege korralikult manuali, selle jubina laadimine on üsna peen teadus) ning peale juhtme uuesti külgepistmist tuligi kerneli teadetesse et seade on leitud.
    Kui seade mounditud, sai musa ja filmid seadmesse kopeeritud ja katsetatud. mp3′ed mängivad ilusasti, kuigi lugude kerimist ei ole mul õnnestunud veel kasutada. Võibolla failide viga? UI jätab tegelikult natuke soovida, sest alustuseks pannakse esimene/viimatimängitud lugu mängima ja siis saab alles hakata otsima lugu mida tahad tegelikult kuulata.

    Videodega oli aga natuke keerulisem. Toetatud on küll .avi failid, aga arvutist võetud neli esimest faili said vastuseks “File Format Error”.
    Seadmega on kaasas CD, seal olev converter sai wine abil ilusti ära installeeritud, aga kasu sellest polnud midagi. Esiteks on programmis kasutatud fondid katki (nupudel paistavad ainult mingid imelikud märgid seega orenteeruma peab manualis olevate screenshot’ide järgi) ning tulemusfail mis tekkis oli vigane.
    Lähemal uurimisel selgus, et programmil on aga asjalik .ini fail ning et tegelikult on programm frontendiks mencoder nimelisele programmile. Mencoder programmi saamiseks gentoo all on vaja see kompileerida võtmega encode ning samuti on vajalik xvid võti.

    Näide kuidas ümber teha fail “minu_video.mpg” failiks “test.avi”

    > mencoder -ofps 20 -vf-add scale=224:176 -vf-add expand=224:176:-1:-1:1 -srate 44100 -ovc xvid -xvidencopts bitrate=500:max_bframes=0:quant_type=h263 -oac lavc minu_video.mpg -o converted/test.avi

    Nõnda ongi põhilised mured murtud ja jääb üle ainult laadida, konvertida ja nautida!


    Lihtne tulemüür

    November 27, 2007

    Rohkem endale mõeldud postitus, et oleks hea võtta kui äkki vaja (nagu täna näiteks)
    Sobib kodusele arvutile kuhu keegi ligi pääseda ei tohiks


    # kõik tühjaks
    iptables -F
    iptables -X

    # default, kõik sissetulev - viskame minema
    iptables -P INPUT DROP

    # lubame juba toimivad ühendused
    iptables -A INPUT -i eth0 -m state --state related,established -j ACCEPT

    ps. ei garanteeri mitte midagi, võibolla see ei tööta nii nagu vaja või mõeldud või leidub mõni väga lihtne võimalus sellest möödahiilimiseks
    ps2. “state” võtme ees peab olema topelt kriips, wp asendab selle sidekriipsuga