Debian
如何配置 reportbug 以使用來自 gnome-keyring 的 smtp 密碼?
配置時
reportbug
,我可以選擇將遠端 smtp 服務的密碼儲存在$HOME/.reportbugrc
. 如何讓它使用 GNOME Web (Epiphany) 或 GNOME 密鑰環中的 Evolution 儲存的現有密碼,以便在 GNOME 密鑰環中的密碼更改時不需要更新$HOME/.reportbugrc
?我發現我可以使用包
secret-tools
提供的命令從 GNOME 密鑰環中讀取密碼libsecret-tools
,並使用命令替換來$(…)
呼叫secret-tools
和使用它的輸出,如下所示:$ reportbug --smtppasswd=$(secret-tool lookup uri https://webmail.example.invalid)
或這個:
$ reportbug --smtppasswd=$(secret-tool lookup target_origin https://webmail.example.invalid username user@example.invalid)
不幸的是,
reportbug
似乎沒有在~/.reportbugrc
. 我試過這樣:smtppasswd "$(secret-tool lookup target_origin https://webmail.example.invalid username user@example.invalid)"
有解決方法嗎?
最終在
~\.bash_aliases
.alias reportbug-pass='reportbug --smtppasswd="$(secret-tool lookup eds-origin evolution-data-server e-source-uid 7f1e149e069bd66ab5aa1a734baa113943cdf0ee)"'
使用該別名而不是直接呼叫會呼叫已經傳遞給它的
reportbug
reportbug 。--smtppasswd
現在,如果我想將我的 SMTP 密碼傳遞給reportbug
,我可以輸入該別名。您可以將其他參數傳遞給它,例如報告的包的名稱,就像您想要的那樣reportbug
。$ reportbug-pass
代替別名,可以通過定義一個函式來實現相同的結果
~\.bash_aliases
function reportbug-pass() { reportbug --smtppasswd="$(secret-tool lookup eds-origin evolution-data-server e-source-uid pdljjhvbuo6uvc7mydavpmbjqqhxqq2jyhqdndpmcvamknbih8cifgfg)" "$@" }
在此函式中,
"$@"
參數擴展為傳遞給它的參數,例如,您可以傳遞包的名稱。在這種情況下,無論是別名還是函式,當您從命令行呼叫它時,都會對密鑰環進行查詢。如果鑰匙圈被鎖定,您會看到通常的圖形提示來解鎖鑰匙圈。