S přechodem na Pinďolína různě pendluju mezi Unity, GNOME Shell, i Classic, abych zjistil, co mi které prostředí může nabídnout. Tedy popravdě je to spíš o tom, které mě bude nejméně s..vadit, protože všechny ty možné výhody kompenzují jejich tvůrci notnou dávkou nevýhod, v případě GNOME Classic si tu hlavní závadu snad museli vymyslet schválně, aby lidi raději používali Unity. Nebo jiné prostředí. Nebo jinou distribuci. V případě Classicu je to bug související s pluginem Place Windows a dokáže vážně na..štvat. Bez něj budete lovit okna pod panelem i Launcherem. Ale to jsem zas začal pindat o jiných kravinách, než o kterých by měl být tento zápisek...
úterý 1. května 2012
Pořadí indikátorů v Unity panelu - Update 17:10/2.5.12
![]() |
| Původní rozmístění indikátorů - pořadí podle toho jak se jejich procesy spouštěly |
![]() |
| Upravené rozmístění indikátorů |
Pokud ještě neumíte měnit pořadí indikátorů na panelu v Unity, tak vás to naučím. Pokud to umíte, možná ještě neumíte poručit indikátoru Dropboxu, který je tak trochu parchant. I on se dá ale jednoduše zkrotit ;)
Update se týká skriptu pro přesunutí Dropboxu, na konci příspěvku.
pondělí 30. dubna 2012
Aktualizoval jsem Svátkový applet
Přepsal jsem Unity verzi z PyGtk do PyGObject, což je modul pro dynamický binding Gtk knihoven pro Python. Chtěl jsem si to vyzkoušet konečně a tak jsem začal něčím malým. Maličkým. Těch změn jsem věru nemusel udělat mnoho. Až budu přepisovat do Gtk3 SGTimer, to bude teprve maso. Samozřejmě jsem opravil nějaké chybky z minulosti, kouknout na to můžete po kliknutí na odkaz v záhlaví této stránky.
Unity a já
Nedávno mi mé Ubuntu 10.10 sdělilo, že už je zastaralé a nebude se podporovat. Není to tak dávno, co mi to samé sdělilo Ubuntu 9.04, nějak to letí. Teď tedy cyklus mého upgradování vyšel na LTS verzi, takže snad budu mít chvíli klid :)
Je to už nějaký čas, co jsem si nainstaloval Ubutntu 12.04 do VirtualBoxu a průběžně testoval jeho možnosti. Ovšem virtualizovaný zážitek není úplně to pravé, systém je pomalejší, než ve skutečnosti a protože kombinace fglrx a mého Radeonu je na prd, nefunguje mi ani fullscreen režim s 3D podporou. Testoval jsem ale i na slabém atomovém netbooku.
Před čtrnácti dny jsem si pořídil nový SSD disk a tak jsem na něj rovnou nainstaloval betaverzi Pangolina. Rovnou musím říct, že SSD je boží, aplikace startují bleskově, a co je důležité, i Unity se na něm chová daleko svižněji, než na běžném disku. Na netbooku, i virtualizované na mé domácí peci s C2D 3,8GHz bylo Unity na odstřel - s půl sekundovou prodlevou od stisku klávesy do zobrazení Dashe se to vážně nedá používat. Nicméně na slušném stroji s SSD diskem je i Dash bleskový a tak jsem se ponořil do prozkoumávání možností Unity a dám k dobru pár poznatků.
Je to už nějaký čas, co jsem si nainstaloval Ubutntu 12.04 do VirtualBoxu a průběžně testoval jeho možnosti. Ovšem virtualizovaný zážitek není úplně to pravé, systém je pomalejší, než ve skutečnosti a protože kombinace fglrx a mého Radeonu je na prd, nefunguje mi ani fullscreen režim s 3D podporou. Testoval jsem ale i na slabém atomovém netbooku.
Před čtrnácti dny jsem si pořídil nový SSD disk a tak jsem na něj rovnou nainstaloval betaverzi Pangolina. Rovnou musím říct, že SSD je boží, aplikace startují bleskově, a co je důležité, i Unity se na něm chová daleko svižněji, než na běžném disku. Na netbooku, i virtualizované na mé domácí peci s C2D 3,8GHz bylo Unity na odstřel - s půl sekundovou prodlevou od stisku klávesy do zobrazení Dashe se to vážně nedá používat. Nicméně na slušném stroji s SSD diskem je i Dash bleskový a tak jsem se ponořil do prozkoumávání možností Unity a dám k dobru pár poznatků.
sobota 7. dubna 2012
Sedy, lehy, regulární výrazy 2 - restart
Už jsem tu dal k dobru pár tzv. onelinerů využívajících sed i awk pro zpracování textu, ale vlastně jsem ze začátku tak úplně nevěděl, o čem to přesně je. Skládání komplikovanějších skriptů z jednotlivých bloků příkazů mi ze začátku lehce motalo hlavu a zjistil jsem, že nejsem sám. Tak v rámci sebevzdělávání zkusím sepsat pár poznámek o programování awk a sed, kterýmžto konáním pro sebe bezpochyby objevím mnoho nového a zároveň tím nejspíš nikomu moc nepomůžu, protože se stačí pořádně podívat do dokumentace a je jasno. Nicméně to proložím nějakým tím příkladem, kde se pokusím řešit jeden úkol oběma nástroji ...
úterý 27. března 2012
Ztracené PATA disky na řadiči JMicron a kernelu 3.2.12 a novějším
Mým hlavním systémem je stále Ubuntu 10.10 Maverick a abych si užil trochu legrace, nacpal jsem do něj kernel 3.2.12 z Ubuntu 12.04 Pinďolín. Popravdě, hlavně jsem chtěl vylepšit odezvu systému při zatížení, kterou má obstarávat věhlasný zázračný patch scheduleru a který má Ubuntu v kernelech už od verze 11.04. Nicméně se nejprve dostavila ta legrace - přestal se ozývat můj starý paralelní disk Hitachi. Kernel ho vůbec nepřipojoval. Zkusil jsem nainstalovat ještě další kernely, včetně nejnovějšího 3.3.0 a zjistil, že problém se vyskytuje od kernelu verze 3.2.12 výš.
Problém souvisí s ASPM (pozor neplést s Amatérským Sdružením Profesionálních Muzikantů :). Špatná detekce této technologie způsobovala nadměrnou spotřebu energie a protože to souviselo s nestandardním chováním postižených komponent, tak se nějakou dobu vymýšlel snesitelný patch. A ten se dostavil, což dokumentuje zpráva na rootu.
Jenže v souvislosti s tímto patchem se dostavila i špatná komunikace se staršími PCI-E řadiči JMicron při vypnutém ASPM, která způsobuje odstřihnutí PATA disků. Mám základní desku Gigabyte EP45-UD3P. Pokud 'ručně' ASPM na PCI-E zapnu, disky začnou být pro kernel opět viditelné.
sudo nano /etc/default/grub
přidat pcie_aspm=force na správné místo:
GRUB_CMDLINE_LINUX_DEFAULT="pcie_aspm=force"
a samozřejmě grub aktualizovat
sudo update-grub
Vypnuté ASPM není tou pravou příčinou, to bylo v mém případě vypnuté vždy -> `disabling ASPM on pre-1.1 PCIe device'. V tomto ohledu se tedy nic nezměnilo, a zkusím ještě popátrat, nicméně uvedené řešení funguje, žádné negativní důsledky nevidím a tak jsem spokojen. Relevantní je třeba tento odkaz:
https://lkml.org/lkml/2012/3/23/27
Update: Nakonec po zapnutí ACPI režimu v BIOSu se začal disk připojovat normálně, předtím jsem fungoval v režimu IDE emulace.
Jinak musím říct, že nový kernel běhá pěkně a vypadá to, že zázračný patch je nejspíš opravdu užitečný. No však to povídal i sám velký Linus.
Problém souvisí s ASPM (pozor neplést s Amatérským Sdružením Profesionálních Muzikantů :). Špatná detekce této technologie způsobovala nadměrnou spotřebu energie a protože to souviselo s nestandardním chováním postižených komponent, tak se nějakou dobu vymýšlel snesitelný patch. A ten se dostavil, což dokumentuje zpráva na rootu.
Jenže v souvislosti s tímto patchem se dostavila i špatná komunikace se staršími PCI-E řadiči JMicron při vypnutém ASPM, která způsobuje odstřihnutí PATA disků. Mám základní desku Gigabyte EP45-UD3P. Pokud 'ručně' ASPM na PCI-E zapnu, disky začnou být pro kernel opět viditelné.
sudo nano /etc/default/grub
přidat pcie_aspm=force na správné místo:
GRUB_CMDLINE_LINUX_DEFAULT="pcie_aspm=force"
a samozřejmě grub aktualizovat
sudo update-grub
Vypnuté ASPM není tou pravou příčinou, to bylo v mém případě vypnuté vždy -> `disabling ASPM on pre-1.1 PCIe device'. V tomto ohledu se tedy nic nezměnilo, a zkusím ještě popátrat, nicméně uvedené řešení funguje, žádné negativní důsledky nevidím a tak jsem spokojen. Relevantní je třeba tento odkaz:
https://lkml.org/lkml/2012/3/23/27
Update: Nakonec po zapnutí ACPI režimu v BIOSu se začal disk připojovat normálně, předtím jsem fungoval v režimu IDE emulace.
Jinak musím říct, že nový kernel běhá pěkně a vypadá to, že zázračný patch je nejspíš opravdu užitečný. No však to povídal i sám velký Linus.
středa 14. března 2012
OpenOffice - dokument byl zamknut bůh ví kým
Stává se mi to poslední dobou docela často nejen v OpenOffice, ale i v LibreOffice (což jistě nepřekvapí). Najednou mi to začne při otevření dokumentu hlásit, že ho nějaký neznámý hovád zamknul a nemůžu s ním vůbec nic, jen ho otevřít, případně vyrobit kopii. Stalo se i to, že se OO tvářil jako by nic, i progress bary kreslil při ukládání a pak to příště otevřu a v dokumentu poslední změny chybí! A dál se s ním nic dělat nedá. Ať už je příčina jakákoliv, tyto situace ve mě vyvolávají touhu někoho uškrtit. Ne, umlátit gumovou hadicí. Každopádně je to velmi nepřátelské gesto a uživateli se nedostane žádného vysvětlení ani řešení - soubor je zamknutý neznámým individuem a tak to zůstane na věky. Ámen. To, že soubor smažete a vytvoříte nový vám nepomůže. A proč? Protože nějaký šašek vedle vyrobí soubor s názvem toho vašeho, na začátek přidá '.~lock.' a pak ho už nesmaže. Tečka na začátku značí skrytý soubor, takže si ho jen tak nevšimnete, nicméně v Nautilu stačí stisknout Ctrl+H a objeví se. A pak ho s chutí smažete a svět zas začne vypadat lépe. Možná. Při poslední takové události mi došlo místo na systémovém disku a LibreOffice blbnul i po smazání locku, vlastně vyráběl zámky stále nové. Když jsem místo uvolnil, začalo to fungovat. Takže je dost možné, že tento bug souvisí i s tímto problémem.
No a když už jsme u toho místa na disku, po pár updatech kernelu je největším žroutem adresář /usr/src. Jeho obsah je po dokončení updatu zbytečný, ale statečně žere stovky MB.
úterý 21. února 2012
Další hrátky s okny
Již jsem tu párkrát zmínil a použil program wmctrl, který se dá do Ubuntu nainstalovat ze základních repozitářů. Součástí systémů založených na X serveru bývá již v základní instalaci pár dalších zajímavých nástrojů pro manipulaci s okny...
neděle 8. ledna 2012
Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap"
V češtině: Gtk-WARNING **: Nelze nalézt systém motivů v module_path: "pixmap".
Tuhle chybu mi vypisovaly v Ubuntu 11.10 GTK 2 aplikace při startu. Je to jen varování a na funkci rostlináře nemají vliv, ovšem vypadá to blbě, zvlášť, když to vypisuje i má aplikace. Vyřeší to následující příkaz:
Tuhle chybu mi vypisovaly v Ubuntu 11.10 GTK 2 aplikace při startu. Je to jen varování a na funkci rostlináře nemají vliv, ovšem vypadá to blbě, zvlášť, když to vypisuje i má aplikace. Vyřeší to následující příkaz:
sudo apt-get install gtk2-engines-pixbuf
pondělí 26. prosince 2011
Sedy, lehy, regulární výrazy 1
sed, awk, grep a jiné pěkné cli nástroje pro zpracování textu umožňují použití regulárních výrazů, což jsou takové masky, kterými můžete definovat řetězec, který v textu hledáte. Základy znám, ale každou chvíli objevím něco nového, co mi uniklo, protože zas tak svědomitě jsem to nestudaval. A tak bych chtěl začít seriálek, ve kterém bych si tyto objevy zapisoval.
Tak například dneska jsem se opět připletl k něčemu, co mě donutilo trochu posunout znalosti. Šlo o parsování xml dokumentu pomocí sedu a tím zajímavým je vytípnutí výrazu mezi dvěmi uvozovkami. Vzhledem k tomu, že regulární výrazy jsou od přírody žravé a tak těžko vytípnete řetězec v uvozovkách něčím jako toto: var=".*" , když je na řádku těch uvozených výrazů více, potřebujete něco lepšího. Pomohou htanaté závorky, kterými je možné definovat povolené znaky, ale pomocí znaku ^ (stříška), je možné výběr invertovat a definovat tak zakázané znaky. Proto uspějete s následujícím výrazem:
echo '<location altitude="307" latitude="50.92139" longitude="15.07974" geobase="geonames" geobaseid="3076124" />' | \
sed -n 's/ *<location .*latitude="\([^"]*\)".*/\1/p'
50.92139
sed -n 's/ *<location .*latitude="\([^"]*\)".*/\1/p'
50.92139
Pokud nevíte, kulaté, zpětným lomítkem escapované závorky definují subvýraz, na který můžete dále odkazovat pomocí výrazu \1, a pokud je takových subvýrazů více, jsou číslovány podle výskytu zleva do prava.
neděle 11. prosince 2011
Spouštěcí skript a opět Launcher
Další poznámky z mého bastlení. Občas je před spuštěním aplikace potřeba z shellu nastavit nějaké ty proměnné prostředí. Pokud nemáte pevně dané umístění aplikace, ale znáte pouze její relativní umístění vzhledem ke spouštěcímu sktiptu, může si skript tuto cestu jednoduše odvodit. Je-li ve stejném adresáři, jako aplikace, kterou spouští, může spouštěč vypadat třeba takto:
#!/bin/sh
export UBUNTU_MENUPROXY=
cd "` dirname "$0"`"
./aplikace "$@" &
export UBUNTU_MENUPROXY=
cd "` dirname "$0"`"
./aplikace "$@" &
Proměnná $0, obsahuje řetězec, kterým byl skript volán, může to být například ./Desktop/adresář/aplikace. Příkaz dirname z cesty odstraní vlastní jméno skriptu, a ponechá cestu. Ať už je cesta relativní, vztahující se k aktuálnímu pracovnímu adresáři, nebo absolutní, příkazem cd "` dirname "$0"`", změníte pracovní adresář na ten, ve kterém se nachází skript, ze kterého příkaz voláte. Absolutní cestu pak můžete získat příkazem pwd.
Následující text doplňuje můj předchozí příspěvek Quicklisty - problém se zdvojováním ikon a souvisí právě s tématem spouštěcího skriptu.
Nazvu například pythonní skript aplikace a spouštěcí skript aplikace-spouštěč. Desktopový spouštěč, umístěný v Unity Launcheru, tedy odkazuje na spuštěcí skript, který dále spustí aplikaci a sám chcípne, protože jsem aplikaci nechal spustit na pozadí příkazem &. Stane se to, že si Launcher nedokáže spojit hlavní okno aplikace se skriptem, který spustil a vytvoří pro okno novou ikonu. Tak si říkám "třeba to jen nestihne.." a přidám na konec skriptu sleep 5. Hle, není úplně hloupý, zabralo to. No jo, ale jen pokud spustím aplikaci poklepáním přímo na ikonu. Při spuštění z menu quicklistu, se ikona opět vesele zdvojuje, stejně jako jsem popsal ve výše zmíněném příspěvku. Dále tedy zařazuji základní myšlénku, že když se budou spouštěč i aplikace jmenovat stejně, bude se i proces jmenovat stejně a to by mohlo něco řešit. Samozřejmě je nemůžu mít v jednom adresáři, tak vytvořím podadresář launcher, spouštěcí skript nacpu tam a doplním příkaz pro přesun do nadřazeného adresáře:
Nazvu například pythonní skript aplikace a spouštěcí skript aplikace-spouštěč. Desktopový spouštěč, umístěný v Unity Launcheru, tedy odkazuje na spuštěcí skript, který dále spustí aplikaci a sám chcípne, protože jsem aplikaci nechal spustit na pozadí příkazem &. Stane se to, že si Launcher nedokáže spojit hlavní okno aplikace se skriptem, který spustil a vytvoří pro okno novou ikonu. Tak si říkám "třeba to jen nestihne.." a přidám na konec skriptu sleep 5. Hle, není úplně hloupý, zabralo to. No jo, ale jen pokud spustím aplikaci poklepáním přímo na ikonu. Při spuštění z menu quicklistu, se ikona opět vesele zdvojuje, stejně jako jsem popsal ve výše zmíněném příspěvku. Dále tedy zařazuji základní myšlénku, že když se budou spouštěč i aplikace jmenovat stejně, bude se i proces jmenovat stejně a to by mohlo něco řešit. Samozřejmě je nemůžu mít v jednom adresáři, tak vytvořím podadresář launcher, spouštěcí skript nacpu tam a doplním příkaz pro přesun do nadřazeného adresáře:
#!/bin/sh
export UBUNTU_MENUPROXY=
cd "` dirname "$0"`"
cd ..
./aplikace "$@" &
export UBUNTU_MENUPROXY=
cd "` dirname "$0"`"
cd ..
./aplikace "$@" &
A sláva, funguje jak má, i bez sleepu. Cairo Dock ikony také nezdvojuje, ale zase registruje pouze první instanci a další vesele ignoruje. Je to zkrátka legrace :)
Zkoušel jsem předtím operovat i s parametrem StartupWMClass, kterým můžete v desktopovém spouštěči určit třídu okna, která k němu patří, ale to v mém případě řešení nepřineslo.
středa 30. listopadu 2011
Jak se zbavit indikátoru pro přepínání uživatelů
Pokud v Ubuntu 11.10 s Unity nepoužíváte více uživatelských účtů a nezajímá vás ani účet pro hosta, není od věci uvolnit trochu místa v horním panelu a zakázat indikátor pro přepínání uživatelů. Zvláště na pidiobrazovce netbooku, kde se dá místo využít rozumněji. Stačí editovat jeden soubor:
sudo nano /etc/lightdm/lightdm.conf
přidat na konec řádek:
allow-guest=false
a restartovat LightDM (Ctrl+F1, přihlásit a spustit příkaz: sudo service lightdm restart), nebo rovnou celý systém.
pátek 25. listopadu 2011
Quicklisty - problém se zdvojováním ikon
Quicklisty v doku jsou fajn výmysl. Jak se dají tvořit popsal třeba Vojta Trefný v článku Deset tipů pro zlepšení Unity (a jeden můžete vidět i o pár řádků níž u mého předchozího článku), chybí tam však jedna podstatná věc. Alespoň v případě aktuálního Ubuntu 11.10. Nějaká moudrá hlava vymyslela, že spouštěče v home adresáři se budou chovat jinak, než ty v /usr/share/.. a tak můžete narazit na množení ikon v Unity Launcheru, pokud jen překopírujete spouštěč ze systému do home adresáře a doplníte quicklist. Spustíte aplikaci a místo aby se u ikony udělala šipečka, objeví se nová ikona kus vedle. I se šipečkou :) Ta už další okna sdružuje, ale zkrátka se distancuje od hlavního spouštěče. Pak je třeba naopak něco ubrat a oním problematickým řádkem je tento:
Takže vůbec vlastně nejde o ty quicklisty :)
čtvrtek 17. listopadu 2011
Další update uspávače pecí
Tak konečně, po skoro půlroce, dodávám další verzi nejskvělejšího linuxového časovače pro uspávání pecí a spouštění čehokoliv - Shutdown GTimer 0.3.6.
Novinek není moc, nejzásadnější je podpora quicklistů, která přenáší uložené předvolby do spouštěče v Launcheru Unity, ale podporuje je již celá řada dalších doků, včetně Cairo Docku. Ten je ale zatím nutno po přidání předvolby restartovat, aby se změna projevila, v Launcheru se aktualizuje ihned. Plánované cli rozhraní tedy zatím nabízí pouze jeden parametr v podobě jména předvolby, která se má po startu načíst. ...
sobota 5. listopadu 2011
Nautilus 3 je opravdu trochu jiný
Nedá se nic dělat, musím si zas postěžovat. Konstruktivně samozřejmě :) Nový Nautilus se chová v mnohém trochu jinak, než jeho předchůdce a rozhodně mi naboural navigaci. Pokud z nějakého důvodu použijete pro práci se soubory výchozího správce souborů GNOME, stále je efektivnější držet se klávesnice, než myši. V dvojkovém Nautilu otevřu adresář a dál se naviguji postupným psaním jména podadresáře (pokud ho znám), kam potřebuji. Nalezený adresář odentruji, tedy otevřu, a psaním pokračuji dále. Když se spletu Backspacem poslední písmeno smažu. A najednou je tu Nautilus 3 a všechno je jinak. Dobře, ne všechno, ale dost na to, aby mě to na..štvalo. Takže začnu psaním vyhledávat adresář, Enterem ho otevřu, píšu další adresář a... prdlačka. Co to kur..nik je? Vyhledávací políčko po otevření adresáře nezmizelo, jak jsem očekával, ale zůstalo i se svým obsahem a tak jsem zadáváním dalších znaků nemohl uspět. Kur..nik, říkám si, a začnu automaticky mačkat klávesu Backspace. Co to kur..nik zase je? Aha, vím, že Backspace v novém Nautilu supluje chybějící navigační ikonu "přejít k nadřazenému adresáři", ale i když jsem v textovém poli vyhledávání? Paráda, takže nemůžu mazat a když otevřu adresář, musím stisknout klávesu Escape (nebo jako retarda chvilku počkat, až to vyhledávací políčko samo zmizí), abych mohl pokračovat. Nezdá se mi to chytré. No co, vždy se dá ještě stisknout Ctrl+L a v adresním řádku nového Nautila je vše při starém. Když jsem (letmo) hledal bugy na toto téma, našel jsem pouze dřívější problémy s tím, že po otevření podadresáře nešlo už psaním vyhledávat vůbec. Nicméně i stávající chování považuji za bug, takže to případně zkusím ohlásit.
Těch drobných změn souvisejících s přechodem na GNOME 3 je víc, ventilovat bych chtěl příště přinejmenším vytváření rozšíření pro Nautilus 3 v Pythonu. Ale ještě tomu musím přijít pořádně na kloub, na stránkách gnome.org je dokumentace.. není :)
Přihlásit se k odběru:
Příspěvky (Atom)





