Ich verwende eine alternative Lösung zur akzeptierten Antwort. Ich bevorzuge die Verwendung lxpolkitanstelle von, policykit-1-gnomeda es für LXDE entwickelt wurde.
Dieses Problem, pkexecwenn der Authentifizierungsbildschirm nicht gestartet wird, ist sehr häufig. Als Erstes müssen Sie überprüfen, ob Sie eine grafische Policy Kit-Oberfläche (entweder lxpolkitoder policykit-1-gnome) für LXDE installiert und konfiguriert haben, da diese Pakete markiert sind, um während eines größeren Upgrades von lubuntu entfernt zu werden. Anscheinend sind beide bei der Installation der Distribution nicht enthalten.
Lösung
Installieren lxpolkit.
sudo apt-get install lxpolkit
Abmelden und Anmelden.
Set lxpolkitals Standard - Policy - Agent
Im Menü, gehen Sie zu Preferences > Default applications for LXSession(oder laufen lxsession-default-appsin einem Terminal). Gehen Sie im ersten Abschnitt "Ausführen von Anwendungen" ( Update: Standard-Apps-Manager 14.10 ist anders. Verwenden Sie die Core applicationsRegisterkarte. ) Zur Option für Polkit agentund stellen Sie sicher, dass lxpolkit ausgewählt ist.
Anstatt das Paket zu verwenden policykit-1-gnome, lxsessionwird es jetzt lxpolkitfür LXDE verwendet.

Warum Apps, die mit gestartet wurden, pkexecnicht über das LXDE-Menü ausgeführt werden
Es kommt darauf an, wie Apps im X11-System mit pkexec gestartet werden .
Die im lxpanel-Menü angezeigten Apps werden entweder in /usr/share/applications(globale Menüelemente ) oder ~/.local/share/applications(benutzerspezifisch) gespeichert und konfiguriert . Siehe LXDE Wiki - Hauptmenü
In diesen Verzeichnissen finden Sie eine .desktop-Datei für jede der in Ihrem Menü angezeigten Anwendungen. Hier ist ein Beispiel für /usr/share/applications/synaptic.desktop:
[Desktop Entry]
Name=Synaptic Package Manager
GenericName=Package Manager
Comment=Install, remove and upgrade software packages
Exec=synaptic-pkexec
Icon=synaptic
Terminal=false
Type=Application
Categories=PackageManager;GTK;System;Settings;
NotShowIn=KDE;
X-Ubuntu-Gettext-Domain=synaptic
Beachten Sie die Linie Exec=synaptic-pkexec.
Wenn keine Policy Kit-Oberfläche vorhanden ist, wird der Benutzer normalerweise in der Befehlszeile nach einem Kennwort gefragt. Da dies ein Menüpunkt ist, wird dieser im Hintergrund gestartet und es gibt keine Befehlszeile zur Eingabe des Passworts. Daher müssen Sie sicherstellen, dass Sie verwenden lxpolkit. Wenn Sie das Gnome-Polkit bevorzugen, installieren Sie das Paket, mit policykit-1-gnomedem das Anmeldemenü bei jeder Verwendung gestartet pkexecwird. Ich habe das Paket entfernt policykit-1-gnomeund die Verwendung lxpolkitfunktioniert gut für alle Anwendungen.
Alternativlösungen
Verwenden Sie gksudo anstelle von pkexec.
Sie können im Menü mit der rechten Maustaste auf Anwendungen wie synaptic klicken, auf Eigenschaften klicken und das Feld Befehl von synaptic-pkexecauf ändern gksudo synaptic. Oder kopieren Sie über die Befehlszeile die Originaldatei in das Anwendungsverzeichnis Ihres Benutzers mitsudo cp /usr/share/applications/synaptic.desktop ${HOME}/.local/share/applications/synaptic.desktop
Bearbeiten Sie dann die Zeile Exec=synaptic-pkexecund ersetzen Sie sie durchExec=gksudo synaptic
gksudos "Hauptzweck ist es, grafische Befehle auszuführen, die root benötigen, ohne einen X-Terminal-Emulator ausführen zu müssen und su direkt zu verwenden." - GKSU (1)
Und das aus gutem Grund! Siehe Grafisches Ausführen von Sudo .
Dies erfordert natürlich, dass jede Anwendung, die auf pkexec basiert, bearbeitet wird, um mit gksudo gestartet zu werden. Dies erfordert mehr Arbeit von Ihrer Seite, wenn Sie lxpanel verwenden. Einen schönen Vergleich der Sicherheits- und Benutzerfreundlichkeitsfunktionen für gksudo und PolicyKit finden Sie unter Vergleich der Berechtigungsberechtigungsfunktionen .
Schreiben Sie Ihre eigenen pkexecRichtlinien für einzelne Anwendungen
Dies ist mehr als ich tun möchte, aber es kann in einigen Situationen nützlich sein. Ich empfehle dies nicht ohne ein tiefes Verständnis für das Schreiben von PolicyKit-Aktionen .
Die Aktionen, die Ihnen über polkit zur Verfügung stehen, hängen von den von Ihnen installierten Paketen ab. Einige werden in mehreren Desktop-Umgebungen (org.freedesktop. ) Verwendet , andere sind DE-spezifisch (org.gnome. ) Und einige sind spezifisch für ein einzelnes Programm (org.archlinux.pkexec.gparted.policy). Der Befehl pkaction listet alle in / usr / share / polkit-1 / action definierten Aktionen zur schnellen Referenz auf.
Hier ist ein Beispiel, das ich nicht getestet habe, von City-busz - Mit dem Befehl 'pkexec' anstelle von 'gksu' :
ZB wenn Sie gparted als root mit ausführen möchten
$ pkexec gparted
Befehl, dann erstellen Sie eine neue Datei
/usr/share/polkit-1/actions/org.freedesktop.policykit.pkexec.policy
mit folgendem Inhalt:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC
"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
"http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
<policyconfig>
<action id="org.freedesktop.policykit.pkexec.run-gparted">
<description>Run GParted</description>
<message>Authentication is required to run GParted</message>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>no</allow_inactive>
<allow_active>auth_admin_keep</allow_active>
</defaults>
<annotate key="org.freedesktop.policykit.exec.path">/usr/sbin/gparted</annotate>
<annotate key="org.freedesktop.policykit.exec.allow_gui">TRUE</annotate>
</action>
</policyconfig>
Weitere Aktionen können derselben Datei hinzugefügt werden.
Ein Tipp an renegat bei archlinux.org für die Zusammenstellung relevanter Auszüge aus verwandten LXDE- und PolicyKit-Dokumentationen, die mich letztendlich dazu veranlassten, LXPolkit als bevorzugte Lösung zu verwenden.