sux

Egy érdekes, ámde nem feltétlenül egyértelmű jelenséget tapasztaltam (Ubuntu 9.10). Persze powerusereknek biztos egyértelmű, nekem eddig nem volt az. su-val átlépve egy másik felhasználóhoz a következő hibaüzenetet dobja ha x-es programot indítana az ember fia.

A jelenség a következő:


user@machine:~$ su guest
Password:
user@machine:/home/user$ cd
user@machine:~$ gedit
No protocol specified

(gedit:15782): Gtk-WARNING **: cannot open display: :0.0
guest@machine:~$ xhost +
No protocol specified
xhost: unable to open display ":0.0"
guest@machine:~$

Egy kis keresgélés után találtam ezt: http://ubuntuforums.org/archive/index.php/t-166863.html

a medoldás a sux telepítése, és su helyett sux használata.

user@machine:~$ sux guest
Password:
guest@machine:/home/user$ gedit

(gedit:16871): EggSMClient-WARNING **: Failed to connect to the session manager: None of the authentication protocols specified are supported

GConf Error: Failed to contact configuration server; some possible causes are that you need to enable TCP/IP networking for ORBit, or you have stale NFS locks due to a system crash. See http://projects.gnome.org/gconf/ for information. (Details - 1: Failed to get connection to session: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.)

A kiemelt részre van valakinek ötlete, hogy miért keletkezik? A téma pl abszolút nem jön át.

Hozzászólások

Az

xhost +

azért nem működött, mert annak is tudnia kell kapcsolódnia az X szerverhez. Tehát a

su

előtt kell vele engedni a hozzáférést az X szerverhez, akként a felhasználóként, amelyikként tudtál X programokat indítani. Amúgy inkább "xhost +localhost", nem kell, hogy más gépről is kapcsolódni tudjanak.

A sux-ot nem kell használni, megoldható su-val is a dolog.
A lényeg, hogy az X-nek elég szigorú a jogosultságkezelése. Alapban a legtöbb disztribúción csak az felhasználó kapcsolódhat az X szerverhez aki épp be van lépve, ezt úgy lehet feloldani, hogy egy x-terminálban a BELÉPETT userként, kiadod az xhost local:localhost parancsot. Ez engedélyezi, hogy a helyi felhasználók csatlakozhassanak a helyi X szerverhez.

--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "

működik, köszönöm. Ez miben különbözik a sux-tól?
A leírást meg az elvet úgy gondolom, hogy értem: a sux továbbítja az x-re vonatkozó adatokat, az xhost pedig kapcsolódni enged.

Mind a kettő esetén, ha pl firefoxot indítok, kapok egy ilyen hibaüzenetet:


Failed to contact configuration server; some possible causes are that you need to enable TCP/IP networking for ORBit, or you have stale NFS locks due to a system crash. See http://projects.gnome.org/gconf/ for information. (Details - 1: Failed to get connection to session: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.)
...

+ előjött, hogy így indított alkalmazásnál nincs hang. Ez normális, és azt is így kell megtrükközni?

Grafikus program rootként való indítására ajánlom su helyett a sudo-t. Mivel ez utóbbi nem rootként, csak root jogosultsággal futtatja az alkalmazást, így az alkalmazás hozzáférhet minden erőforráshoz, amihez a te nevedben indított alkalmazások hozzáférhetnek. Ráadásul a saját beállításaidat fogja megkapni a program, és nem a root beállításait.

Használható még a kdesu/gksudo is, de ezek rootként futtatják az alkalmazást, csak engedélyezik az X-hez való hozzáférést.