WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Linux, UNIX, Open Source (http://www.wcm.at/forum/forumdisplay.php?f=13)
-   -   X-Programme aus Konsolen-Fenster starten (http://www.wcm.at/forum/showthread.php?t=91216)

1st Baseman 14.03.2003 22:52

X-Programme aus Konsolen-Fenster starten
 
Hi wieder mal! :)

Mit Mandrake, KDE 3.0 konnte ich, zB xemacs aus einem Shell-Fenster heraus starten (die X-Variante, nicht die Konsolen-Variante).

Unter Debian Woody, KDE 3.1, startet, wenn ich im Shell-Fenster "xemacs" eingebe, automatisch der textbasierte xemacs IM Konsolenfenster. Wenn ich zB kedit starten will, erscheint die Meldung "Cannot connect to X server", bei kate "ERROR: KUniqueApplication: Can't determine DISPLAY. Aborting." usw.

Ich fand es immer recht praktisch, sich im Shellfenster mit "su -l" als root einzuloggen und dann diverse X Programme zu starten, die eine root-Berechtigung erfordern...

FIREwaLKER 14.03.2003 23:23

X als ROOT
 
Das Problem ist, daß X schon als root laufen muss. Wenn du im KDE als normaler User eingeloggt bist versuch mal den Befehl:

kdesu -- xterm -bg LightGoldenRod -fn 9x15 -wf -ls -vb +sb -T root

Der startet ein xterminal als root, daraus kannst du dann die anderen Programme, die su und X benötigen starten.

Wenn nicht, hab ich wohl das Thema verfehlt ;)

santi 14.03.2003 23:31

Hi Baseman,
ich wußte schon vorher das irgendwann diese Frage kommen wird :)

Alle Debianer müßen den gleichen steinigen Weg gehen :D

Unter KDE ist es am einfachsten wenn Du mit kdesu arbeitest, zB. "kdesu kedit"

Links zum Thema:
http://www.gnulinux.de/modules.php?n...article&sid=54
http://wwww.hummingbird.com/support/...ed/xprdis.html

Gruß
santi

1st Baseman 14.03.2003 23:32

@Firewalker:
Ich weiß zwar nicht warum und wie :confused: aber das funktioniert! :D

...aber das Gold is schiach! ;)

@santi:
Also wenn ich im Panel auf das Shell-Symbol klicke und dann im Shell-Fenster zB "kdesu kedit" eingebe, erhalte ich trotzdem die Meldung:

myhouse:/# kdesu kedit
kdesu: cannot connect to X server

FIREwaLKER 14.03.2003 23:47

@santi

Es ist auch unter SuSE 8.1 so!
:D :D

santi 15.03.2003 00:21

Hi Leute,
also bei mir klappt es mit kdesu :confused:

Schaut mal ob es was bringt sich mit su in der Shell anzumelden und dann als Root "DISPLAY=:0.0; export DISPLAY" einzugeben.

FIREwaLKER,
gibt es unter SuSE dafür nicht auch den Befehl sux? :D :D

Gruß
santi

1st Baseman 15.03.2003 00:33

Hmmm...es schaut folgendermaßen aus:

Als normaler User kann ich aus dem Shell-Fenster auch X-Programme aufmachen - mit Hilfe von "kdesu" auch mit root-Rechten.

Wenn ich aber im Shell-Fenster "su -" eingebe, kann ich dann (als Root) keine X-Programme mehr aufrufen. Wenn ich mich mit "exit" als root wieder auslogge, geht's wieder!
:confused:

santi 15.03.2003 00:48

Hi,
wenn Du mit kdesu auf der Shell X-Programme mit Root-Rechten aufmachen kannst passt doch eh alles, oder?

Root mag zwar im System ein kleiner Gott sein aber ein kleines X-Fenster das einem User gehört stutzt ihn wieder auf Normalgröße zurück. Das ist kein Bug sondern ein Sicherheitsfeature von Debian :D

Wie man das umstellen kann steht in meinem ersten Link aber was soll das viel bringen wenn kdesu eh funktioniert?

Gruß
santi

1st Baseman 15.03.2003 01:06

Zitat:

Wie man das umstellen kann steht in meinem ersten Link aber was soll das viel bringen wenn kdesu eh funktioniert?
Stimmt - als ich den Thread erstellte, war mir auch nicht bewußt, daß, das Problem nur auftritt, wenn ich als su eingeloggt bin... ;)

Lotussteve 15.03.2003 15:59

Zitat:

Original geschrieben von 1st Baseman
wenn ich als su eingeloggt bin... ;)
Hallo!

Nur zur Info: su bedeutet switch user und nicht super user ;)

Meine Lösung:

su -c 'programmname' (user)

Dann bleibt die X-Auth des ursprünglichen Users erhalten, das Programm läuft aber mit den Rechten von "user", wenn leer gelassen mit rootrechten.


HTH,

Ciao,

Steve

santi 16.03.2003 01:31

Hi Steve,
kann es sein das Gnome und KDE die X - Autofizierung unterschiedlich handhaben?

Unter Gnome klappt es aber KDE erlaubt keinen Zugriff:

santi@Laptop:~$ su -c kedit
Password:
Xlib: connection to ":0.0" refused by server
Xlib: Client is not authorized to connect to Server
kedit: cannot connect to X server :0.0
santi@Laptop:~$

Habe mich jetzt etwas in das Thema eingelesen ( zcat /usr/share/doc/xfree86-common/FAQ.gz | pager ).
Ich kann zwar kdesu verwenden aber am Besten würde mir eine universale, desktopunabhängige Lösung gefallen.
Vielleicht kann einer unser Programmierer ein kleines Skript schreiben das die Befehle "su" und "export XAUTHORITY=/home/user/.Xauthority" in einem neuen Befehl kombiniert. Dann könnte man mit einem einfachen " sur 'programmname' " (sur=switch user root :) ) Programme schnell als Root starten.

Gruß
santi

Lotussteve 16.03.2003 23:33

Zitat:

Original geschrieben von santi
1.)kann es sein das Gnome und KDE die X - Autofizierung unterschiedlich handhaben?

2.) santi@Laptop:~$ su -c kedit

3.) Xlib: connection to ":0.0" refused by server
Xlib: Client is not authorized to connect to Server
kedit: cannot connect to X server :0.0
santi@Laptop:~$

4.) Vielleicht kann einer unser Programmierer ein kleines Skript schreiben das die Befehle "su" und "export XAUTHORITY=/home/user/.Xauthority" in einem neuen Befehl kombiniert. Dann könnte man mit einem einfachen " sur 'programmname' " (sur=switch user root :) ) Programme schnell als Root starten.

Hallo!

ad 1.) Puh, ich hab einmal KDE 1.1 angeschaut vor ewigen Zeiten, seither nimma....

ad 2.) hast du das geschrieben oder mit den ' ' ?

ad 3.) Naja, die Xlib arbeitet ja eigentlich unabhängig ob GNOME oder KDE....IMHO

ad 4.) Ich denke es macht schon Sinn wenn man nicht mit fremden Xauthorithies rumwerkt ;) .


Ciao,

Steve

santi 17.03.2003 00:17

Hi Steve!
Bin mir nicht ganz sicher ob ich Dich wegen Pkt. 2 richtig verstanden habe.

Jedenfalls führt die Eingabe von su -c kedit oder su -c 'kedit' oder su -c "kedit" unter KDE immer zum gleichen Ergebnis.

Dieses restriktive Verhalten des su Befehls ist mir erst unter Debian aufgefallen. Bei SuSE kann ich mich nicht mehr erinnern aber bei RH oder MDK genügt ein einfaches su kedit um das Programm mit Root-Rechten zu starten.

Gruß
santi


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag