sobota 20. prosince 2008

Fedora 10 - přestala fungovat automatická aktualizace systému

Už dlouho nedošlo k automatické aktualizaci vašeho linuxového systému v distribuci Fedora 10 - Cambridge? Při pokusu o spuštění automatické aktualizace (Systém -> Správa -> Aktualizovat systém) vidíte podobné okno:
a při stisku tlačítka "Obnovit" skončí tato aktualizace chybou?
failed to get a TID: A security policy in place prevents this sender from sending this message to this recipient, see message bus configuration file (rejected message had interface "org.freedesktop.PackageKit.Transaction" member "SetLocale" error name "(unset)" destination "org.freedesktop.PackageKit") (0)

Podle zprávy na RedHat fóru Package updating problem and solutions je na vině chybná aktualizace balíčku D-Bus (mezi-procesový komunikační systém), která způsobila nefunkčnost aplikace PackageKit a některých dalších aplikací. To vedlo k chybě při automatické aktualizaci balíčků. Stejná situace nastala i při použití grafických nástrojů pro aktualizaci balíčků v distribuci Fedora. Pro vyřešení problému je nutné přejít k manuální aktualizaci balíčků pomocí programu yum. Tím se zároveň bude aktualizovat balíček D-Bus, ve kterém je již výše popisovaná chyba opravena.

  1. Spusťte aplikaci "Terminál" pomocí menu Aplikace -> Systémové nástroje -> Terminál.
  2. Použijte následující příkaz pro ruční aktualizaci distribuce Fedora 10

    su -c 'yum update'
  3. Po aktualizaci systému počítač restartujte, aby došlo ke správné činnosti D-Bus.

Od této chvíle by již měla zase začít fungovat správně automatická aktualizace balíčků a váš systém zůstane nadále aktuální.

pondělí 15. prosince 2008

Firefox 3 - nastavení Google Apps Mail jako výchozí poštovní klient

Zajímavou vlastností prohlížeče Firefox 3 je možnost asociace mnoha síťových služeb s webovými aplikacemi. Například po klepnutí na elektronickou adresu se tak namísto klasického okenního poštovního klienta spustí asociovaná webová aplikace.

V prohlížeči Firefox 3 distribuovaném v české verzi je předdefinovaná možnost přiřadit protokol mailto: webové službě Gmail. Uživatelům Google Apps však chybí možnost přiřadit tento protokol k jejich mailové službě. Náprava tohoto nedostatku je poměrně jednoduchá a snadno ji zvládnete sami.
  1. V prohlížeči Firefox 3 otevřete Google Apps Mail.
  2. Do adresního řádku záložky, kde máte otevřenou tuto webovou aplikaci, vložte následující JavaScript kód:


    javascript:window.navigator.registerProtocolHandler("mailto","http://mail.google.com/a/VASEDOMENA/mail/?extsrc=mailto&url=%s","Google Apps Mail")

    Nahraďte text VASEDOMENA skutečnou adresou vaší domény na které Google Apps provozujete. Případně vyměňte protokol http za https. Stiskněte Enter.

  3. Potvrďte, že chcete přidat Google Apps Mail jako aplikaci při použití odkazu mailto:.
  4. Nyní už jenom zbývá obvyklým způsobem pomocí Nástroje -> Možnosti -> Aplikace -> mailto přiřadit službě mailto: právě přidanou položku.

neděle 30. listopadu 2008

Fedora 10 - povolení uživatele root pro přihlášení v GDM

Fedora 10 (Cambridge) - oproti předchozím verzím není povoleno přihlášení uživatele root z GDM (Gnome). Pokud se budete chtít přihlásit z GDM jako uživatel root, musíte upravit nejprve obsah souboru /etc/pam.d/gdm. Přihlašte se jako normální uživatel a potom pomocí su jako root. Nejprve si pro jistotu udělejte kopii editovaného souboru:
cp -a /etc/pam.d/gdm /etc/pam.d/gdm.orig
Nyní proveďte v souboru /etc/pam.d/gdm na řádku
auth required pam_succeed_if.so user != root quiet
změnu na
auth required pam_succeed_if.so user quiet
a soubor gdm uložte. Odlogujte se a při novém přihlášení máte možnost se přihlásit jako root přímo z GDM.


Update 23.6.2009:
Pro distribuci Fedora 11 je potřeba provést trochu víc úprav. Popsal jsem je ve svém článku Fedora 11 - povolení uživatele root pro přihlášení v GDM.

sobota 29. listopadu 2008

GtkSpell a čeština - fungovalo to vůbec někdy?

