neděle 27. ledna 2013

Když v Unity po startu nefungují vlastní myší zkratky

Nastavíte si v CCSM například přechod na vedlejší pracovní plochu na otočení kolečka u levé hrany displeje, nebo náhled všech otevřených oken na kliknutí u pravé hrany displeje a ono to funguje. Jenže po dlaším restartu systému už většinou ne. Většinou také stačí ještě jednou restartovat Unity, ale rozhodně je to opruz. Někde jsem tu tento problém již před delší dobou zmínil, vyskytuje se ve všech dosavadních verzích Unity (3D). Má to i poměrně snadné řešení, ale v předchozím příspěvku Pár tweaků pro Ubuntu 12.10 Quantal jsem to nějak zapomněl přidat. Přidám to tedy nyní, když jsem na to opět narazil při hrátkách s novou instalací. ...

Problém vzniká tehdy, když je při startu Compizu zaveden plugin Unity (unityshell) až po těch, kterým jste myší zkratky nastavili, ve výchozím stavu se startuje jako poslední. Pořadí, v jakém se budou pluginy startovat, si naštěstí můžete upravit pomocí dconf-editoru a podle mých zkušeností opravdu toto problém řeší.

Postup

Spustíte:

dconf-editor

a doklikáte se ke klíči:

Ubuntu 12.04:

apps > compiz-1 > general > screen0 > options > active_plugins

V 12.04 ještě můžete určitě použít i gconf-editor, ale myslím, že s dconf-editorem to tu funguje stejně, jen rozhraní editoru je hloupější. (Každopádně ověřím zítra)

Ubuntu 12.10 a 13.04+:

org > compiz > profiles > unity > plugins > core > active-plugins

kde změníte pořadí pluginů tak, aby ty postižené byly až za unityshell.

Ale pozor: Pokud přesunutý plugin v CCSM deaktivujete a opět aktivujete, zařadí se na původní pozici, kterou mají pluginy dánu výrobcem a budete muset nastavení opět ručně změnit. To samé se pravděpodobně stane po nějakém tom updatu pluginů. To se dá ovlivnit v Nastavení (Preferences), kde v záložce Plugin List zrušíte zaškrtnutí u volby automatického řazení pluginů (Automatic plugin sorting), ale pak budete muset pluginy vždy aktivovat a deaktivovat zde, protože přestanou fungovat zaškrtávátka u pluginů v grafickém rozhraní. V tomto nastavení se dá pořadí také měnit, ale to nedoporučuji, protože posunovat se pluginy dají pouze postupně a při každém kroku se restartuje i Unity, což se podaří tak třikrát a pak zdechne na věčné časy a pomůže vám pouze konzole.

Z příkazové řádky

Pokud si budete chtít nastavení pořadí uložit a případně kdykoliv jednoduše opravit, můžete použít příkaz dconf.
Klíč přečtete příkazem:

dconf read /org/compiz/profiles/unity/plugins/core/active-plugins

a změněný klíč zpět uložíte (klíč je samozřejmě z mého nastavení):

dconf write /org/compiz/profiles/unity/plugins/core/active-plugins "['core', 'composite', 'opengl', 'compiztoolbox', 'decor', 'imgsvg', 'resize', 'snap', 'mousepoll', 'text', 'gnomecompat', 'screenshot', 'move', 'regex', 'place', 'fade', 'neg', 'imgpng', 'session', 'ezoom', 'unityshell', 'expo', 'scale', 'scaleaddon', 'wall']"


GConf, DConf, GSettings, WTF?

Minule jsem psal, že systém ukládání nastavení aplikací GConf nahradil GSettings, ale neměl jsem v tom úplně jasno. Trochu jsem přeci jen pokročil. Nový GSettings funguje jako frontend, který jako backend, jenž má na starosti vlastní data, používá dconf. Dconf funguje jako D-Bus služba a zajišťuje databázi nastavení, oproti starému GConf ale uchovává data v binární formě, místo XML. GSettings pak umožňuje nad touto databází různě čarovat a například zajišťovat přepisování klíčů podle potřeby konkrétního prostředí. V GNOME by se už na vše měl používat GSettings jako interfejs, ale v případě, který jsem tu dneska řešil, jsem narazil na to, že nastavení Compizu nemají v Ubuntu definováno tzv. Schema, které v GSettings na klíče odkazuje (a bývá velmi podobné cestě ke klíči v dconf). U nastavení GNOME aplikací se můžete na Schema podívat i v dconf-editoru v popisu klíče.
Ještě je každopádně co studovat.


Žádné komentáře:

Okomentovat

Zkuste prosím při komentováni používat místo volby Anonymní volbu Název/adresa URL, kde vyplníte nějakou přezdívku, adresu zadávat nemusíte. Vědět, které příspěvky jsou od jednoho člověka, je fajn. Díky.

Pokud by se vám náhodou odeslaný komentář na stránce nezobrazil, vytáhnu ho z koše hned jak si toho všimnu. I Google spam filter se občas sekne.