로그인 시 keepassxc 데이터베이스 잠금 해제 중...너무 닫혔지만 남은 문제를 제거하는 방법은 무엇입니까?

로그인 시 keepassxc 데이터베이스 잠금 해제 중...너무 닫혔지만 남은 문제를 제거하는 방법은 무엇입니까?

이 매우 유용한 답변을 바탕으로부팅 시 KeePassXC 시작keepassxc회사에 로그인할 때 잠금 해제라는 원하는 결과를 거의 얻었습니다 .

그러나 나(그리고 동일한 문제에 대해 답변한 다른 사용자)에게는 유용하지 않게 만드는 한 가지 문제가 남아 있습니다. 즉, 연결된 답변에 따라 명령을 내립니다.

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

...이것은 keepassxc시작된 상태에서 작동합니다... 하지만 명령 다음 줄에 이 프롬프트가 나타납니다.

Database password:

스크립트가 입력을 기다리는 동안 중단됩니다.

스크립트 작업의 일부는... 발행할 수 있습니다.

secret-tool lookup keepass <database_name>

올바른 비밀번호가 입력되었습니다.

발행할 수 있어요

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

시작 keepassxc하고 로그인합니다. 하지만 여전히 프롬프트가 표시되고 스크립트가 중단됩니다.

만약 내가한다면

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

나는 여전히 프롬프트를 받고 멈추지만, 칠 수 있고 enter작동합니다.

그럼 어떻게든 공급해야 할 것 같은데요 enter?

  • 우분투 버전: 18.04
  • keepassxc 버전: 2.6.4

답변1

짧은 답변

당신이 보는 것은 정상적인 행동입니다. 단말기는 KeePassXC가 종료된 후에만 해제됩니다.

긴 답변

터미널에 표시되는 프롬프트 는 옵션에 제공한 옵션 Database password:의 결과입니다 . 파이프가 있으므로 표준 입력은 키보드가 아니라 이전 명령의 출력입니다.--pw-stdinkeepassxcecho

KeepassXC가 실행되는 동안에는 프롬프트가 차단됩니다. 이는 정상적인 현상이며 다른 프로그램에서도 발생합니다. 예를 들어 nautilus터미널에서 시작해 보세요.

해당 프로세스를 백그라운드로 이동하여 프롬프트를 해제할 수 있습니다. Ctrl+ 를 누른 Z다음 bg백그라운드에서 프로세스를 계속 실행하려면 입력하세요. fg다시 전면으로 가져옵니다. 이것이 "전통적인" 터미널 관행입니다.

프로세스가 포그라운드에 있는 경우 그래픽 사용자 인터페이스에서 종료하거나 터미널에서 Ctrl+를 눌러 KeePassXC를 종료하면 터미널이 해제됩니다 .C

터미널 에뮬레이터(예: 데스크톱 실행 프로그램, 바로 가기 키 바인딩)에서 명령을 실행하지 않거나 Alt+ F2실행 대화 상자를 사용하는 경우에도 이 동작은 눈에 띄지 않습니다.

관련 정보