S novou linuxovou distribucí Fedora 10 (Cambridge), která vyšla 25.11.2008, jsem chtěl vyzkoušet některé novinky. Do oka mi také padl program Tomboy, který se spustí hned na začátku sezení a jeho žlutá ikona na nás svítí z panelu. Slouží pro psaní poznámek. Taková obdoba žlutých lepicích lístečků. V minulé distribuci jsem jej zavrhl a odinstaloval hned na začátku. Nefungovala kontrola pravopisu a jazyk pro kontrolu  se nedal vůbec nikde nastavit. Jakákoliv zapsaná poznámka se potom většinou skládala z červeně podtržených slov. Jediný přepínač v nastavení programu Tomboy umožňoval pouze kontrolu pravopisu úplně vypnout. V nové distribuci však ke zlepšení chování programu v tomto směru nedošlo.

Začal jsem pátrat po příčinách této chyby. Zjistil jsem, že stejným způsobem se chová i program Pidgin (dříve Gaim). Tady existuje možnost, jak kontrolu pravopisu uschopnit. Jde to pomocí zásuvného modulu (pluginu) switch spell, který je pro distribuci Fedora obsažen v rpm balíčku purple-plugin_pack-pidgin. Tento plugin je primárně určený pro přepínání jazyka kontroly pravopisu při komunikaci v jiném jazyku než je nastaven v systému.

Oba tyto programy, Tomboy i Pidgin, využívají pro kontrolu pravopisu knihovnu GtkSpell. Tato knihovna umožňuje provádět kontrolu pravopisu v GtkTextView widgetu. Ve zdroji gtkspell.c v poslední revizi 1.26 jsem našel část (řádky 496-504) týkající se rozpoznání jazyka podle environment proměnné LANG. Příkaz na řádku 499 způsobí, že nedojde ke správnému rozpoznání všech jazyků začínajících písmenem 'c' nebo 'C'. Mezi nimi je i cs_CZ - čeština. Uvedený příkaz byl původně zamýšlen jako pojistka proti špatně zadané hodnotě proměnné LANG a její následné změně v GTK-knihovnách na implicitní hodnotu 'C' (viz. hlášení při chybné hodnotě proměnné LANG: Gtk-WARNING **: Locale not supported by C library. Using the fallback 'C' locale.). Bohužel takovýto chybný zápis způsobí nesprávnou identifikaci všech jazyků začínajících písmenem 'c' a nastavení jazyka pro kontrolu pravopisu na angličtinu.

if (lang == NULL) {
    lang = g_getenv("LANG");
    if (lang) {
        if (g_strncasecmp(lang, "C", 1) == 0)
            lang = NULL;
        else if (lang[0] == 0)
            lang = NULL;
    }
}

Kontrolou ostatních revizí zdrojového kódu gtkspell.c jsem zjistil, že toto chybné rozpoznání jazyka se táhne všemi revizemi od počátku uvedení kódu. Znamená to tedy, že se při použití knihovny GtkSpell nikdy správně nerozpoznala čeština. Pokud tedy někdy diakritika v programech Tomboy nebo Pidgin, či ostatních programech založených na Gtk a kontrole pravopisu pomocí knihovny GtKSpell, fungovala, muselo to být tím, že pro kontrolu pravopisu byl použitý jiný způsob než knihovna GtkSpell.

Oprava tohoto problému je možná úpravou zdrojového kódu gtkspell.c a následným přeložením knihovny GtkSpell. Vzhledem k závislosti na balíčcích GTK+ 2 a Enchant jsem se rozhodl pro jednoduchou opravu přímého patche knihovny /usr/lib/libgtkspell.so.0.0.0 v jejím binárním formátu. Nahradil jsem znak 'C' na adrese 0x3c68 (lepší identifikaci místa najdete v článku Nefunguje kontrola pravopisu v Pidgin, Tomboy - knihovna GtkSpell) znakem 'X' pomocí vynikajícího binárního editoru Bless.

Update - 15.5.2009: Oprava již existuje od 18.2.2009, ale dosud se neprojevila mezi aktualizacemi.

čtvrtek 20. listopadu 2008

AOL končí se službou Xdrive

AOL rozeslala uživatelům služby Xdrive (5 GB on-line úložiště dat v bezplatné verzi) e-mail, kde stávající uživatele informuje o ukončení této své služby ke dni 12.1.2009. Stejná informace se objevuje i na úvodní stránce služby Xdrive. Uživatelé mají možnost si všechna svá data do 12.1. stáhnout na svůj lokální počítač, po tomto datu budou všechny uložené soubory smazány. Pro jednoduší manipulaci s daty během stahování byla přidána možnost komprimace všech souborů do jednoho zip archivu.

Jako alternativa k této zrušené službě jsou nabízeny následující možnosti:
Box.net
Carbonite
Elephant Drive
Microsoft Live SkyDrive
Mozy
Spare Backup

Vzhledem k inzerovanému brzkému zvětšení prostoru k bezplatnému uložení dat na 25 GB s nástupem Microsoft Live Wave 3 se jeví služba Microsoft Live SkyDrive jako dobrá náhrada Xdrive. Zároveň má dojít i k dalším změnám v poskytování služby, takže na konečné hodnocení si raději počkejme až po konečné aktualizaci této služby.