Com base nesta resposta extremamente útilInicie o KeePassXC na inicialização Quase consegui o resultado desejado de desbloquear keepassxc
no login para funcionar.
No entanto, eu (e outro usuário que respondeu e comentou sobre o mesmo problema) ainda temos um problema que o impede de ser útil. Ou seja, de acordo com a resposta vinculada, dou o comando...
secret-tool lookup keepass <database_name> | keepassxc --pw-stdin <path-to-your-database>.kbdx
... e isso funciona quando keepassxc
é iniciado ... mas recebo esse prompt na próxima linha após o comando
Database password:
e o script trava aguardando entrada.
As partes do roteiro funcionam... posso emitir
secret-tool lookup keepass <database_name>
e eu digito a senha correta.
posso emitir
echo <password> | keepassxc --pw-stdin <path-to-your-database>.kbdx
e ele inicia keepassxc
e faz login... mas ainda recebo o prompt e o script travando.
Se eu fizer
echo <password> | keepassxc --pw-stdin <path-to-your-database>.kbdx &
Ainda recebo o prompt e travo, mas posso acertar enter
e funciona.
Então parece que preciso fornecer de enter
alguma forma?
- Versão Ubuntu: 18.04
- versão keepassxc: 2.6.4
Responder1
Resposta curta
O que você vê é um comportamento normal. O terminal será liberado apenas quando o KeePassXC terminar.
Resposta longa
O Database password:
prompt que você vê no terminal é resultado da --pw-stdin
opção que você forneceu à keepassxc
opção. Como existe um pipe, a entrada padrão não é o seu teclado, mas a saída do echo
comando anterior.
Enquanto o KeepassXC estiver em execução, seu prompt estará bloqueado. Isso é normal e acontece com qualquer outro programa. Por exemplo, tente iniciar nautilus
no terminal.
Você pode liberar o prompt movendo esse processo para segundo plano: pressione Ctrl+ Ze digite bg
para continuar executando o processo em segundo plano. fg
irá trazê-lo para o primeiro plano novamente. Essa é uma prática terminal “tradicional”.
Com o processo em primeiro plano, o terminal será liberado quando você sair do KeePassXC, seja saindo dele na interface gráfica do usuário ou pressionando Ctrl+ Cno terminal.
Este comportamento passa despercebido quando você não executa o comando a partir de um emulador de terminal, por exemplo, a partir de um inicializador de desktop ou de uma tecla de atalho, ou mesmo usando a caixa de diálogo Alt+ F2executar.