Com base nesta resposta extremamente útil Inicie o KeePassXC na inicialização , quase consegui o resultado desejado de desbloqueio keepassxc
no login para funcionar.
No entanto, eu (e outro usuário que comentou sobre o mesmo problema) temos um problema restante 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 em que keepassxc
é iniciado ... mas recebo este prompt na próxima linha após o comando
Database password:
e o script trava aguardando entrada.
As partes do script funcionam... posso emitir
secret-tool lookup keepass <database_name>
e eu recebo a senha correta digitada.
eu posso emitir
echo <password> | keepassxc --pw-stdin <path-to-your-database>.kbdx
e ele inicia keepassxc
e efetua login... mas ainda recebo o prompt e o script travando.
Se eu fizer
echo <password> | keepassxc --pw-stdin <path-to-your-database>.kbdx &
Eu ainda recebo o prompt e travo, mas posso bater enter
e funciona.
Então parece que eu preciso fornecer um de enter
alguma forma?
- Versão do Ubuntu: 18.04
- versão keepassxc: 2.6.4
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 para akeepassxc
opção. Como existe um pipe, a entrada padrão não é o seu teclado, mas a saída doecho
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 o 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 é a prática terminal "tradicional".Com o processo em primeiro plano, o terminal será liberado quando você sair do KeePassXC, seja fechando-o na interface gráfica do usuário ou pressionando Ctrl+ Cno terminal.
Esse comportamento é despercebido quando você não executa o comando de um emulador de terminal, por exemplo, de um iniciador de área de trabalho ou de uma ligação de tecla de atalho, ou mesmo usando a caixa de diálogo Alt+ executar.F2