Amikor a gnome-shell összeomlik a Linux Mint 12 rendszeren, általában néhány másodpercen belül újra felmerül. Ha nem “t”, akkor úgy tűnik, hogy magával viszi a kulcstartó démont, mert a

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

alkalmazással történő újraindítás után minden alkalommal, amikor futtatom, kéri a kulcs jelszavát olyan parancsok, mint a git pull. Hogyan indíthatom újra a kulcstartó démont (ha itt van a probléma), amikor újraindítom a gnome-shell?

Válasz

UPDATE: Lehetséges, hogy ezek az utasítások elavultak. Úgy tűnik, hogy a legújabb rendszerekben a gnome-kulcstartó aljzatok véletlenszerű könyvtárat alkotnak a ~/.cache/ fájlban /run/user/<ID>/keyring/ ( legkevesebb a Debian Jessie-n), ezért egy egyszerű újraindításnak elegendőnek kell lennie.

Kicsit bonyolult, mivel a gnome-keyring-daemon egyedi környezetparamétereket állít be a munkamenet megkezdése előtt, és ez a környezet használható a démon vályúhoz socket. A környezet minden alkalmazásba átmásolódik, így nincs mód az összes környezeti változó újbóli beállítására. mód, amely magában foglalja a démon manuális újraindítását, a régi dir és az új összekapcsolását (így a régi környezet továbbra is működik), majd az egyes szolgáltatások elindítását.

  1. Győződjön meg arról, hogy nincsenek gnome- kulcstartó-démon fut (ennek a parancsnak nem kell adnia a pid-t, ha meg kell ölnie)

    pgrep -f gnome-keyring-daemon 
  2. Régi kulcstartó törlése socket

    rm -rf ~/.cache/keyring-* 
  3. Indítsa el a démon folyamatát – a setidet és az SDTIN átirányítását használjuk, OUT & ERR, így nincs kapcsolat a shell / tty-vel. Ez létrehoz egy új könyvtárat a vezérlő socket-kel a ~ / .cache / fájlban.

    setsid /usr/bin/gnome-keyring-daemon </dev/null >/dev/null 2>&1 
  4. Szinkronizálja az új socket könyvtárat a régivel. egyet (ideális esetben cserélje ki a helyettesítő karaktert a tényleges könyvtárra, de mivel korábban eltávolítottuk őket, csak egynek kell lennie):

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

    Megjegyzés: Nincs a gnome-shell problémád, de ha ezeket a változókat nem exportálod onnan, ahonnan elindítottad a gnome-shell-t, akkor sokan manuálisan kell átadnia a következő környezeti változókat a gnome-shellnek: GPG_AGENT_INFO GNOME_KEYRING_CONTROL SSH_AUTH_SOCK. Képesnek kell lenned levezetni az értéket a # 2 törölt útvonalról (ha több könyvtárad van, akkor a legfrissebbet kell keresned).

  5. Indítsd el a másik gnome- kulcstartó szolgáltatások (csatlakoznak a démonhoz a socket segítségével, és engedélyezik a rajta lévő szolgáltatásokat, ha eddig minden rendben volt):

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

    Ezek az utolsó parancsok kinyomtatásra kerülnek környezeti változók … figyelmen kívül hagyhatja őket, csak győződjön meg arról, hogy nincsenek socket csatlakozási hibák.

Ha régi socketeket akar megtisztítani, hozzáadhat egy @reboot cron bejegyzés, amely tisztítást végez:

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

Megjegyzések

  • A CentOS 7.3 / gnome-kulcstartó 3.14-en semmi sem kapcsolódott a kulcskarikához a ~/.cache/ fájlban, így ezeket a lépéseket ki lehetett hagyni; csak ölni és a setsid újraindítás elegendő volt. A következő ssh bejelentkezéshez a jelszavamat megfelelően kértem és a várakozásoknak megfelelően tároltam gyorsítótárba.
  • Valóban nincs ' további kulcstartó fájlok 2015 júliusa óta, ami úgy tűnik, megfelel a Debian 7 / Wheezy-ről 8 / Jessie-re történő frissítésemnek. Már előtte abbahagytam a kulcstartó démonra való támaszkodást, ezért nem tudom, hogy ' még azt sem tudom, hogyan kellene most ' működni. / li>

Válasz

Ennek a démon tiszta újraindítását kell végrehajtania:

gnome-keyring-daemon -r -d 

Forrás: ArchLinux

Megjegyzések

  • Tökéletesen működött a Mint 18-on (Sarah). Köszönöm!
  • Az ubuntu 18.04-ben működött, köszönöm!

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük