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.

  1. 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 
  2. Ryd gammel nøglering stikkontakter

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

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

  • På CentOS 7.3 / gnome-keyring 3.14 var der intet relateret til nøglering i ~/.cache/ så disse trin kunne springes over; bare dræbte og setsid genstart var tilstrækkelig. Næste ssh login bad mig om min adgangskode korrekt og cachelagret som forventet.
  • Jeg har faktisk ikke ' flere nøglering-filer siden juli 2015, som synes at svare til min opgradering fra Debian 7 / Wheezy til 8 / Jessie. Jeg stoppede med at stole på nøgleringens dæmon endnu før det, så jeg ved ' ikke engang, hvordan det ' skulle fungere nu.

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!

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *