Sie sind nicht angemeldet.

1

27.05.2011, 07:56

Programme mit root-Rechten wollen nicht

Hallo zusammen,

ich habe mir gestern ein neues Gentoo (amd64) gebaut.

Erfolg: ich kann mich als User per kdm einloggen und soweit das meiste auch nutzen.

Doch nun wollte ich die root-Version von krusader starten, zwar kommt die Passwortabfrage,
aber dann passiert nichts weiter.

Starte ich krusader als root in der Konsole, kommt folgende Meldung:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
KGlobal::locale::Warning your global KLocale is being recreated with a valid main component instead of a fake component, this usually means you tried to call i18n related functions before your main component was created. You should not do that since it most likely will not work 
krusader(27533): Session bus not found 
To circumvent this problem try the following command (with Linux and bash) 
export $(dbus-launch) 

KCrash: Application 'krusader' crashing...
KCrash: Attempting to start /usr/lib64/kde4/libexec/drkonqi from kdeinit
sock_file=/root/.kde4/socket-localhost/kdeinit4__0
Warning: connect() failed: : Datei oder Verzeichnis nicht gefunden
KCrash: Attempting to start /usr/lib64/kde4/libexec/drkonqi directly
drkonqi(27534): Session bus not found 
To circumvent this problem try the following command (with Linux and bash) 
export $(dbus-launch)


Starte ich die Systemsettings als root in konsole, kommt diese Meldung:

Quellcode

1
2
3
systemsettings(27598): KUniqueApplication: Cannot find the D-Bus session server:  "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." 

systemsettings(27597): KUniqueApplication: Pipe closed unexpectedly.


Als User kann ich beide Programme ohne weiteres starten.

Ist bei root kein D-Bus-Server vorhanden oder kein Zugriff möglich?
Wie kann ich das ändern?

Danke im voraus für Hinweise oder gar Hilfe.

Gruss
Manfred

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Windhund« (27.05.2011, 20:33)


2

27.05.2011, 08:10

Wie startest du die Programme als root? Mit "kdesu"?
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>

3

27.05.2011, 08:46

Hallo dyle!

krusader root liegt in der Taskleiste als icon
und wird dort mit dem Befehl
krusader -caption "%c" %i
gestartet, aber nur bis zur Abfrage des Passwortes.

Die Systemsettings starte ich ja üblicherweise als User,
doch ich wollte die Spracheinstellungen für keyboard usw.
auch im root-Bereich vornehmen, daher in der Konsole
su
Passwort
systemsettings

Letztere sind nicht so wichtig, aber krusader als root schon.

Nun habe ich einfach mal den vorgeschlagenen Befehl (siehe im ersten Posting)
export $(dbus-launch)
angewendet.

Nun startet zwar krusader mit der Passwort-Abfrage, aber dann kommt die KDE-Absturzmeldung:
"Ausführbare Datei: krusader PID: 6463 Signal: Aborted (6)"

Klicke ich dort an: Anwendung neu starten, kommt root-Krusader auf einmal doch.

Aber das kann es ja nicht sein, wenn ein normales Programm starten möchte.

Übrigens: das passiert nur bei dieser Neuinstallation,
bei meiner bestehenden Gentoo-Version mit allen bisherigen Updates
kann ich den krusader im root-Modus einwandfrei starten.

kdesu habe ich eben auch ausprobiert, gleicher Ablauf.

Gruss
Manfred

4

27.05.2011, 10:01

Also ist es eigentlich ein Bug von krusader, hm? Mal den mit dem "debug"-USE gebaut?

Wenn du den krusader oder ein anderes KDE-Prog aus der Shell mit kdesu startest, kommen dann auch die Meldungen bzgl. des dbus?
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>

5

27.05.2011, 10:30

