Portál AbcLinuxu, 25. dubna 2024 06:27


Dotaz: Nemůžu spustit graf. aplikaci z konzole jako root

David Watzke avatar 14.12.2005 15:53 David Watzke | skóre: 74 | blog: Blog... | Praha
Nemůžu spustit graf. aplikaci z konzole jako root
Přečteno: 614×
Odpovědět | Admin
Ahoj. Po instalaci nových Xorg7 mám zajímavej problém. Ukážu na příkladu:
# vim
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified

Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified

Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified
a pak se spustí spustí, ale
# gvim
Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified

E233: nelze otevřít displayXlib: connection to ":0.0" refused by server
Xlib: No protocol specified

Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified

Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified


Pro pokračování stiskněte ENTER nebo zadejte příkaz
Enter, a spustí se místo něj vim. Stejně tak když chci spustit třeba Konqueror, nebo při make xconfig. Když tyhle aplikace spouštím jako user, není problém. (Tedy kromě make xconfig. :-D) Nevíte někdo co s tím?
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

14.12.2005 16:36 Aleš Kapica
Rozbalit Rozbalit vše Re: Nemůžu spustit graf. aplikaci z konzole jako root
Odpovědět | | Sbalit | Link | Blokovat | Admin
Rychlé (ovšem dočasné řešení) je spustit na kozoli v X:
#xhost +local:root
David Watzke avatar 14.12.2005 16:40 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Nemůžu spustit graf. aplikaci z konzole jako root
Pomohlo, dík. Mám to přidat do local.start, nebo se to dá někde nastavit?
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
14.12.2005 16:50 #Tom
Rozbalit Rozbalit vše Re: Nemůžu spustit graf. aplikaci z konzole jako root
Počítám, že se problém objevuje po su -. Může pomoci vypusit onu pomlčku nebo nastavit DISPLAY a XAUTHORITY tak, jako byly před spuštením su.
David Watzke avatar 14.12.2005 16:55 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Nemůžu spustit graf. aplikaci z konzole jako root
Ne, Ani nevím, že jde spuštět su s pomlčkou.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
14.12.2005 17:15 Jaromír Hradílek | skóre: 29 | Brno
Rozbalit Rozbalit vše Re: Nemůžu spustit graf. aplikaci z konzole jako root
Nepomůže su -p (za předpokladu, že má su v Gentoo stejné přepínače jako v Debianu)?
David Watzke avatar 14.12.2005 16:58 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Nemůžu spustit graf. aplikaci z konzole jako root
.Xauthority mám jen v ~.
$ cat ~/.Xauthority

MIT-MAGIC-COOKIE-15�▒�ya? |CP�0MIT-MAGIC-COOKIE-15�▒�ya? |Camd640MIT-MAGIC-COOKIE-15�▒�ya? |C
No, to nevyadá moc smysluplně... Zkusím zkopírovat k rootovi.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
14.12.2005 18:12 Aleš Kapica
Rozbalit Rozbalit vše Re: Nemůžu spustit graf. aplikaci z konzole jako root

Práce v prostředí X serveru

Problém se spuštěním okení aplikace pod jiným uživatelem

Hláška:

Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified
Error: Can't open display: :0.0

Příčina:

Při pokusu o otevření okna pod jiným uživatelem došlo k odmítnutí ze strany X serveru

Řešení:

  1. pomocí xhost:
    Nejrychlejší je v prostředí X serveru kde mají být otevírány okna spouštěné aplikace zcela vypnout ověřování uživatele příkazem
    xhost +
    Bezpečnější je pustit do X vybrané uživatele, stroje a protokoly. Příklad pro lokálního uživatele:
    xhost +local:uzivatel # zpřístupní X server lokálnímu uživateli uzivatel
    xhost +si:hostname:almas # zpřístupní X server stroji, který má hodnotu parametru hostname almas
    Aby nebylo nutné pokaždé definovat tato pravidla znova, lze je zapsat do souboru s příponou .hosts který může být umístěn v
    /etc/X*.hosts
    ~/X*.hosts

  2. pomocí modulu pam_xauth.so:
    V souboru /etc/pam.d/su zadat řádek:
    session optional pam_xauth.so
    pak si může uživatel nastavit v souboru ~/.xauth/export i kterým uživatelům se má autentizační cookie exportovat.
  3. pomocí 'magického klíče':
    Import 'magického klíče' pro přístup do X spustit (použitelné pouze pro přístup roota)
    xauth -f ~user/.Xauthority extract - :0 | xauth merge -
    kde user je ten uživatel, který je do grafického prostředí přihlášen.
  4. pomocí ssh:
    #ssh -X root@localhost /cesta/k/aplikaci
    Ovšem realizovat takto spouštění aplikací na lokálním stroji je maximálně zvrhlé
Pozor na následující problém! Zadáte-li omylem na řádku xauth -display dojde ke zrušení přístupu pro stroj s doménovým názvem display

Problém se spuštěním aplikace v prostředí vzdáleného X serveru

Hláška:

xterm Xt error: Can't open display: brtnik:0.0

Příčina:

Vzdálený X server nenaslouchá na tcp portu... zrejme ma spusteny parameter -nolisten tcp

Řešení:

Zrušit tento parametr v nastavení v souborech /etc/X11/xdm/Xservers a /etc/X11/xinit/xserverrc
Nebo spustit aplikaci přes ssh tunel (viz řešení předchozího problému)
David Watzke avatar 14.12.2005 18:17 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Nemůžu spustit graf. aplikaci z konzole jako root
Díky.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
14.12.2005 22:54 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Nemůžu spustit graf. aplikaci z konzole jako root
Nechcete to rovnou přidat do FAQ, když už jste si s tím dal tu práci?
15.12.2005 16:13 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: Nemůžu spustit graf. aplikaci z konzole jako root
Je to tady - http://www.abclinuxu.cz/faq/grafika/jak spouštět X aplikace pod jiným uživatelem (rootem). Pokud si to Aleš bude chtít upravit, aby byl autorem, tak může. Ale zde by to jen zapadlo.
When your hammer is C++, everything begins to look like a thumb.
14.12.2005 16:51 ?
Rozbalit Rozbalit vše Re: Nemůžu spustit graf. aplikaci z konzole jako root
Máš nepouštět GUI programy pod rootem ;-)
David Watzke avatar 14.12.2005 16:54 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Nemůžu spustit graf. aplikaci z konzole jako root
Ale já chci. Vím, co bych měl a co ne.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
15.12.2005 09:09 neaktivni | skóre: 24 | blog: neaktivni
Rozbalit Rozbalit vše Re: Nemůžu spustit graf. aplikaci z konzole jako root
Nevztekej se "mam problem"e )))
David Watzke avatar 15.12.2005 14:08 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Nemůžu spustit graf. aplikaci z konzole jako root
Nikdy se nevztekám. Nepotřebuju radit ohledně spouštění pod rootem. Ono to má svý důvody, víš? Řešit něco tím, že to prostě nebudu dělat, to není můj styl. A je to offtopiK.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
15.12.2005 17:01 pol
Rozbalit Rozbalit vše Re: Nemůžu spustit graf. aplikaci z konzole jako root
moc hezká řešení...

Pokud použiješ su (user1) tak ho prostě potom ukonči příkazem exit

Když to neuděláš a změníš si znovu uživatele, zase pomocí su (user2), vytvoříš si smyčku a dostaneš: Xlib: connection to ":0.0" refused by server

Zdroj: google - some another discussion
David Watzke avatar 15.12.2005 17:04 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Nemůžu spustit graf. aplikaci z konzole jako root
Jenže občas (spíš pořád) se hodí víc rootshellů.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
David Watzke avatar 23.12.2005 15:50 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Nemůžu spustit graf. aplikaci z konzole jako root
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ahoj. Teď jsem se k tomu vrátil (protože restartuju počítač jednou za... dlouho). První řešení popsaný tady jsem udělal:
$ cat /etc/X.hosts
xhost +local:root
druhý taky: ten řádek už tam byl a do toho souboru jsem napsal jen 'root'. No a třetí... jako user jsem řekl:
xauth -f ~david/.Xauthority extract - :0 | xauth merge -
to bylo OK, jako user:
xauth -f ~root/.Xauthority extract - :0 | xauth merge -
xauth:  timeout in locking authority file /root/.Xauthority
xauth: (argv):1:  unable to read any entries from file "(stdin)"
jako root:
xauth -f ~root/.Xauthority extract - :0 | xauth merge -
xauth:  creating new authority file /root/.Xauthority
xauth:  error in locking authority file /root/.Xauthority
xauth: (argv):1:  unable to read any entries from file "(stdin)"
a pořád musím po startu psát xhost +local:root. Co dělám špatně? Btw, mám X.org 7.0.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
23.12.2005 19:34 © | skóre: 37 | blog: escaped
Rozbalit Rozbalit vše Re: Nemůžu spustit graf. aplikaci z konzole jako root
Odpovědět | | Sbalit | Link | Blokovat | Admin
man xhost && man sux
David Watzke avatar 1.1.2006 04:40 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Nemůžu spustit graf. aplikaci z konzole jako root
Btw, stačí se jednou přihlásit se suxem, on vytvoří u roota ~/.Xauthority a je to …
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
David Watzke avatar 1.1.2006 19:17 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Nemůžu spustit graf. aplikaci z konzole jako root
Zase moje ukvapený závěry. :-D Samozřejmě to nestačí... prostě se suxem budu přihlašovat pořád. Do uživatelskýho .bashrc stačí přidat
alias sux=su
abych na to nemusel myslet. Ještě že aliasy mají přednost. :-)
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
1.1.2006 19:43 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Nemůžu spustit graf. aplikaci z konzole jako root
Spíš obráceně. Nebo použijte pam_xauth.
David Watzke avatar 1.1.2006 19:45 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Nemůžu spustit graf. aplikaci z konzole jako root
Jj, obráceně.... měl bych u toho začít myslet. :-(
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.