Når gnome-shell
går ned på Linux Mint 12, kommer det normalt op igen inden for et par sekunder. Når det ikke virker, ser det ud til at det tager nøgleringens dæmon med sig, fordi det efter genstart med
while true; do DISPLAY=:0 gnome-shell --replace; done &
beder om nøgle-adgangssætningen hver gang jeg kører kommandoer som git pull
. Hvordan genstarter jeg nøgleringens dæmon (hvis det er problemet her), når jeg genstarter gnome-shell
?
Svar
UPDATE: Disse instruktioner kan være forældede. Det ser ud til på nylige systemer, at gnome-nøgleringskontakter, der er flyttet, danner en tilfældig mappe i ~/.cache/
til /run/user/<ID>/keyring/
mindst på Debian Jessie), så en simpel genstart skal være tilstrækkelig.
Det er lidt besværligt, da gnome-nøglering-dæmon indstiller unikke miljøparametre, før din session starter, og dette miljø bruges til at få adgang til daemon-truget en stikkontakt. Miljøet kopieres til alle applikationer, så der er ingen måde at genindstille alle miljøvariabler. Der “sa måde, der indebærer manuel genstart af dæmonen, symlinkning af den gamle dir til den nye (så det gamle miljø stadig fungerer) og derefter start af de enkelte tjenester.
-
Sørg for, at der ikke er noget gnome- nøglering-dæmon kører (denne kommando skal ikke returnere noget pid, hvis det er nødvendigt, skal du dræbe det)
pgrep -f gnome-keyring-daemon
-
Ryd gammel nøglering stikkontakter
rm -rf ~/.cache/keyring-*
-
Start dæmonprocessen – vi bruger setsid og omdirigerer SDTIN, UD & ERR, så der er ingen tilknytning til vores shell / tty. Dette opretter en ny mappe med kontrolstik i ~ / .cache /.
setsid /usr/bin/gnome-keyring-daemon </dev/null >/dev/null 2>&1
-
Symlink den nye sokkelmappe til den gamle en (ideelt udskift jokertegnet med den aktuelle mappe, men da vi fjernede dem alle tidligere, skulle der kun være en):
ln -s ~/.cache/keyring-* $GNOME_KEYRING_CONTROL
NB: Jeg har ikke dit gnome-shell-problem, men hvis du ikke har disse variabler eksporteret fra hvor du starter gnome-shell, har du mange skal manuelt overføre følgende miljøvariabler til gnome-shell:
GPG_AGENT_INFO GNOME_KEYRING_CONTROL SSH_AUTH_SOCK
. Du skal være i stand til at udlede værdien fra den sti, der er slettet i nr. 2 (hvis du har flere mapper, skal du kigge efter den seneste). -
Start den anden gnome- nøgleringstjenester (de opretter forbindelse til dæmonen ved hjælp af stikket og aktiverer tjenesterne på den, hvis alt gik indtil videre):
/usr/bin/gnome-keyring-daemon --start --components=pkcs11 /usr/bin/gnome-keyring-daemon --start --components=gpg /usr/bin/gnome-keyring-daemon --start --components=ssh
Disse sidste kommandoer udskrives miljøvariabler … du kan ignorere dem, bare sørg for, at der ikke er nogen stikforbindelsesfejl.
Hvis du også vil rydde op i gamle stik, kan du tilføje en @reboot
cron-post, der foretager en oprydning:
find ~/.cache/ -maxdepth 1 -type l -name "keyring-*" -delete
Kommentarer
Svar
Dette skal udføre en ren genstart af dæmonen:
gnome-keyring-daemon -r -d
Kilde: ArchLinux
Kommentarer
- Fungerede perfekt på Mint 18 (Sarah). Tak!
- Arbejdet i ubuntu 18.04, tak!
~/.cache/
så disse trin kunne springes over; bare dræbte ogsetsid
genstart var tilstrækkelig. Næstessh
login bad mig om min adgangskode korrekt og cachelagret som forventet.