
Manchmal muss ich Dateien in bearbeiten . Ich weiß, dass ich das mit der Konsole ( , ) usw. /etc
tun kann , aber ich finde diese Methode etwas umständlich. Nennen Sie mich verwöhnt, aber ich bin wirklich an GUI-Tools wie Nautilus und Gedit gewöhnt.sudo mv some/file /etc/some/file
sudo nano /etc/some/file
Distributionen wie Ubuntu Mate oder Mint machen es einfach: Ich kann mit der rechten Maustaste auf einen Ordner klicken und dann erscheint ein Kontextmenü mit Optionen wie „als Administrator öffnen". Von da an öffnet ein Doppelklick auf eine Textdatei diese in gedit mit erhöhten Rechten.
Allerdings kann ich eine solche Option in der Standard-Unity-Version von Ubuntu nicht finden:
Notiz:
- Ich kenne die FrageMöglichkeiten, Nautilus mit erhöhten Rechten auszuführen, aber die hier empfohlene Lösung ist die Verwendung von
gksudo
, was nicht mehr funktioniert. - Ich nehme an, ich kann das immer tun
sudo gedit /etc/whatever
, aber - soweit ich weiß -sudo
ist die Verwendung mit GUI-Tools äußerst unratsam. - Ich erinnere mich, dass einige sagten, es sei nicht ratsam, GUI-Tools mit erhöhten Rechten auszuführenüberhaupt. Dies scheint jedoch nicht der Fall zu sein, da einige Standard-GUI-Tools selbst nach erhöhten Rechten fragen. Ubuntu Software ist vielleicht eines der bekanntesten Beispiele:
Gibt es eine Möglichkeit, Nautilus oder Gedit mit erhöhten Berechtigungen auszuführen?
Antwort1
Sie können ganz einfach ein Rechtsklickmenü einrichten, das Ihnen das Öffnen einer Datei mit Root-Rechten ermöglicht, indem Sie ein Paket installieren nautilus-admin
. Diese Nautilus-Erweiterung fügt zwei Rechtsklickmenüoptionen hinzu. Eine davon ermöglicht Ihnen das Öffnen einer Datei als Root zum Bearbeiten in gedit. Der andere Eintrag ermöglicht Ihnen das Öffnen eines Nautilus-Fensters mit Root-Rechten.
Das Paket ist in den Standard-Ubuntu-Repositories enthalten und kann mit dem Befehl installiert werden
sudo apt install nautilus-admin
Es basiert auf dem Admin-Backend von GNOME, d. h. der Effekt ist der gleiche, als würden Sie die Datei von der Kommandozeile aus mit der admin://
URI öffnen, z. B.
gedit admin:///etc/fstab
Antwort2
Sie können pkexec
anstelle von verwenden gksudo
. Meine Art, es beispielsweise mit erhöhten Rechten auszuführen, gedit
besteht darin, ein Skript /usr/local/bin/su_gedit
mit dem folgenden Inhalt zu erstellen:
#!/bin/bash
pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY gedit $*
Anschließend können Sie .desktop
beispielsweise eine Datei für dieses Skript erstellen /usr/share/applications/su_gedit.desktop
(ich habe nicht getestet, ob ein anderer Speicherort als /usr/share/applications
funktioniert), indem Sie den Inhalt von kopieren org.gnome.gedit.desktop
und entsprechend ändern, d. h. die Zeilen Name=
und Comment=
nach Belieben ändern (z. B. Name=Root Text Editor
und Comment=Edit text files with root privileges
) und in allen Zeilen gedit
durch ersetzen ./usr/local/bin/su_gedit
Exec=
Wenn Sie dies getan haben und in Nautilus mit der rechten Maustaste auf eine Datei klicken, die normalerweise in gedit geöffnet wird, und „Mit einem anderen Programm öffnen“ auswählen, sollte Ihr Eintrag „Root Text Editor“ in der Liste angezeigt werden. Selbst wenn er nicht vorhanden ist, sollten Sie ihn auswählen können, wenn Sie auf die Schaltfläche „Alle Programme anzeigen“ klicken.
Eine andere Möglichkeit besteht darin, ein ähnliches Skript zu erstellen, das mit erhöhten Rechten ausgeführt wird gnome-terminal
, und einen Launcher für dieses Skript zu erstellen, z. B. in Ihrem GNOME-Panel oder auf dem Desktop. Von diesem Terminal aus können Sie es einfach als Root ausführen gedit
. Das mache ich normalerweise.
Antwort3
Nemo- ist der Standard-Dateimanager, der mit Cinnamon Desktop ausgeliefert wird. Nemo ermöglicht IhnenRechtsklickirgendwo in einem bestimmten Verzeichnis und "Als Root öffnen."
Anschließend öffnet sich ein zweites Fenster mit einem blauen Banner „Erhöhte Berechtigungen“.
Hoffe das hilft!
Notiz - (Es hört sich so an, als ob Sie Nautilus weiterhin verwenden möchten. Ignorieren Sie diesen Rat also, wenn Sie nicht zu einem anderen Dateimanager wechseln möchten.)
Antwort4
Aus den Kommentaren...
Derrichtigund der einfachste Weg, GUI-Anwendungen mit Berechtigungen von der CLI aus zu starten, ist die Verwendung von sudo -H
.
Beispiel:sudo -H gedit /etc/filename
Aus der sudo
Manpage ...
-H, --set-home
Request that the security policy set the HOME environment
variable to the home directory specified by the target
user's password database entry. Depending on the policy,
this may be the default behavior.
Das -H
Flag bewirkt also , dass das Home-Verzeichnis von anstelle des Home-Verzeichnisses des aktuellen Benutzers sudo
angenommen wird. Andernfalls würden einige Dateien im Home-Verzeichnis von dem Root gehören, was zu verschiedenen Problemen führen kann.root
HOME
user
Notiz: Auszug ausWas bedeutet das Flag „-H“ in „sudo -H“?
Das häufigste Problem bei der Verwendung sudo
ohne diese -H
Option ist die Entstehung einer Anmeldeschleife.
Dies kann auftreten, weil die folgenden Dateien von Ihr_Benutzername:Ihr_Benutzername in root:root geändert werden …
-rw------- 1 your_username your_username 407910 Nov 2 08:56 .ICEauthority
-rw------- 1 your_username your_username 58 Jun 23 2017 .Xauthority