登入時解鎖 keepassxc 資料庫...非常接近,但如何消除剩餘問題?

登入時解鎖 keepassxc 資料庫...非常接近,但如何消除剩餘問題?

基於這個非常有用的答案啟動時啟動 KeePassXCkeepassxc我幾乎已經獲得了登入工作時 解鎖的預期結果。

但是,我(以及另一位對同一問題進行回答和評論的用戶)仍然存在一個問題,使其無法發揮作用。也就是說,根據連結的答案,我發出命令......

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某種方式提供一個?

  • Ubuntu版本:18.04
  • keepassxc 版本:2.6.4

答案1

簡短回答

您所看到的是正常行為。只有當 KeePassXC 終止時,終端才會被釋放。

長答案

Database password:您在終端機上看到的提示是您--pw-stdin向該keepassxc選項提供的選項的結果。由於有管道,標準輸入不是你的鍵盤,而是上一個echo指令的輸出。

只要 KeepassXC 正在運行,您的提示就會被阻止。這是正常現象,任何其他程序都會發生。例如,嘗試nautilus從終端啟動。

您可以將該進程移至背景來釋放提示:按Ctrl+ Z,然後鍵入bg以繼續在背景執行該進程。fg會將其再次帶到前台。這是“傳統”的終端實踐。

由於進程位於前台,當您退出 KeePassXC 時,終端將被釋放,無論是在圖形使用者介面中退出,還是在終端機中按Ctrl+ 。C

當您不從終端模擬器(例如從桌面啟動器或快速鍵綁定,甚至使用Alt+F2執行對話方塊)執行命令時,不會注意到此行為。

相關內容