Cannot open display

Pagina: 1
Acties:

  • Stan
  • Registratie: Augustus 2002
  • Laatst online: 16-08-2024
Voor de vaste linuxgebruikers waarschijnlijk gesneden koek, maar ik kan het toch niet voor elkaar krijgen na alle Google-hits en GoT-hits:
Ik install in Ubuntu (7.04) enkele applicaties met GUI front ends maar je kunt nooit als root in X (Gnome) zitten. Ik moet die apps wel als root starten (zoals nmap > nmapfe) maar als ik dat als root uit een terminal in die X-sessie van een user doe krijg ik dus de GTK-Warning Cannot open display.
Hoe los ik dit op en start ik die progs (grafisch) als root? (ik heb al die exports enzo al geprobeerd)

  • Osiris
  • Registratie: Januari 2000
  • Niet online
"Die exports".. Bedoel je daar toevallig de "DISPLAY"-env-var mee?

Verwijderd

als user inloggen en dan sudo <eencommando> doen. Doordat je sudo voor het commando plaatst, zorg je ervoor dat dit als root uitgevoert wordt. Had je overigens ook wel zelf kunnen uitvinden ;)

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Verwijderd schreef op dinsdag 24 juli 2007 @ 16:12:
als user inloggen en dan sudo <eencommando> doen. Doordat je sudo voor het commando plaatst, zorg je ervoor dat dit als root uitgevoert wordt. Had je overigens ook wel zelf kunnen uitvinden ;)
Als je goed leest ís hij als user in X ingelogt en ís hij al root (beweert ie, neem aan met `su`).

Overigens heb ik er zelf nooit last van met gnome-terminal. Maar ik kan me herinneren dat als je vanuit een willekeurige terminal een GTK-app (of andere X-app) probeert te starten en je "DISPLAY"-env-var is (in die terminal-sessie) niet geset je idd een error krijgt.

Doe anders eens in zo'n root-terminaltje `echo ${DISPLAY}`?

  • Stan
  • Registratie: Augustus 2002
  • Laatst online: 16-08-2024
Ik bedoel inderdaad dat ik al allerlei varianten heb geprobeerd van de DISPLAY-var middels export.
r3boot heeft inderdaad niet goed gelezen en Osiris begrijpt me, want ik ben in een X-sessie van een user root (in een terminal middels su -).

Als ik die DISPLAY-var echo staat er niets in su -.
Als ik die DISPLAY-var echo staat er wel 0.0 in su.

Ik heb overigens zelf bij toeval net een 'oplossing' gevonden, dus door als su te staat en niet als su -.
Waarom kan het wel als su en niet als su -? En blijkbaar helpt die export ook niet om dat 'niets' te veranderen naar die 0.0.

[ Voor 15% gewijzigd door Stan op 24-07-2007 16:28 . Reden: Nieuws ]


  • Osiris
  • Registratie: Januari 2000
  • Niet online
Als je `su -` doet zal hij alle env-vars resetten zodat 't lijkt alsof je 'clean' als die user ingelogt bent:
su is used to become another user during a login session. Invoked
without a username, su defaults to becoming the super user. The
optional argument - may be used to provide an environment similar to
what the user would expect had the user logged in directly.
Handig hoor, zo'n man-page ;)

Oh en als je `su -` doet, dan moet 't alsnog mogelijk zijn om de DISPLAY-envvar te setten, maar met `su` werkt 't ook wel ja :)

[ Voor 11% gewijzigd door Osiris op 24-07-2007 16:30 ]


  • Stan
  • Registratie: Augustus 2002
  • Laatst online: 16-08-2024
Ja dat weet ik, maar dat is toch juist vreemd.
Su - zou moeten zijn alsof je als root vanaf het begin ingelogd bent terwijl su alleen je userstatus wijzigt, een veel 'kunstmatiger' situatie dus waarin ik zou verwachten dat het niet werkt, maar het is dus andersom... :?

  • u_nix_we_all
  • Registratie: Augustus 2002
  • Niet online
Nee juist niet.

Als je "su" gebruikt, worden niet de environment settings van root geladen, en houd je dus de settings van de user, inclusief display.
Als je "su -" doet worden wel de environment settings van root geladen en is je $DISPLAY dus niet meer ingevuld.

You don't need a parachute to go skydiving. You need a parachute to go skydiving twice.


Verwijderd

Ik heb inderdaad niet goed gelezen. Echter, dat neemt niet weg dat sudo juist bedoelt is voor dit soort dingen. su werkt ook hoor, maar sudo is volledig geintegreerd met gnome, waardoor werken met grafische apps (als root) triviaal wordt.
Pagina: 1