Ich habe Ubuntu 17.10 installiert. Jetzt habe ich Probleme mit gksu
:
$ gksu -dg synaptic
No ask_pass set, using default!
xauth: /tmp/libgksu-HgUjgQ/.Xauthority
STARTUP_ID: gksu/synaptic/8760-0-alex-XPS-15-9530_TIME4974977
cmd[0]: /usr/bin/sudo
cmd[1]: -H
cmd[2]: -S
cmd[3]: -p
cmd[4]: GNOME_SUDO_PASS
cmd[5]: -u
cmd[6]: root
cmd[7]: --
cmd[8]: synaptic
buffer: -GNOME_SUDO_PASS-
brute force GNOME_SUDO_PASS ended...
Yeah, we're in...
Unable to init server: Could not connect: Connection refused
(synaptic:8767): Gtk-WARNING **: cannot open display: :1
xauth: /tmp/libgksu-HgUjgQ/.Xauthority
xauth_env: (null)
dir: /tmp/libgksu-HgUjgQ
Wenn ich nicht benutze -g
, ist der Passwortdialog deaktiviert. Es sieht also nach einem Problem beim Erstellen eines tty für root aus.
Irgendein Rat?
gksudo
funktioniert in einer Wayland-Sitzung nicht , Sie können zu einer Xorg-Sitzung wechseln und es versuchen.gksu -dg synaptic
Das solltest du sowieso nie tun.Antworten:
Beachten Sie, dass diese Antwort nur für Ubuntu-Versionen gilt, die Wayland verwenden. 17.10 ist die erste Version, die Wayland standardmäßig verwendet.
Es ist ein Feature, kein Bug! Es ist ein Konstruktionsmerkmal von Wayland, dass Sie grafische Anwendungen nicht als Root vom Terminal aus starten können.
Die Hauptgespräche finden natürlich auf den Fedora-Seiten statt. Siehe Fedora-Fehler # 1274451 und Grafikanwendungen können auf Ask Fedora nicht als Root in Wayland ausgeführt werden (z. B. gedit, beesu, gparted, nautilus) . Es gibt aber auch Diskussionen über die Ubuntu-Sites ( Ubuntu-Entwickler sind sich nicht sicher, ob Wayland in 17.10 - OMG! Ubuntu standardmäßig verwendet wird ).
Ubuntu-Fehlerbericht: pkexec'ed-Anwendungen können in der Wayland-Sitzung nicht gestartet werden
Mögliche Problemumgehung - Wenn Sie Systemdateien mit einem grafischen Editor (z. B. gedit) bearbeiten, verwenden Sie ein Befehlszeilentool wie z. B.
nano
odervim
oderemacs
.nano
ist in der Regel einfacher für neue Benutzer,vim
ist leistungsfähiger und verfügt über mehr Funktionen, siehe dieses Vim-Tutorial oder ähnliches.Wenn Sie grafische Apps wirklich als Root ausführen möchten oder müssen , müssen Sie zunächst festlegen,
xhost
dass ein Fallback auf Xserver erzwungen wird.So legen Sie die ausgeführten Berechtigungen fest:
Wenn Sie fertig sind, entfernen Sie die Berechtigungen
Sie können eine grafische / Desktop-Option hinzufügen, um dies gemäß diesem synaptischen Fehlerbericht zu tun
Sie könnten diesen xhost-Befehl zu .bashrc hinzufügen, aber ich würde ein Paar Aliase empfehlen
Sie können die Aliase beliebig benennen.
Für Details siehe:
Wechseln Sie zurück zu Xorg
Wenn Sie Xorg aus irgendeinem Grund bevorzugen, können Sie auswählen, dass es beim Anmelden auf Xorg ausgeführt wird
Siehe Wie wechselt man in Ubuntu 17.10 von Wayland zurück zu Xorg?
quelle
xhost +local:
Lösungen
In Wayland ist es oft schwierig, GUI-Anwendungsprogramme mit erhöhten Berechtigungen (sudo -H, gksu ...) auszuführen. Es ist eine gute Idee, solche Aufgaben mit Befehlszeilentools auszuführen.
Es gibt jedoch Problemumgehungen, wenn Sie über ein GUI-Tool verfügen, das für Sie gut funktioniert und erhöhte Berechtigungen benötigt. (Ich verwende zwei solche Standardtools: den Synaptic Package Manager
synaptic
und das Partitionierungstool Gpartedgparted
. Ich verwende MakeUSB auch zum Erstellen von USB-Boot-Laufwerkenmkusb
, aber es kann die Teile ausführen, für die erhöhte Berechtigungen ohne Grafiken erforderlich sind.)xhost
undsudo -H
Es gibt eine Problemumgehung, um grafische Anwendungsprogramme zuzulassen, die anderen Benutzern als dem in Wayland angemeldeten Benutzer gehören.
gksu
undgksudo
sind nicht mit Standard Ubuntu gebündelt und funktionieren hier nicht, aber sie funktionieren in Xorg.Stattdessen können Sie verwenden
Es ist eine gute Idee, grafische Anwendungsprogramme zu verhindern, die anderen Benutzern als dem angemeldeten Benutzer gehören.
gvfs admin backend
In Ubuntu 17.10 (gvfs> = 1.29.4) können Sie das gvfs-Admin-Backend verwenden. Beachten Sie, dass Sie den vollständigen Pfad benötigen,
Theoretisch ist die Backend-Methode gvfs admin (die polkit verwendet) besser und sicherer (als
xhost
undxudo -H
), unabhängig von der von Ihnen verwendeten Benutzeroberfläche.Sie führen nicht die gesamte Anwendung als Root aus. Die Eskalation von Berechtigungen erfolgt nur, wenn dies unbedingt erforderlich ist. Siehe den folgenden Link und Links von ihm,
sisco311s Antwort im Ubuntu Forums-Thread 'Welche bewährte Methode für die Verwendung von gedit als root?'
Dies ist Post # 4. Siehe auch Beitrag Nr. 6 im selben Thread.
nautilus-admin
Es ist auch möglich,
nautilus-admin
für Dateioperationen mit erhöhten Berechtigungen undgedit
mit erhöhten Berechtigungen zu verwenden. Dies wird in der folgenden AskUbuntu-Antwort beschrieben:Temporärer Zugriff für Root auf den Wayland-Desktop über die Funktion
gks
Bitte vermeiden Sie
sudo GUI-program
. Dies kann dazu führen, dass das System die Konfigurationsdateien für Ihre reguläre Benutzer-ID mit der Konfiguration überschreibtroot
und den Besitz und die Berechtigungenroot
festlegt, um Ihre reguläre Benutzer-ID anzupassen und zu sperren. Sie sollten GUI - Anwendungen mit laufensudo -H
, das schreibt die Konfigurationsdateien inroot
‚s Home - Verzeichnis/root
. Beispiel:Es besteht jedoch die Gefahr, dass Sie es vergessen
-H
. Stattdessen können Sie beispielsweise eine Funktion erstellengks
und bewahren Sie es in der
~/.bashrc
Nähe der Aliase auf. Dann kannst du rennenauf ähnliche Weise wie
gksudo
zuvor.Testen
Sie können prüfen , wie
sudo
,sudo -H
und diegks
Arbeit mit den folgenden Befehlenund natürlich
gemäß dem Beispiel im vorherigen Abschnitt.
Methode, die über das Menü Alt-F2 und Gnome Shell funktioniert
Anstatt eine einfache einzeilige Funktion hinzuzufügen
~/.bashrc
, können Sie ein System erstellen, das auch ohne Bash funktioniert. Die Verwendung mag bequem sein, die Einrichtung ist jedoch komplizierter. Bitte beachten Sie, dass Sie nur eine der Alternativen installieren sollten, da die Einzeilenfunktion dieses kompliziertere System stört.Drei Dateien
Das Muschelskript
gks
:Die Desktop-Datei
gks.desktop
:Die Symboldatei
gks.svg
sieht folgendermaßen aus:Sie können die Symboldatei oder einen Tarball mit allen drei Dateien über diesen Link herunterladen.
wiki.ubuntu.com/Wayland/gks
Kopieren Sie die [extrahierten oder kopierten & eingefügten] Dateien an die folgenden Speicherorte.
Abmelden / Anmelden oder Neustarten, und es sollte ein funktionierendes Desktopsymbol vorhanden sein. Es funktioniert von einem Terminalfenster aus wie bei der einfachen Lösung mit der Funktion.
Alt F2 Box:
Gnome Shell Menü:
gks Konsole und gparted:
Benutzerdefiniertes Skript und Desktop-Datei
Wenn Sie nur über wenige GUI-Anwendungen verfügen, für die erhöhte Berechtigungen erforderlich sind, können Sie benutzerdefinierte Skripts und Desktop-Dateien erstellen und die Eingabe des Befehls (Anwendungsname) vermeiden. Sie würden nur das Passwort eingeben, was im Vergleich zu den Vorgängerversionen von Ubuntu nicht schwieriger ist (Sie sollten das Passwort trotzdem eingeben).
Beispiel mit dem einfachen GUI-Programm
xlogo
, das mit dem Programmpaket geliefert wirdx11-apps
:Das Shellscript
gkslogo
(vereinfacht gegenübergks
),Die Desktop-Datei
gkslogo.desktop
:Ich war faul und habe die gleiche Symboldatei verwendet
gks.svg
Kopieren Sie die [kopierten & eingefügten] Dateien an die folgenden Speicherorte,
gks [logo] console und xlogo:
quelle
/etc/xdg/autostart/xhost.destop
auch vorgeschlagen), da die ursprüngliche Umgebung wiederhergestellt wird? Und können wir sichersudo -H
mitgksu
im Alias ersetzen , um Einfügen in .desktop-Dateien usw. zu verwenden?sudo -H
mitgksu
in der Funktion ersetzen , es funktioniert möglicherweise besser für Ihre Anwendungen.gks
Abkürzung hatte ich das Setupgsu
, um Policy Kits (die neue Zukunft für16.04
) fürgedit
und zu verwendennautilus
. Wenn 18.04 rauskommt, werde ich wohl nur dasxhost +si...
Wrapper-Skript nennen,gksu
das ich nie aus Paketen installieren werde, die mit beginnen18.04
.sudo -E gedit
. Derzeit ist ein Fehlergdm
aufgetreten, bei dem der Xwayland X11-Kompatibilitätsserver so konfiguriert wird, dass XAUTHORITY nicht unterstützt wird. Dies ist erforderlich, damit X11-Anwendungen als Root ausgeführt werden können. Native Wayland-Anwendungen, die als Root ausgeführt werden, funktionieren einwandfrei.Überprüfen Sie besser zuerst, ob wayland wirklich läuft, bevor Sie root right erteilen
quelle
Wenn Sie Ubuntu 17.04 oder höher verwenden, wird empfohlen, das gvfs-Admin-Backend zu verwenden . Fügen Sie einfach Admin: // an der Vorderseite des vollständigen Dateipfad Sie in einer App wie das öffnen möchten Texteditor oder den Dateien Apps .
Öffnen Sie beispielsweise, um die Starteinstellungen zu ändern
Diese Methode verwendet PolicyKit und funktioniert weiterhin mit dem Wayland-Standard von Ubuntu 17.10, während sudo und gksu für GUI-Apps dies nicht tun.
quelle
gedit admin:
), sehr seltsam mit Nautilus (fast nutzlos) und völlig fehlgeschlagen mit synaptic . Irgendwelche Ideen?admin:///etc/
Für Anwendungen, die su-to-root und pkexec verwenden, können Sie diesen Code auf eigenes Risiko hinzufügen
/etc/xdg/autostart
(siehe meinen Kommentar im Launchpad ):Andere Root-Anwendungen sind auch auf Wayland fehlerhaft (siehe Fehler 1713313 und Fehler 1713311 ).
Wenn Sie keine dauerhafte Lösung wünschen, können Sie die @ ravery-Methode verwenden:
quelle
Wenn eine Anwendung die Wayland-API unterstützt, können Sie sie mit dem
sudo -EH application
Befehl root ausführen .Der Schalter -E weist sudo an, die Umgebungsvariablen (sowie WAYLAND_SOCKET und XDG_RUNTIME_DIR) beizubehalten, die für Wayland-Anwendungen erforderlich sind. Es ist immer besser, diese Option gegenüber bösen xhost-Hacks zu verwenden, die in anderen Antworten vorgeschlagen wurden. Mit xhost kann die Anwendung unter einem X-Wrapper ausgeführt werden, der weniger sicher ist als die Verwendung von Wayland (freigegebene Zwischenablage, Keylogging usw.). Der sudo -EH-Trick funktioniert nicht mit einer Anwendung, die nicht für wayland umgeschrieben wurde, wie z. B. gparted, sondern mit gedit usw.
quelle
Eigentlich funktioniert fast der folgende Code:
(Bitte entschuldigen Sie den naiven Stil der Bash-Codierung. Ich bin eine Art Neuling in diesem Thema.) T funktioniert mit Alt-F2 nicht stabil, wenn die letzte Auswahl kein Terminal war; In diesem Fall können wir den Fokus nicht auf den Passwortdialog setzen. Wie auch immer <1. Es ist keine 100% ige Lösung. 2. Es scheint mir, dass Ubuntu-Architekten der Meinung sind, dass wir keine Arbeit suchen sollen.
quelle
"$@"
(anstatt"$1" "$2" ...
).