Gtk-WARNING **: cannot open display

10. 1. 2010 12:39 (aktualizováno) | Petr Krčmář

Určitě už jste se setkali s takto nepříjemnou a odmítavou hláškou. Jak problém pořešit aneb návod typu snadno, rychle a bez stresu.

(A hlavně pro mě, kdybych to někdy potřeboval a zapomněl.)

Možná se vám už stalo, že jste se přihlásili na vzdálenou mašinu, na které běžel X server, ale nedokázali jste na ní vzdáleně spustit nějaký GUI nástroj. Vždycky vás aplikace vyhodila s tím, že se nemůže připojit k X serveru. Hláška vypadá asi tak:

Gtk-WARNING **: cannot open display

V zásadě existují dvě různé situace. Pokud jste se přihlásili pod stejným uživatelem, pod jakým běží zmíněný X server, stačí do konzole napsat:

$ export DISPLAY=:0.0

A pak už můžete vesele spouštět aplikace, jako by se nechumelilo. Tímto příkazem jste totiž nastavili proměnnou DISPLAY, kterou využívají grafické aplikace a ukazuje jim, kde mají hledat svůj X server. Jednoduché.

Komplikovanější to bude, pokud se přihlašujete jako jiný uživatel. Obvykle vám to nebude fungovat ani v případě, že se přihlásíte jako root (pokud můžete). Pokud jste běžný uživatel (a jiný než ten, kdo spustil Xka), tak to určitě fungovat nebude.

Nejelegantnějším řešením, které znám, je instalace balíčku sux. Ten funguje jako klasické su, ale přidává také autoritu pro spouštění aplikací komunikujících s X serverem. Použití je opět jednoduché:

$ sux uživatel příkaz

Jako uživatele musíte samozřejmě uvést uživatelské jméno toho, kdo má na stroji právě puštěný X server. Příkaz sux se pak zeptá na jeho heslo. Je to pochopitelné, protože jde o ochranu X serveru. Nechceme přece, aby kdokoliv mohl námi spuštěný X server obsluhovat. No a pokud známe heslo, funguje nám to.

Pokud znáte nějakou jinou a hezkou cestu, určitě se o ní zmiňte v diskusi. Pokud bude hezčí a rozumnější, přidám ji do blogu.

Měšec.cz: Platíme NFC mobilem. Konečně to funguje!

Platíme NFC mobilem. Konečně to funguje!

Lupa.cz: Olympiáda zakázala GIFy. Moc to nepomáhá

Olympiáda zakázala GIFy. Moc to nepomáhá

Vitalia.cz: „Sjíždět“ porno není bez rizika

„Sjíždět“ porno není bez rizika

Vitalia.cz: Za její cukrovkou stojí rodiče

Za její cukrovkou stojí rodiče

Vitalia.cz: Očkování je nutné, říká homeopatka

Očkování je nutné, říká homeopatka

DigiZone.cz: Jetelín končí. Prima ho vyřadila

Jetelín končí. Prima ho vyřadila

Měšec.cz: TEST: Vyzkoušeli jsme pražské taxikáře

TEST: Vyzkoušeli jsme pražské taxikáře

Vitalia.cz: Vakcína Cervarix je oficiálně i pro chlapce

Vakcína Cervarix je oficiálně i pro chlapce

Vitalia.cz: Musí moudrák opravdu ven?

Musí moudrák opravdu ven?

Lupa.cz: Kdo vykrádá LinkedIn? Zjistit to má soud

Kdo vykrádá LinkedIn? Zjistit to má soud

Měšec.cz: Na návštěvě na exekutorském úřadě

Na návštěvě na exekutorském úřadě

Podnikatel.cz: Kauza z Vinohrad pokračuje. Policie se omlouvá

Kauza z Vinohrad pokračuje. Policie se omlouvá

Podnikatel.cz: OSA zdraží, ale taky přidá nový poplatek

OSA zdraží, ale taky přidá nový poplatek

Měšec.cz: Udali ho na nelegální software a přišla Policie

Udali ho na nelegální software a přišla Policie

Lupa.cz: Co najdete uvnitř kosmické sondy?

Co najdete uvnitř kosmické sondy?

Měšec.cz: Kurzy platebních karet: vyplatí se platit? (TEST)

Kurzy platebních karet: vyplatí se platit? (TEST)

Měšec.cz: Test: Výběry z bankomatů v cizině a kurzy

Test: Výběry z bankomatů v cizině a kurzy

Lupa.cz: Nechcete datacentrum? Jsou na prodej

Nechcete datacentrum? Jsou na prodej

Vitalia.cz: 9 potravin, které nesmí chybět v jídelníčku těhotné

9 potravin, které nesmí chybět v jídelníčku těhotné

Vitalia.cz: Ženy, které milují příliš, jsou neštěstí

Ženy, které milují příliš, jsou neštěstí