Ist es möglich, Nautilus oder Gedit mit erhöhten Berechtigungen zu starten?

Ist es möglich, Nautilus oder Gedit mit erhöhten Berechtigungen zu starten?

Manchmal muss ich Dateien in bearbeiten . Ich weiß, dass ich das mit der Konsole ( , ) usw. /etctun 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/filesudo 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:

Bildbeschreibung hier eingeben

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ß - sudoist 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:

Bildbeschreibung hier eingeben

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 pkexecanstelle von verwenden gksudo. Meine Art, es beispielsweise mit erhöhten Rechten auszuführen, geditbesteht darin, ein Skript /usr/local/bin/su_geditmit dem folgenden Inhalt zu erstellen:

#!/bin/bash
pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY gedit $*

Anschließend können Sie .desktopbeispielsweise eine Datei für dieses Skript erstellen /usr/share/applications/su_gedit.desktop(ich habe nicht getestet, ob ein anderer Speicherort als /usr/share/applicationsfunktioniert), indem Sie den Inhalt von kopieren org.gnome.gedit.desktopund entsprechend ändern, d. h. die Zeilen Name=und Comment=nach Belieben ändern (z. B. Name=Root Text Editorund Comment=Edit text files with root privileges) und in allen Zeilen geditdurch ersetzen ./usr/local/bin/su_geditExec=

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 sudoManpage ...

 -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 -HFlag bewirkt also , dass das Home-Verzeichnis von anstelle des Home-Verzeichnisses des aktuellen Benutzers sudoangenommen wird. Andernfalls würden einige Dateien im Home-Verzeichnis von dem Root gehören, was zu verschiedenen Problemen führen kann.rootHOMEuser

Notiz: Auszug ausWas bedeutet das Flag „-H“ in „sudo -H“?

Das häufigste Problem bei der Verwendung sudoohne diese -HOption 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

verwandte Informationen