Wenn gnome-shell unter Linux Mint 12 abstürzt, wird es normalerweise innerhalb weniger Sekunden wieder angezeigt. Wenn dies nicht der Fall ist, scheint der Schlüsselring-Daemon mitgenommen zu werden, da nach dem Neustart mit

while true; do DISPLAY=:0 gnome-shell --replace; done & 

bei jeder Ausführung die Schlüsselpassphrase abgefragt wird Befehle wie git pull. Wie starte ich den Schlüsselring-Daemon neu (wenn dies das Problem ist), wenn ich gnome-shell neu starte?

Antwort

UPDATE: Diese Anweisungen sind möglicherweise veraltet. Auf neueren Systemen werden die Gnome-Schlüsselbundbuchsen aus einem zufälligen Verzeichnis in ~/.cache/ nach /run/user/<ID>/keyring/ (at Zumindest unter Debian Jessie), daher sollte ein einfacher Neustart ausreichen.

Es ist etwas schwierig, da der Gnome-Schlüsselring-Daemon vor Beginn Ihrer Sitzung eindeutige Umgebungsparameter festlegt und diese Umgebung für den Zugriff auf den Daemon-Trog verwendet wird Ein Socket. Die Umgebung wird in jede Anwendung kopiert, sodass nicht alle Umgebungsvariablen zurückgesetzt werden können Auf diese Weise wird der Dämon manuell neu gestartet, das alte Verzeichnis mit dem neuen verknüpft (damit die alte Umgebung weiterhin funktioniert) und anschließend die einzelnen Dienste gestartet.

  1. Stellen Sie sicher, dass keine Gnome vorhanden sind. keyring-daemon wird ausgeführt (dieser Befehl sollte keine PID zurückgeben, wenn Sie ihn beenden müssen)

    pgrep -f gnome-keyring-daemon 
  2. Löschen Sie den alten Schlüsselring Sockets

    rm -rf ~/.cache/keyring-* 
  3. Starten Sie den Daemon-Prozess – wir verwenden setsid und leiten SDTIN, OUT & ERR, daher gibt es keine Zuordnung zu unserer Shell / tty. Dadurch wird ein neues Verzeichnis mit Steuer-Socket in ~ / .cache / erstellt.

    setsid /usr/bin/gnome-keyring-daemon </dev/null >/dev/null 2>&1 
  4. Verknüpfen Sie das neue Socket-Verzeichnis mit dem alten Eins (im Idealfall ersetzen Sie den Platzhalter durch das eigentliche Verzeichnis, aber da wir alle zuvor entfernt haben, sollte es nur eines geben):

    ln -s ~/.cache/keyring-* $GNOME_KEYRING_CONTROL 

    NB: Ich habe kein Gnome-Shell-Problem, aber wenn Sie diese Variablen nicht exportiert haben, von wo aus Sie Gnome-Shell starten, haben Sie viele Die folgenden Umgebungsvariablen müssen manuell an gnome-shell übergeben werden: GPG_AGENT_INFO GNOME_KEYRING_CONTROL SSH_AUTH_SOCK. Sie sollten in der Lage sein, den Wert aus dem in # 2 gelöschten Pfad abzuleiten (wenn Sie mehrere Verzeichnisse haben, müssen Sie nach dem neuesten suchen).

  5. Starten Sie den anderen Gnom- Schlüsselbunddienste (sie stellen über den Socket eine Verbindung zum Dämon her und aktivieren die Dienste darauf, wenn bisher alles in Ordnung war):

    /usr/bin/gnome-keyring-daemon --start --components=pkcs11 /usr/bin/gnome-keyring-daemon --start --components=gpg /usr/bin/gnome-keyring-daemon --start --components=ssh 

    Diese letzten Befehle werden gedruckt Umgebungsvariablen … Sie können sie ignorieren. Stellen Sie nur sicher, dass keine Socket-Verbindungsfehler vorliegen.

Wenn Sie alte Sockets bereinigen möchten, können Sie auch ein @reboot Cron-Eintrag, der eine Bereinigung durchführt:

find ~/.cache/ -maxdepth 1 -type l -name "keyring-*" -delete 

Kommentare

  • Unter CentOS 7.3 / gnome-keyring 3.14 gab es in ~/.cache/ nichts mit dem Schlüsselring zu tun, sodass diese Schritte übersprungen werden konnten. Nur das Töten und der Neustart von setsid waren ausreichend. Das nächste ssh Login hat mich nach meinem Passwort gefragt und wie erwartet zwischengespeichert.
  • Tatsächlich habe ich ' keine Weitere Schlüsselringdateien seit Juli 2015, was meinem Upgrade von Debian 7 / Wheezy auf 8 / Jessie zu entsprechen scheint. Ich habe mich schon vorher nicht mehr auf den Schlüsselring-Daemon verlassen, daher weiß ich ' nicht einmal, wie es ' jetzt funktionieren soll.

Antwort

Dies sollte einen sauberen Neustart des Dämons durchführen:

gnome-keyring-daemon -r -d 

Quelle: ArchLinux

Kommentare

  • Hat perfekt an Mint 18 (Sarah) gearbeitet. Danke!
  • Hat in Ubuntu 18.04 gearbeitet, danke!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.