基於這個非常有用的答案啟動時啟動 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執行對話方塊)執行命令時,不會注意到此行為。