Ich habe eine Neuinstallation von Lubuntu 12.04 mit minimalem Desktop durchgeführt, wie hier beschrieben .
Zur Verdeutlichung habe ich eine Befehlszeileninstallation von der alternativen Lubuntu-Installations-CD durchgeführt und dann eine apt-get install --no-install-recommends lubuntu-desktop
.
Alles funktioniert einwandfrei, außer dass Synaptic nicht über den Menüeintrag im Bedienfeld ausgeführt wird. Ich werde nicht zur Eingabe eines Passworts aufgefordert und nach dem Klicken auf den Menüeintrag wird kein Fenster angezeigt. Ich habe lxshortcut installiert, um zu sehen, welche Verknüpfung ausgeführt wurde, und der Befehl lautet synaptic-pkexec
. Wenn ich diesen Befehl in das Menü "Ausführen" eingebe, erhalte ich das gleiche Verhalten (oder das Fehlen davon).
Ich kann Synaptic dazu bringen, sich ganz gut zu öffnen, indem ich im gksudo synaptic
Menü "Ausführen" tippe. Wenn ich "synaptic-pkexec" vom Terminal aus ausführe, werde ich im Terminal zur Eingabe meines Kennworts aufgefordert und danach wird Synaptic normal geöffnet.
Kann jemand bitte den richtigen Weg vorschlagen, um Synaptic zum Laufen zu bringen? Ich könnte den Menüeintrag einfach in "gksudo synaptic" ändern, aber ich vermute, dass er synaptic-pkexec
aus einem bestimmten Grund eingestellt ist. Ich habe ein vages Verständnis dafür, dass dieses pkexec
Geschäft etwas mit PolicyKit zu tun hat, aber ich weiß nicht wirklich, was PolicyKit ist oder wie ich feststellen kann, ob etwas damit nicht stimmt.
Antworten:
Es stellte sich heraus, dass ich das
policykit-1-gnome
Paket installieren musste . Nachdem ich dieses Paket installiert und neu gestartet hatte, funktionierte Synaptic normal.Ich habe den gesamten Lubuntu-Desktop zum Vergleich mit meiner minimalen Installation in einer VM installiert und so festgestellt, was fehlte. Laut Paketbeschreibung:
Ohne die beschriebene Funktionalität würde ich natürlich nie eine GUI-Authentifizierungsaufforderung zum Öffnen von Synaptic erhalten.
synaptic
ist eine Abhängigkeit deslubuntu-desktop
Metapakets, daher wurde es in meiner minimalen Installation standardmäßig installiert. Sollte nichtpolicykit-1-gnome
auch eine Abhängigkeit von seinlubuntu-desktop
, da Synaptic ohne sie nicht funktioniert? Denkst du, ich sollte einen Fehler melden?quelle
policykit-1-gnome
separat von anderen Paketen installiert geliefert. Es ist auf manuell installiert eingestellt (und ich habe es nicht selbst installiert). Wenn Sie einen Fehler melden, aktualisieren Sie bitte Ihre Antwort mit dem Fehlerlink.policykit-1-gnome
und Abmelden / Anmelden wird die GUIpkexec
bereitgestellt, die gestartet werden soll. Die Frage wurde bearbeitet, um das Problem besser widerzuspiegeln, da dieser Beitrag etwas schwer zu finden ist und das Problemsynaptic
in keiner Weise darauf zurückzuführen ist.Ich verwende eine alternative Lösung zur akzeptierten Antwort. Ich bevorzuge die Verwendung
lxpolkit
anstelle von,policykit-1-gnome
da es für LXDE entwickelt wurde.Dieses Problem,
pkexec
wenn der Authentifizierungsbildschirm nicht gestartet wird, ist sehr häufig. Als Erstes müssen Sie überprüfen, ob Sie eine grafische Policy Kit-Oberfläche (entwederlxpolkit
oderpolicykit-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
lxpolkit
als Standard - Policy - AgentIm Menü, gehen Sie zu
Preferences > Default applications for LXSession
(oder laufenlxsession-default-apps
in einem Terminal). Gehen Sie im ersten Abschnitt "Ausführen von Anwendungen" ( Update: Standard-Apps-Manager 14.10 ist anders. Verwenden Sie dieCore applications
Registerkarte. ) Zur Option fürPolkit agent
und stellen Sie sicher, dass lxpolkit ausgewählt ist.Anstatt das Paket zu verwenden
policykit-1-gnome
,lxsession
wird es jetztlxpolkit
für LXDE verwendet.Warum Apps, die mit gestartet wurden,
pkexec
nicht über das LXDE-Menü ausgeführt werdenEs 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
: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, mitpolicykit-1-gnome
dem das Anmeldemenü bei jeder Verwendung gestartetpkexec
wird. Ich habe das Paket entferntpolicykit-1-gnome
und die Verwendunglxpolkit
funktioniert 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-pkexec
auf änderngksudo 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-pkexec
und 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
pkexec
Richtlinien für einzelne AnwendungenDies 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 .
Hier ist ein Beispiel, das ich nicht getestet habe, von City-busz - Mit dem Befehl 'pkexec' anstelle von 'gksu' :
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.
quelle
Verwenden Sie den Vorschlag, um mit der rechten Maustaste auf den synaptischen Eintrag im Menü unter Systemprogramme zu klicken, wählen Sie Eigenschaften, dann die Registerkarte Desktop-Eintrag und ändern Sie synaptic-pkexec in gksudo synaptic.
Das hat nicht funktioniert, also habe ich über ein Terminal untersucht, auf dem synaptic (gksudo synaptic) ausgeführt wird.
Für mich führte der Versuch, gksudo zu verwenden, zu einer Meldung, in der mir mitgeteilt wurde, wie gksu installiert wird. Als ich versuchte zu installieren, wurde eine Meldung angezeigt, dass gksu bereits installiert war (und immer noch nicht funktionierte). Ich habe gksu deinstalliert und neu installiert, und jetzt funktioniert synaptic einwandfrei.
quelle