Gedit kann nicht als root geöffnet werden


14

Wenn ich laufe, sudo gedit /path/to/some/random/fileerhalte ich die folgende Fehlermeldung

** (gedit:6262): WARNING **: Command line `dbus-launch --autolaunch=7f8731869e1c690b8205727e0000000a --binary-syntax --close-stderr' exited with non-zero exit status 1: Autolaunch error: X11 initialization failed.
Cannot open display: 
Run 'gedit --help' to see a full list of available command line options.  

Verwenden gksudohilft auch nicht, was zurückkehrt

Cannot open display: 
Run 'gedit --help' to see a full list of available command line options.  

Irgendwelche Helfer. Ich brauche diese Fähigkeit, um Dateien in Gedit als root zu öffnen.
Ich fand diese Frage mit dem gleichen Fehler, aber ohne Lösung. Kann gedit nicht mit sudo starten


BEARBEITEN
Ich habe diesen Beitrag in den Ubuntu-Foren gefunden .
Dies sind die Anweisungen:

  1. echo $ DISPLAY # du brauchst diesen Wert 3 Zeilen weiter unten
  2. sudo -i # oder "su -" für ältere Slackwares
  3. xauth merge ~ alien / .Xauthority # benutze hier deinen eigenen Benutzernamen anstelle von "alien"
  4. export DISPLAY =: 0.0 # verwende den Wert von DISPLAY, den du 3 Zeilen zuvor gesehen hast

Als ich zu Befehl 3 kam, bekam ich diesen Fehler
xauth: file /root/.Xauthority does not exist

Vielleicht kann diese neue Information mehr Licht ins Dunkel bringen.


Hast du es gksudo gedit /path/to/the/file/namestattdessen versucht ?
AzkerM

@AzkerMohamed Yah, wie meine Frage sagt, verwendet gksudooder gksugibt den gleichen Fehler zurück.
Parto

1
Scheint der gleiche Fall zu sein wie dieser askubuntu.com/questions/175611/…
user.dz

Zu diesem Zweck habe ich ein Skript erstellt: gist.github.com/wachambo/bd22e12db2d5a46dc109bd0d553733be
Alejandro Blasco

Antworten:


13

Habe endlich eine Antwort gefunden. Aus dieser Frage Kann keine Verbindung zu X Server herstellen, wenn App mit sudo ausgeführt wird, und insbesondere diese Frage Fehler beim Versuch, eine App mit sudo oder gksudo auszuführen .

Ich habe die Zeile Defaults env_keep+="DISPLAY"am Ende der visudoDatei um hinzugefügt /etc/sudoers.

Ja, mein sudo geditist zurück!

BEARBEITEN

Habe irgendwann wieder den gleichen Fehler.

Habe etwas mehr recherchiert, insbesondere diese Antwort /ubuntu//a/137584/163331 und mir wurde klar, dass ich der visudoDatei mehr Optionen hinzufügen musste . Stattdessen habe Defaults env_keep+="DISPLAY"ich diese Zeile verwendet:

Defaults env_keep="XAUTHORIZATION XAUTHORITY TZ PS2 PS1 PATH LS_COLORS KRB5CCNAME HOSTNAME HOME DISPLAY COLORS"

Warum sollte HOME zu env_keep hinzugefügt werden?
Muru

9

Das Ausführen von Anwendungen für die grafische Benutzeroberfläche als Root kann zur Beschädigung von Dateien führen, insbesondere wenn es sich bei der Anwendung für die grafische Benutzeroberfläche um einen Texteditor handelt. Außerdem gksuund gksudonicht zum Starten grafischer Anwendungen als Root in Wayland in Ubuntu geeignet. 17.10: Warum funktioniert gksu / gksudo nicht mit Wayland? und das gksu-Paket wurde aus den Ubuntu-Standardrepositorys in Ubuntu 18.04 und höher entfernt.

Nautilus Admin ( nautilus-admin ) ist eine einfache Python-Erweiterung für den Nautilus-Dateimanager, die dem Kontextmenü einige administrative Aktionen hinzufügt:

  • Als Administrator öffnen: Öffnet einen Ordner in einem neuen Nautilus-Fenster, das mit Administratorrechten (root) ausgeführt wird.
  • Als Administrator bearbeiten: Öffnet eine Datei in einem Gedit-Fenster, das mit Administratorrechten (root) ausgeführt wird.

Um Nautilus Admin in allen derzeit unterstützten Versionen von Ubuntu zu installieren, öffnen Sie das Terminal und geben Sie Folgendes ein:

sudo apt install nautilus-admin  

Während es Befehle gibt, um grafische Anwendungen als root auszuführen, wird dringend empfohlen, den Nano-Texteditor zu verwenden, der normalerweise vom Terminal aus ausgeführt wird, um Dateien als root zu bearbeiten. Der Nano-Texteditor ist in der Ubuntu-Standardinstallation enthalten.

Nano ist sehr einfach zu bedienen. Die Anweisungen zur Verwendung von Nano Editor finden Sie immer am Ende jeder Seite. Die einzigen zwei Nano-Tastaturkürzel, die Sie kennen müssen, sind für WriteOut und Exit. Drücken Sie die Tastenkombination Ctrl+ Ound anschließend, Enterum die bearbeitete Datei zu speichern. Drücken Sie die Tastenkombination Ctrl+ X, um nano zu beenden.

Wenn Sie es sich zur Gewohnheit machen, Dateien als Root richtig zu bearbeiten, verringern Sie die Möglichkeit, Fehler zu machen, deren Korrektur sehr zeitaufwendig sein kann.


1
+1 für den nanoHerausgeber. Einer der besten Editoren, den jeder einfacher bedienen kann.
AzkerM

@Karel Ich habe endlich nano benutzt, um die Änderungen vorzunehmen, aber ich brauche mein Root-Gedit zurück.
Parto

1
Dies ist ein guter Rat, aber dies ist nicht die Antwort. Linux-Leute lieben Terminal, aber eine GUI ist fantastisch für komplexe Aufgaben und hat eine bessere UX.
Azerafati

Sie können den Standardeditor des sudoeditBefehls anpassen (standardmäßig nano): Wie kann ich den Standardeditor des Befehls sudoedit in vim ändern? Das Starten von GUI-Editoren als root kann jedoch zu Problemen in Ubuntu 17.10 und höher mit wayland führen.
Karl

5

Zumindest in Ubuntu 17.10 können Sie dies tun:

gedit admin:///path/to/some/random/file

Sie werden aufgefordert, Ihr Kennwort einzugeben. Anschließend wird die Datei zur Bearbeitung als root geöffnet.


Funktioniert auch unter 18.04 ...
Elder Geek

4

Versuchen Sie für gedit Folgendes:

sudo -H env DISPLAY=:0 gedit

1
Immer den gleichen Fehler.
Parto

1

Ich versuche, alle Informationen in den anderen Antworten auf dieser Seite zusammenzufassen:

Wayland:

Die einzige Option sieht gebraucht aus nanoodervi/vim

Xorg:

Versuche dies

sudo -H env DISPLAY=:0 gedit

Wenn es funktioniert, bedeutet dies wahrscheinlich, dass Sie sudo-Konfigurationsdateien einige Optionen hinzufügen müssen

sudo visudo

Versuchen Sie, diese Zeile am Ende einzufügen

Defaults env_keep="XAUTHORIZATION XAUTHORITY TZ PS2 PS1 PATH LS_COLORS KRB5CCNAME HOSTNAME HOME DISPLAY COLORS"`

Warum sollte HOME zu env_keep hinzugefügt werden?
Muru

geditfunktioniert gut in Wayland. Bitte lesen Sie die Antwort, die ich gerade gepostet habe.
Gunnar Hjalmarsson

0

Ich hatte gerade ein ähnliches Problem. Ich benutze Debian Jessie und um gedit als root zu starten, funktionierte diese Zeile dann endlich:

sudo -H gedit
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.