
Wenn ich versuche, eine Datei mit dem Namen gedit zu öffnen, tester.php
indem ich mich als Root anmelde, wird mir Folgendes angezeigt:
[root@Feddy htdocs]# gedit tester.php
(gedit:4310): EggSMClient-WARNING **: Failed to connect to the session manager: None of the authentication protocols specified are supported
** (gedit:4310): WARNING **: Could not connect to session bus
Was ist das für eine Nachricht und warum erhalte ich sie?
NOTIZ:Ich kann die Datei mit dem gleichen Befehl öffnen
gedit tester.php
wenn ich als normaler Benutzer agiere (also nicht als Root).
Antwort1
Standardmäßig und aus Sicherheitsgründen ist der einzige Benutzer, der mit dem X-Server interagiert, der angemeldete Benutzer. Das bedeutet, dass Sie als anderer Benutzer oder in Ihrem Fall als Root keine Verbindung zum X-Server herstellen können, es sei denn, Sie haben die Standardeinstellung außer Kraft gesetzt, um anderen Benutzern/Hosts die Verbindung zum X-Server zu erlauben. Die Fehlermeldung, die Sie erhalten, bezieht sich also auf den X-Server, da sich kein anderer Benutzer damit verbinden kann. Um das Problem zu umgehen, können Sie verschiedene Korrekturen anwenden. Normalerweise gehe ich folgendermaßen vor, wenn ich eine X-App als Root ausführen muss.
- Vom normalen Benutzerterminal aus führe ich aus,
xhost +
um allen Benutzern vorübergehend Zugriff zu gewähren - Dann melde ich mich als root von einem anderen Terminal aus an und führe die X-App aus, d. h.
gedit tester.php
Um es dauerhaft zu machen (was ich nicht empfehle), bearbeiten /etc/profile
und fügen Sie die folgende Zeile hinzu:
export XAUTHORITY=/root/.Xauthority