CarPC. Programinė įranga.

Pagaliau šiaip netaip prisiverčiau aprašyti kompiuterio programinės įrangos dalį. Vėliau manau aprašysiu ir visą aparatūrinę dali.

Nuo pat linux naudojimo pradžios visada dirbau su Slackware, daugiau kaip prieš metus perėjau prie ArchLinux. Mano supratimu ji labai panaši į Slackware plius papildomai turi paketu manager’į ir labai patogų būdą paketams kurti. Todėl į šį kompiuterį buvo įdiega ArchLinux.

[mazda@mazda ~]$ uname -a
Linux mazda 2.6.26-ARCH #1 SMP PREEMPT Tue Sep 9 10:15:21 UTC 2008 i686 Intel(R) Celeron(R) CPU 215 @ 1.33GHz GenuineIntel GNU/Linux

Pats branduolys ir visos kitos programos dabar jau gali pasirodyti senokos, nes visa tai buvo instaliuota 2008m. vasara. Buvo viskas sukonfiguruota ir tikrai dabar nenoriu atnaujinti ir sulaukti krūvos problemų. O jų tikrai būtų bent jau dėl xorg’o, nes 2008m. gruodi ArchLinux kūrėjai nusprendė xorg’ą sukompiliuoti su hotplugin, dėl to įvairūs įrenginiai aptinkami “karštu” būdų, kas man nepatinka.

Rašant šį aprašymą dėl mpc klaidos atnaujinau branduolį ir dar kaikurias bibliotekas (bet pasirodo tai buvo pačio mpc klaida). Taigi dabar branduolys yra:

[mazda@mazda ~]$ uname -a
Linux mazda 2.6.28-ARCH #1 SMP PREEMPT Sun Feb 22 11:03:50 UTC 2009 i686 Intel(R) Celeron(R) CPU 215 @ 1.33GHz GenuineIntel GNU/Linux

Bylų sistema ext3. Kas pasirodo yra nelabai gerai. Visuose kompiuteriuose aš darau reiserFS, bet pagalvojau, kad čia padarysiu, kaip visi normalūs žmonės, o finale gavosi nelabai gerai. Visas reikalas tame, kad žemėlapiai (google maps) saugomi mažytėm dalelėm (tiles) to pasekoje jie užima apie 2Gb ir tai sudaro apie 3mln. PNG bylų, kurių dydis 10kB-23kB ribose. To pasekoje baigėsi inodai (nežinau kaip lietuviškai, angliškas terminas Inodes). Teko ištrinti Open Street Maps dalis (tiles), manau vistiek jei naudosiu žemėlapius tai tik Google Maps.

Grafinė aplinką pasirinkau Matchbox (http://matchbox-project.org/). Tiesa ji sena, o ypač mano naudojama pirma versija, bet ji daro tai ką reikia tai man pilnai tinka. Pradžioje buvo bandymų naudoti WindowMaker (http://www.windowmaker.info/), XFce (http://www.xfce.org/) ir netgi Gnome (http://www.gnome.org/), bet džiaugiuosi, kad atėjau į protą 🙂

Didžiulis Matchbox aplinkos pliusas, kad ji jau pritaikyta mažiems ekranams. Paleidus betkokią programą ji automatiškai padidinama per visą ekraną. Programos gali būti dvejuose būsenose: paleista (automatiškai ji per visą ekraną), išjungta (jos nėra). Jokių minimize, restore ar panašiai. Paleidus programą viršuje atsiranda mažitė juostelė, su kampe esančiu X’u (programai užverti). Man jis buvo nereikalingas, todėl paredagavau Matchbox’o temą ir padariau, kad ta juostelė būtų 1px pločio. Taigi dabar turime paleista betkokią programą kuri išsiplėčia per visą ekraną.

Nors kiek patogiasniam kompiuterio naudojamui reikalingos kelios funkcijos kaip, programos paleidimas, išjungimas. Tam aš panaudojau Matchbox panel. Panelių galima turėti keturias (kairėje, dešinėje, viršuje ar apačioje). Nusprendžiau naudoti dvi paneles dešinėje kurioje sudėsiu programu leistukus ir kairėje kur sudėsiu audio grotuvo valdymą. Paneles “paleidžiu” iš .xinitrc:

matchbox-panel --size 48 --orientation east --no-menu &
matchbox-panel --size 48 --orientation west --no-menu --id 2 &

Pačios panelės konfiguruojamos bylomis ~/.matchbox/mbdock.session ir antrai panelei ~/.matchbox/mbdock.session.2 Jos turinys atrodo maždaug taip:

mb-applet-launcher -l /home/mazda/tema/openterm.png mb-applet-xterm-wrapper.sh
mb-applet-launcher -l /home/mazda/tema/file-manager.png Thunar
mb-applet-launcher -l /home/mazda/tema/go-back.png mb-prev.sh
mb-applet-launcher -l /home/mazda/tema/go-forward.png mb-next.sh
mbinputmgr
mb-applet-launcher -l /home/mazda/tema/locale.png viking.sh
mb-applet-launcher -l /home/mazda/tema/space.png echo
mb-applet-launcher -l /home/mazda/tema/zoom-in.png viking_zoomin.sh
mb-applet-launcher -l /home/mazda/tema/zoom-out.png viking_zoomout.sh
	
mb-applet-launcher -l /home/mazda/tema/close.png wmctrl -c :ACTIVE:

Manau čia viskas labai paprasta ir intuityviai suprantama:
mb-applet-launcher -l /adresas/iki/piktogramos/paveiksliuko /adresas/iki/programos

Taigi, dabar jau galime užkrauti grafinę aplinką, kurioje turėsime dvi paneles su mygtukais. O kas bus jei pakeisiu dvi programas? Kaip man reikės tarp jų persijungti? Kaip jas reikės išjungti? Tam aš panaudojau wmctrl (http://tripie.sweb.cz/utils/wmctrl/) įrankį. Jis gali įvairia imanipuliuoti langais, juos uždaryti, sumažinti perjungti, pasiūsti kokią nors klavišų kombinaciją ar panašiai.

Aukščiau esančioje Matchbox panel konfiguracinėje byloje matosi du skriptukai mb-prev.sh ir mb-next.sh.

mb-prev.sh

#!/bin/sh
matchbox-remote -prev

mb-next.sh

#!/bin/sh
matchbox-remote -next

To pasekoje, vykdant šiuos skriptukus langai persijunginėja lyg spaudinėtumem alt+tab. Vienas langus “suka” į priekį, kitas atgal. Taigi dabar jau galime tarp paleistų programų ir persijunginėti.

Programų išjungimui skirta paskutinė Matchbox panel konfiguracijos eilutė, kurioje vykdoma komanda (nesuprantu kodėl aš nepadariau skriptuko pvz: mb-close.sh):

wmctrl -c :ACTIVE:

Ši komanda išjungia aktyvų langą.
Taigi dabar jau galima paleisti programas, tarp jų persijunginėti ir norimas išjungti 😉

Kad ekranėlis taip neskleistu šviesos, suradau juoda GTK2 temą darklooks.
Uždėjau juodą darbastalio foną:

Audio grotuvui panaudojau mpd (http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki) grotuvą, kuris veikia kaip serveris. Kairėje pusėje esantys audio valdymo mygtukai vykdo atitinkamas mpc (http://mpd.wikia.com/wiki/Client:Mpc) komandas. Mpc tai konsolinis mpd klientas, kurio pagalba labai lengva valdyti mpd grotuvą. Pvz:

mpc stop - sustabdyti grojimą
mpc play - pradėti groti
mpc prev - persijungti prie sekančios dainos

Grafinei aplinkai pasirinkau grotuvą Sonata (http://sonata.berlios.de/), bet jį naudoti labai sunku, ypač su touchscreen monitoriumi dėl smulkių eilučių ir kas man labiausiai nepatinka, kad jį paleidus jo žymeklis visada stovi ties grojaraščio pradžia, kas labai nepatogiu. Taippat grotuve nėra jokios funkcijos peršokti į šiuo metu grojamą dainą. Išbandžiau da keleta panašių grotuvų, visi jie turi šias bėdas, todėl nusprendžiau parašyti… savo. Panaudojau Lazarus (http://www.lazarus.freepascal.org/) su kuriuo parašiau paprasta ir aišku GUI. Grotuvo valdymas vyksta per ankščiau paminėtas mpc komandas. Dabar grojaraščio šriftas didelis ir įskaitomas. PAdariau didelius klavišus grojaraščio perstumimui, ir du papildomi mygtukai, vienas iš jų pradeda groti pažymėtą dainą (nes su touchscreen labai nepatogu doubleclick’inti), o antrasis skirtas peršokti į dabar grojančia dainą. Tai labai patogu, kai kurnors “nukeliauju” grojaraščiu ir noriu staigiai gryžti prie dabar gorjančio kūrinio. Kita netyčia išėjusi, beje labai naudinga funkcija, kad visas grojaraštis yra sunumeruotas. Dabar užtenka atsiminti tik “vežančių” dainų numeriukus, jį surinkus su klaviatūra ar distanciniu iškarto peršokama ties juo. Kolkas nėra paieškos pagal danos pavadinimą, bet manau pasistengsiu ir pašalinsiu šį trūkumą.
Grotuvas atrodo taip:

Video medžiagai peržiūrėti panaudojau gnome-mplayer (http://code.google.com/p/gnome-mplayer/). Pačius video pasiekti taip pat labai lengva, užtenka ekrano dešinėje pasirinkti Thunar piktogramą, o pačiam Thunar’e kairėje įdėjau shortcut’ą į video katalogą.

Navigacijai planavau naudoti Viking gps (http://sourceforge.net/projects/viking/), papildomai dar įsirašiau TangoGPS (http://www.tangogps.org/). Bet šios programos naudoja bitmap tipo žemėlapius ir realiai gali rodyti tik vietą kurioje aš esu. Viking gps skirta labiau gps trasom (tracks) tvarkyti, nei naviguoti.
Sugalvojau, kad reikia pabandyti kokia nors Winows’inę programą. Ir man pavyko paleisti iGo 2008 (http://www.navngo.com/pages/global/eng/igo_8_description). Programa buvo pritaikyta veikti su 800×480 raiškos ekranais. Dar galima internete rasti skin’ų kitoms raiškoms, bet dauguma jų yra pritaikytos visokiems mažų rezoliucijų ekranams.
Mano ekrano darbinė vieta yra 700×600 todėl sėdau vieną vakarą ir persirašiau visas xml bylas šiai raiškai. Viskas puikiai veikia.
Tiesa, norint kad programa matytu GPS imtuvą pirmiausia reikia išjungti gpsd (gaila, bet dabar jokia kita linux programa negalės naudotis gps) ir sukurti simboline nuorodą į GPS serial jungti:

cd /home/mazda/.wine/dosdevices/
ln -s /dev/ttyUSB0 com9

Dabar navigacijos programai užtenka nurodyti, kad ji naudotu devintą com jungti.
Viskas veikia kuo puikiausiai. Garsai, įspėjimai apie posūkius, greičio viršijimą ir t.t.

Bevieliui tinkui panaudojau SMC USB adapterį (SMCWUSB-G EU). Veikia puikiai. Tinklo reikalus kompiuteryje valdo network-manager (http://projects.gnome.org/NetworkManager/).

Bluetooth jungimuisi, panaudotas senas Epox USB adapteris. Tiesa šiam reikalui nusipirkau ir naują MSI StarKey2.0v2. Pastarasis veikia gerai, bet su laisvų ranku programine įranga nesiunčia garso.
Programa atliekanti laisvų rankų įrangos darba nohands (http://nohands.sourceforge.net/). Puiki ir labai paprasta programėlė.
Telefonų poravimui yra paleistas bluetooth-applet (http://live.gnome.org/GnomeBluetooth)

Trumpai apie programinę įrangą būtu tiek 🙂
Kas liečia paratūrą ir montavimo darbus (tikiuosi pradėti jau greitu metu) aprašysiu sekančiose įrašuose.
Na o pabaigai kažkiek nuotraukų:

Leave a Comment

  Wordpress Theme Protected By Wp Spam Blocker

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close