Kun gnome-shell kaatuu Linux Mint 12: ssa, se tulee yleensä esiin muutaman sekunnin kuluessa. Kun se ei ”t”, näyttää siltä, että se vie avaimen avaamisen demonin mukanaan, koska uudelleenkäynnistyksen jälkeen

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

se pyytää avaimen salasanan joka kerta kun suoritan komentoja, kuten git pull. Kuinka voin käynnistää avaimenperäisen daemonin uudelleen (jos tässä on ongelma), kun käynnistän uudelleen gnome-shell?

Vastaus

PÄIVITYS: Nämä ohjeet voivat olla vanhentuneita. Viimeisissä järjestelmissä näyttää olevan, että siirretyt gnome-avaimenperäpistorasiat muodostavat satunnaisen hakemiston hakemistossa ~/.cache/ kohtaan /run/user/<ID>/keyring/ (klo ainakin Debian Jessiellä), joten yksinkertaisen uudelleenkäynnistyksen pitäisi riittää.

Se on vähän hankalaa, koska gnome-avaimenperä-daemon asettaa ainutlaatuiset ympäristöparametrit ennen istunnon alkua ja tätä ympäristöä käytetään daemon-kaukaloon pääsyyn liitäntä. Ympäristö kopioidaan kaikkiin sovelluksiin, joten kaikkia ympäristömuuttujia ei voida asettaa uudelleen. tapa, johon kuuluu demonin manuaalinen uudelleenkäynnistys, linkittäminen vanha dir uuteen (jotta vanha ympäristö toimii edelleen) ja sitten yksittäisten palveluiden käynnistäminen.

  1. Varmista, ettei gnome- avaimenperä-daemon käynnissä (tämän komennon ei pitäisi palauttaa pid, jos se on tarpeen tappaa)

    pgrep -f gnome-keyring-daemon 
  2. Tyhjennä vanha avaimenperä pistorasiat

    rm -rf ~/.cache/keyring-* 
  3. Käynnistä daemon-prosessi – käytämme setidiä ja ohjaamme SDTIN: n OUT & ERR joten ei ole yhteyttä kuoriimme / tty. Tämä luo uuden hakemiston, jossa on ohjauspistoke kansiossa ~ / .cache /.

    setsid /usr/bin/gnome-keyring-daemon </dev/null >/dev/null 2>&1 
  4. Yhdistä uusi socket-hakemisto vanhaan yksi (ihannetapauksessa korvaa jokerimerkki todellisella hakemistolla, mutta koska poistimme ne kaikki aikaisemmin, pitäisi olla vain yksi):

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

    Huom: Minulla ei ole gnome-shell-ongelmasi, mutta jos näitä muuttujia ei viedä sieltä, mistä aloitat gnome-shellin, monet täytyy siirtää seuraavat ympäristömuuttujat manuaalisesti gnome-shellille: GPG_AGENT_INFO GNOME_KEYRING_CONTROL SSH_AUTH_SOCK. Sinun pitäisi pystyä johtamaan arvo polusta, joka on poistettu numerosta 2 (jos sinulla on useita hakemistoja, sinun on etsittävä uusin).

  5. Käynnistä toinen gnome- avaimenperäpalvelut (ne muodostavat yhteyden daemoniin pistorasian avulla ja ottavat sen palvelut käyttöön, jos kaikki ovat menneet tähän mennessä hyvin):

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

    Nämä viimeiset komennot tulostuvat ympäristömuuttujat … voit jättää ne huomiotta, vain varmista, ettei socket-yhteysvirheitä ole.

Jos haluat siivota vanhat pistorasiat, voit lisätä @reboot cron-merkintä, joka puhdistaa:

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

kommentit

  • CentOS 7.3 / gnome-avaimenperä 3.14: ssä ei ollut mitään liittyvää avaimenperään kohdassa ~/.cache/, joten nuo vaiheet voitiin ohittaa; vain tappaminen ja setsid uudelleenkäynnistys riitti. Seuraava ssh sisäänkirjautuminen pyysi minulta salasanaa oikein ja välimuistiin odotetulla tavalla.
  • Minulla ei todellakaan ole ' minulla mitään lisää avaimenperätiedostoja heinäkuusta 2015 lähtien, mikä näyttää vastaavan päivitystäni Debian 7 / Wheezystä 8 / Jessieen. Lopetin luottamisen avaimenperäisdemoniin jo ennen sitä, joten en tiedä edes ' edes, miten sen ' pitäisi toimia nyt. / li>

vastaus

Tämän pitäisi suorittaa deemonin puhdas uudelleenkäynnistys:

gnome-keyring-daemon -r -d 

Lähde: ArchLinux

Kommentit

  • Toimi täydellisesti Mint 18 (Sarah) -mallissa. Kiitos!
  • Toiminut Ubuntussa 18.04, kiitos!

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *