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.

  1. 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 
  2. Fjern gammel nøkkelring sockets

    rm -rf ~/.cache/keyring-* 
  3. 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 
  4. 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).

  5. 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

  • På CentOS 7.3 / gnome-keyring 3.14 var det ingenting relatert til nøkkelringen i ~/.cache/ slik at disse trinnene kunne hoppes over; bare drap og setsid re-lanseringen var tilstrekkelig. Neste ssh pålogging ba meg om passordet mitt riktig og hurtigbufret som forventet.
  • Jeg har faktisk ikke ' flere nøkkelringfiler siden juli 2015 som ser ut til å tilsvare oppgraderingen min fra Debian 7 / Wheezy til 8 / Jessie. Jeg sluttet å stole på nøkkelringdemonen selv før det, så jeg vet ikke ' ikke engang hvordan den ' skal fungere nå.

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!

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *