Når gnome-shell
krasjer på Linux Mint 12, kommer det vanligvis opp igjen i løpet av et par sekunder. Når det ikke virker, ser det ut til at det tar nøkkelringdemonen med seg, for etter at du har startet på nytt med
while true; do DISPLAY=:0 gnome-shell --replace; done &
, ber den om nøkkelpassordet hver gang jeg kjører kommandoer som git pull
. Hvordan starter jeg nøkkelringdemonen på nytt (hvis det er problemet som er her) når jeg starter gnome-shell
?
Svar
OPPDATERING: Disse instruksjonene kan være foreldet. Det vises på nylige systemer gnome-nøkkelringskontaktene flyttet danner en tilfeldig katalog i ~/.cache/
til /run/user/<ID>/keyring/
minst på Debian Jessie), så en enkel omstart bør være tilstrekkelig.
Det er litt vanskelig da gnome-keyring-daemon setter unike miljøparametere før økten din starter, og dette miljøet brukes til å få tilgang til demon-trauet en stikkontakt. Miljøet kopieres til alle applikasjoner, så det er ingen måte å stille inn alle miljøvariablene på nytt. Det «sa måte som innebærer manuell omstart av demon, symlinking av den gamle dir til den nye (slik at det gamle miljøet fortsatt fungerer) og deretter start av de enkelte tjenestene.
-
Forsikre deg om at det ikke er noe gnome- nøkkelring-daemon kjører (denne kommandoen skal ikke gi noe pid, hvis den trenger å drepe den)
pgrep -f gnome-keyring-daemon
-
Fjern gammel nøkkelring sockets
rm -rf ~/.cache/keyring-*
-
Start daemon-prosessen – vi bruker setsid og omdirigerer SDTIN, OUT & ERR så det er ingen tilknytning til shell / tty. Dette vil opprette en ny katalog med kontrollsokkel i ~ / .cache /.
setsid /usr/bin/gnome-keyring-daemon </dev/null >/dev/null 2>&1
-
Symlink den nye sokkelkatalogen til den gamle en (ideelt sett erstatt jokertegnet med den faktiske katalogen, men siden vi fjernet dem alle tidligere, burde det bare være ett):
ln -s ~/.cache/keyring-* $GNOME_KEYRING_CONTROL
NB: Jeg har ikke gnome-shell-problemet ditt, men hvis du ikke har disse variablene eksportert fra hvor du starter gnome-shell, mange må man sende følgende miljøvariabler manuelt til gnome-shell:
GPG_AGENT_INFO GNOME_KEYRING_CONTROL SSH_AUTH_SOCK
. Du bør være i stand til å utlede verdien fra banen som ble slettet i nr. 2 (hvis du har flere kataloger, må du se etter de siste). -
Start den andre gnomen- nøkkelringstjenester (de vil koble til demonen ved hjelp av kontakten og aktivere tjenestene på den hvis alt gikk bra så langt):
/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 siste kommandoene vil skrives ut miljøvariabler … du kan ignorere dem, bare sørg for at det ikke er noen tilkoblingsfeil i kontakten.
Hvis du vil rydde opp gamle kontakter, kan du også legge til en @reboot
cron-oppføring som gjør en opprydding:
find ~/.cache/ -maxdepth 1 -type l -name "keyring-*" -delete
Kommentarer
Svar
Dette skal utføre en ren omstart av demonen:
gnome-keyring-daemon -r -d
Kilde: ArchLinux
Kommentarer
- Fungerte perfekt på Mint 18 (Sarah). Takk!
- Jobbet i ubuntu 18.04, takk!
~/.cache/
slik at disse trinnene kunne hoppes over; bare drap ogsetsid
re-lanseringen var tilstrekkelig. Nestessh
pålogging ba meg om passordet mitt riktig og hurtigbufret som forventet.