GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo ejecutar el llavero de una manera que solo tiene el primer indicador de Shell para las claves en el inicio?

Abro varias pestañas de shell cuando inicio KDE y acabo de agregar keychain a mi ~/.shellrc el problema es que todas las pestañas solicitan contraseñas clave cuando inicio sesión. Esto es bastante molesto para hacer esto. ¿Hay alguna buena solución para esto, de modo que todas las pestañas simplemente se inicien y, una vez que haya iniciado sesión en una pestaña, todas tengan las claves cargadas?

Respuesta aceptada:

Aquí hay dos métodos:

Puede asegurarse de que el llavero solo se abra en una pestaña como esta:

if mkdir /tmp/keychain.lock; then
  eval `keychain --eval --agents ssh id_dsa`
  rm -r /tmp/keychain.lock
fi

Pero es posible que no esté en la primera pestaña en la que aterriza; es posible que deba buscarlo, lo que podría ser igual de molesto. Esto funciona porque mkdir es una operación atómica:solo una secuencia de comandos tendrá éxito y esa mostrará el aviso.

Otra forma mostrará el mensaje en todas las pestañas, pero las cerrará una vez que responda en cualquiera de ellas. Puede sondear un archivo o usar herramientas de inotificación como esta:

file=/tmp/keychain-wait
touch $file
inotifywait -e delete_self $file |\
while read file event; do 
 if [ "$event" = "DELETE_SELF" ]; then
   pkill keychain
 fi
done &

keychain
rm $file

Este presenta el mensaje, pero primero inicia un observador para ver si se elimina un archivo. Una vez que se satisface la solicitud, el archivo se elimina y el observador eliminará cualquier otra solicitud que esté esperando. inotifywait es de inotify-tools; inotify es una API de Linux. Puede haber una API similar en otros Unices, pero si no, solo necesita un bucle que sondee para ver si el archivo se eliminó.


Linux
  1. ¿Cómo configurar postgresql por primera vez?

  2. Cómo buscar la palabra exacta si la cadena tiene un punto

  3. ¿Cómo diferenciar solo la primera línea de dos archivos?

  4. ¿Cómo hacer que solo el usuario, el pid y el comando se ejecuten para un proceso específico? (Ubuntu 11.10)

  5. ¿Cómo instalo/creo un aviso personalizado para el caparazón de pescado?

Conceptos básicos de Linux:cómo crear e instalar claves SSH en el Shell

Cómo configurar tu sistema operativo Raspberry Pi para usarlo por primera vez

¿Cómo suprimir la salida de Grep, para que solo devuelva el estado de salida?

Cómo instalar uno de los mejores monitores de sistema para el escritorio de Linux

Cómo configurar el usuario predeterminado para una distribución WSL que se instaló manualmente con wsl --import

¿Por qué mi initrd solo tiene un directorio, a saber, 'kernel'?