Wenn ich krusader mit kdesu starte, kommen folgende Zeilen - allerdings ohne D-Bus-Fehler:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
kdesu krusader
kdesu(6627)/kdesu (kdelibs) KDESu::PtyProcess::exec: [ /var/tmp/portage/kde-base/kdelibs-4.6.3-r1/work/kdelibs-4.6.3/kdesu/process.cpp : 293 ]  Running "/bin/su"
kdesu(6627)/kdesu (kdelibs) KDESu::SuProcess::ConverseSU: [ /var/tmp/portage/kde-base/kdelibs-4.6.3-r1/work/kdelibs-4.6.3/kdesu/su.cpp : 259 ]  Read line "Password: "
kdesu(6627)/kdesu (kdelibs) KDESu::PtyProcess::exec: [ /var/tmp/portage/kde-base/kdelibs-4.6.3-r1/work/kdelibs-4.6.3/kdesu/process.cpp : 293 ]  Running "/bin/su"
kdesu(6627)/kdesu (kdelibs) KDESu::SuProcess::ConverseSU: [ /var/tmp/portage/kde-base/kdelibs-4.6.3-r1/work/kdelibs-4.6.3/kdesu/su.cpp : 259 ]  Read line "Password: "
kdesu(6627)/kdesu (kdelibs) KDESu::PtyProcess::WaitSlave: [ /var/tmp/portage/kde-base/kdelibs-4.6.3-r1/work/kdelibs-4.6.3/kdesu/process.cpp : 379 ]  Child pid 6634
kdesu(6627)/kdesu (kdelibs) KDESu::SuProcess::ConverseSU: [ /var/tmp/portage/kde-base/kdelibs-4.6.3-r1/work/kdelibs-4.6.3/kdesu/su.cpp : 259 ]  Read line ""
kdesu(6627)/kdesu (kdelibs) KDESu::SuProcess::ConverseSU: [ /var/tmp/portage/kde-base/kdelibs-4.6.3-r1/work/kdelibs-4.6.3/kdesu/su.cpp : 259 ]  Read line "kdesu_stub"
kdesu(6627)/kdesu (kdelibs) KDESu::PtyProcess::exec: [ /var/tmp/portage/kde-base/kdelibs-4.6.3-r1/work/kdelibs-4.6.3/kdesu/process.cpp : 293 ]  Running "/bin/su"
kdesu(6627)/kdesu (kdelibs) KDESu::SuProcess::ConverseSU: [ /var/tmp/portage/kde-base/kdelibs-4.6.3-r1/work/kdelibs-4.6.3/kdesu/su.cpp : 259 ]  Read line "Password: "
kdesu(6627)/kdesu (kdelibs) KDESu::PtyProcess::WaitSlave: [ /var/tmp/portage/kde-base/kdelibs-4.6.3-r1/work/kdelibs-4.6.3/kdesu/process.cpp : 379 ]  Child pid 6640
kdesu(6627)/kdesu (kdelibs) KDESu::SuProcess::ConverseSU: [ /var/tmp/portage/kde-base/kdelibs-4.6.3-r1/work/kdelibs-4.6.3/kdesu/su.cpp : 259 ]  Read line ""
kdesu(6627)/kdesu (kdelibs) KDESu::SuProcess::ConverseSU: [ /var/tmp/portage/kde-base/kdelibs-4.6.3-r1/work/kdelibs-4.6.3/kdesu/su.cpp : 259 ]  Read line "kdesu_stub"


Damit wird also die Passwort-Abfrage aufgerufen, danach der KDE-Absturz.
Wie geschrieben, wenn ich die "Anwendung neu starten" anklicke,
kommt die root-Ausgabe von krusader und ich kann diesen nutzen.

debug sieht dann so aus:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
Application: Krusader – Systemverwaltungsmodus (root) (krusader), signal: Aborted
[KCrash Handler]
#6  0x00007f823e82a675 in raise () from /lib64/libc.so.6
#7  0x00007f823e82ba90 in abort () from /lib64/libc.so.6
#8  0x00007f823f401704 in qt_message_output(QtMsgType, char const*) () from /usr/lib64/qt4/libQtCore.so.4
#9  0x00007f8241a4cddd in ?? () from /usr/lib64/libkdeui.so.5
#10 0x00007f8241b54973 in ?? () from /usr/lib64/libkdeui.so.5
#11 0x00007f8241b56179 in KApplication::KApplication(bool) () from /usr/lib64/libkdeui.so.5
#12 0x000000000046c77e in ?? ()
#13 0x000000000045d5ba in ?? ()
#14 0x00007f823e816f0d in __libc_start_main () from /lib64/libc.so.6
#15 0x000000000044ebe9 in _start ()


Was das alles bedeuten soll, weiss ich im Moment auch nicht.

Gruss
Manfred

Gruss
Manfred

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Windhund« (27.05.2011, 10:39)


6

27.05.2011, 10:58

oft sind es auch die einfachen Dinge:
dbus, policykit und consolekit sind aber gestartet?
Logst du über KDM ein, oder startx?
System:
i7 P2600 @ 3,4GHz
jabber: poedel@jabber.ccc.de

7

27.05.2011, 11:17

Hallo Poedel,

bei mir starten dbus und consolekit beim Booten (liegen in runlevel/default.

selinux-policykit ist nicht installiert - warum auch immer - wenn es benötigt wird.
Aber polkit, polkit-qt, polkit-kde-agent sind installiert,
wie sie gestartet werden sollen, weiss ich nicht,
denn unter /etc/init.d liegen solche polkits nicht.

Ich logge mich über kdm ein.

Gruss
Manfred

8

27.05.2011, 11:35

ahoy Manfred..
ne blos nicht selinux!

policykit ist nur ein useflag, dass gesetzt werden sollte.
consolekit und dbus aber auch useflag. Die letzten beiden aber auch als Runscript starten.
Puh *schweiß wisch*
Sorry!
System:
i7 P2600 @ 3,4GHz
jabber: poedel@jabber.ccc.de

9

27.05.2011, 11:45

Danke für die Korrektur meiner leichtgläubigen Aussagen.

Also habe ich die vorgeschlagenen USE-Flags gesetzt und emerge -avuDN world eingegeben.

Nun werden folgende Programme re-emerged:

Quellcode

1
2
3
4
5
6
7
8
Calculating dependencies... done!
[ebuild   R   ] sys-auth/pambase-20101024  USE="consolekit* cracklib sha512 -debug -gnome-keyring -minimal -mktemp -pam_krb5 -pam_ssh -passwdqc (-selinux)" 4 kB
[ebuild   R   ] app-text/ghostscript-gpl-9.02  USE="cups dbus* -X -bindist -djvu -gtk -idn -jpeg2k" LINGUAS="-ja -ko -zh_CN -zh_TW" 0 kB
[ebuild   R   ] app-admin/system-config-printer-common-1.3.2  USE="policykit* -doc" 0 kB
[ebuild   R   ] x11-libs/qt-webkit-4.7.3  USE="dbus* exceptions jit kde (-aqua) -debug -pch" 0 kB
[ebuild   R   ] net-print/hplip-3.11.5  USE="hpcups kde policykit* qt4 -X -doc -fax -hpijs -libnotify -minimal -parport -scanner -snmp -static-ppds -udev-acl" 0 kB

Total: 5 packages (5 reinstalls), Size of downloads: 4 kB


Gruss
Manfred

10

27.05.2011, 12:10

auch sorry, schreib oft eben schnell was zwischen den Kunden *duck*
Jedenfalls ist dieses policy Zeug für die Rechtevergabe maßgeblich ausschlaggebend quasi :)

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
poedel@pcslap ~ $ ck-list-sessions 
Session1:
	unix-user = '1000'
	realname = '(null)'
	seat = 'Seat1'
	session-type = ''
	active = TRUE
	x11-display = ':0'
	x11-display-device = '/dev/tty7'
	display-device = ''
	remote-host-name = ''
	is-local = TRUE
	on-since = '2011-05-27T05:12:37.763876Z'
	login-session-id = ''

manchmal sind es mehrere Sessions, wenn man z.B. noch über tty eingeloggt ist.
Jedenfalls muß eine aktive und lokale Session dabei sein mit TRUE dahinter!
KDM und GDM starten die Oberfläche meist mit korrekter consolekit session (ck=consolekit).
Bei startx gehört da ein Eintrag in die .xinitrc
System:
i7 P2600 @ 3,4GHz
jabber: poedel@jabber.ccc.de

11

27.05.2011, 13:10

Hi

Mich wundert ein wenig das nun einige Paket neu mit den USE-Flags dbus consolekit und policykit neu gebaut werden, denn normal sind diese Flags doch schon global vom Profil her gesetzt, sofern man ein desktop oder das desktop/kde Subprofil verwendet.

Überprüfe bitte auch noch mal die empfohlenen Kernel Settings wie im Gentoo KDE 4.4 - 4.6 Upgrade Guide vorgeschlagen. Es sollte dann so ausschauen

Quellcode

1
2
3
4
$ zgrep -e CONFIG_USB_SUSPEND -e CONFIG_IDE -e CONFIG_AUDITSYSCALL /proc/config.gz 
CONFIG_AUDITSYSCALL=y
# CONFIG_IDE is not set
CONFIG_USB_SUSPEND=y

12

27.05.2011, 13:21

wenn der Josef schon von Profilen redet wäre die Kontrolle durch

Quellcode

1
eselect profile list

auch ratsam,.. (oder heißt es profiles? bin grad an Windosmöhre)
System:
i7 P2600 @ 3,4GHz
jabber: poedel@jabber.ccc.de

13

27.05.2011, 16:32

Betr.: profile

Mein Fehler: ich hatte vorher kein Profil gewählt,
jetzt habe ich es geändert und KDE (profil 4)
genommen, dann emerge -avuDN world
104 Pakete müssen neu bzw. re-emerged werden.

Danach hoffe ich, dass alles, was ich bisher hier
losgetreten habe, im Nirvana verschwindet.

Andernfalls melde ich mich wieder bzw. in jedem Falle,
um auch hier die Lösung oder das Chaos zu verkünden.

Gruss
Manfred

14

27.05.2011, 17:34

*Daumen drück*

Gruß, Klaus
System:
i7 P2600 @ 3,4GHz
jabber: poedel@jabber.ccc.de

15

27.05.2011, 20:35

Vielen Dank für eure Mithilfe!

Das Problem hat sich nun erledigt, denn krusader startet auch mit root-Rechten sofort.

So sollte es sein und nun ist es so.

Gruss
Manfred