Desbloquear la base de datos keepassxc al iniciar sesión... muy cerca, pero ¿cómo eliminar el problema restante?

Desbloquear la base de datos keepassxc al iniciar sesión... muy cerca, pero ¿cómo eliminar el problema restante?

Basado en esta respuesta extremadamente útil.Inicie KeePassXC al arrancar Casi obtuve el resultado deseado de desbloquear keepassxcal iniciar sesión para funcionar.

Sin embargo, a mí (y a otro usuario que respondió y comentó sobre el mismo problema) nos queda un problema que impide que sea útil. Es decir, según la respuesta vinculada, doy la orden...

secret-tool lookup keepass <database_name> | keepassxc --pw-stdin <path-to-your-database>.kbdx

...y esto funciona cuando keepassxcse inicia... pero aparece este mensaje en la siguiente línea después del comando

Database password:

y el script se bloquea esperando entrada.

Las partes del guión funcionan... puedo emitirlas.

secret-tool lookup keepass <database_name>

y obtengo la contraseña correcta escrita.

puedo emitir

echo <password> | keepassxc --pw-stdin <path-to-your-database>.kbdx

y se inicia keepassxce inicia sesión... pero todavía aparece el mensaje y el script se cuelga.

Si lo hago

echo <password> | keepassxc --pw-stdin <path-to-your-database>.kbdx &

Todavía recibo el mensaje y me cuelgo, pero puedo presionar entery funciona.

Entonces, ¿parece que necesito proporcionar un servicio enterde alguna manera?

  • Versión de Ubuntu: 18.04
  • versión keepassxc: 2.6.4

Respuesta1

Respuesta corta

Lo que ves es un comportamiento normal. La terminal se liberará solo una vez que KeePassXC finalice.

Respuesta larga

El Database password:mensaje que ve en el terminal es el resultado de la --pw-stdinopción que proporcionó a la keepassxcopción. Como hay una tubería, la entrada estándar no es su teclado, sino la salida del echocomando anterior.

Mientras KeepassXC esté ejecutándose, su mensaje estará bloqueado. Eso es normal y pasa con cualquier otro programa. Por ejemplo, intente comenzar nautilusen la terminal.

Puede liberar el mensaje moviendo ese proceso a un segundo plano: presione Ctrl+ Zy luego escriba bgpara continuar ejecutando el proceso en segundo plano. fglo traerá al primer plano nuevamente. Ésa es una práctica terminal "tradicional".

Con el proceso en primer plano, el terminal se liberará cuando salga de KeePassXC, ya sea saliendo de él en la interfaz gráfica de usuario o presionando Ctrl+ Cen el terminal.

Este comportamiento pasa desapercibido cuando no ejecuta el comando desde un emulador de terminal, por ejemplo, desde un iniciador de escritorio o desde una combinación de teclas de acceso directo, o incluso usando el cuadro de diálogo Alt+ F2ejecutar.

información relacionada