Debian

如何配置 reportbug 以使用來自 gnome-keyring 的 smtp 密碼?

  • October 21, 2020

配置時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)"'

使用該別名而不是直接呼叫會呼叫已經傳遞給它的reportbugreportbug 。--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)" "$@"
}

在此函式中,"$@"參數擴展為傳遞給它的參數,例如,您可以傳遞包的名稱。

在這種情況下,無論是別名還是函式,當您從命令行呼叫它時,都會對密鑰環進行查詢。如果鑰匙圈被鎖定,您會看到通常的圖形提示來解鎖鑰匙圈。

引用自:https://unix.stackexchange.com/questions/604828