現代計算機系統使用各種工具來管理地址簿中的聯繫人。 隨著社交媒體應用程序的激增,這種複雜性顯著增加,並且缺乏大多數 Linux 用戶所喜歡的最簡單的風格。 本文展示了從我們的 linux 創建地址簿所使用的三個工具 bash 終端。
1) 卡哈德工具
Khard 是一個地址簿 對於 Linux 控制台。 它在您的本地機器上創建、讀取、修改和刪除 carddav 地址簿條目。 Khard 還兼容電子郵件客戶端 mutt 和 alot 以及 SIP 客戶端閃爍。 Khard 是在 Debian 操作系統版本 7、8 和測試上開發和測試的,但應該在所有類 Unix 系統上運行。
先決條件
您必須安裝和配置 caldav 和 carddav 服務器。 我建議 貝加爾湖.
然後你必須將日曆和地址簿同步到你的本地機器上 虛擬目錄同步器.
你需要 pip 來安裝 python 模塊:
sudo aptitude install python-setuptools
sudo easy_install pip
卡哈德的安裝
a) 來自 pypi
Khard 可以通過 pip 安裝。 我推薦 virtualenv 來創建一個單獨的 python3 環境。 所以你的系統保持乾淨。 此外,您不必為不同的 python 實例而煩惱,尤其是當您的操作系統仍然默認為 python2 時。
# install virtualenv package
sudo pip install virtualenv
# create folder for all virtualenv's and put ~/.virtualenvs/bin in your shell's executable path
mkdir ~/.virtualenvs
# create new python3 virtual environment with the name "khard"
virtualenv -p python3 ~/.virtualenvs/khard
# to install khard, use the pip command from that newly created environment
# otherwise it would be installed in the users home directory
~/.virtualenvs/khard/bin/pip install khard
# create subfolder for symlinks of local binaries
# and don't forget to add it to your shell's executable path too
mkdir ~/.virtualenvs/bin
# create a symlink to the local binary folder
ln -s ~/.virtualenvs/khard/bin/khard ~/.virtualenvs/bin
b) 從源頭
如果你想直接運行源代碼,你可以手動安裝所需的 python 模塊,從 git 克隆並運行 khard-runner.py 腳本:
pip install --user atomicwrites, configobj, pyyaml, vobject
git clone https://github.com/scheibler/khard.git
cd khard/
./khard-runner.py [action [options]]
配置
為了得到 example 配置文件和其他額外數據,您可以從 git 克隆(見上文)或從 pypi 下載包:
pip install --download /tmp --no-deps --no-use-wheel khard
tar xfz /tmp/khard-x.x.x.tar.gz
rm /tmp/khard-x.x.x.tar.gz
cd khard-x.x.x/
現在復制 example 配置文件並根據您的需要調整其內容:
mkdir ~/.config/khard/
cp misc/khard/khard.conf.example ~/.config/khard/khard.conf
Khard 還包含一個名為 davcontroller 的輔助腳本。 它旨在在服務器上創建和刪除地址簿和日曆。 我創建了 davcontroller,因為我之前使用的 CalDAV 服務器(Darwin calendarserver)沒有提供創建新地址簿和日曆的簡單方法。 但是 davcontroller 應該被認為是一個hacky 解決方案,它只針對達爾文日曆服務器進行了測試。 因此,如果您的 CalDAV 服務器提供了一種創建新地址簿和日曆的方法,我建議您選擇該方法而不是 davcontroller。
如果您仍然想嘗試 davcontroller,則必須先安裝 CalDAVClientLibrary。 不幸的是,該庫與 python3 不兼容,因此您必須創建一個額外的 python2 虛擬環境並安裝在那裡:
# create python2 virtual environment
virtualenv -p python2 ~/.virtualenvs/davcontroller
# get library from svn repository
sudo aptitude install subversion
svn checkout https://svn.calendarserver.org/repository/calendarserver/CalDAVClientLibrary/trunk CalDAVClientLibrary
cd CalDAVClientLibrary
# install library
~/.virtualenvs/davcontroller/bin/python setup.py install
# start davcontroller script
~/.virtualenvs/davcontroller/bin/python /path/to/khard-x.x.x/misc/davcontroller/davcontroller.py
顯示聯繫人
創建新地址簿或日曆並將其同步到本地計算機後,您可以使用以下命令列出所有可用聯繫人:
khard list
或者,如果您有多個地址簿並且想要過濾輸出:
khard list -a addressbook1,addressbook2
生成的聯繫人表僅包含第一個電話號碼和電子郵件地址。 如果您想查看所有聯繫方式,您可以從列表中選擇一個:
khard details
或搜索它:
khard details [--strict-search] name of contact
或者通過它的 uid 選擇聯繫人,您可以在聯繫人表中找到它:
khard details -u ID
上面示例中的參數 -a 和 -u 始終是可選的。 如果您不使用它們或您的輸入產生明確的結果,您可以改為從列表中選擇聯繫人。
search 參數在所有數據字段中進行搜索。 因此,您不僅限於聯繫人的姓名,還可以為 example 搜索電話號碼、電子郵件地址或郵寄地址的一部分。 但是,如果您明確希望將搜索範圍縮小到名稱字段,則可以改用 –strict-search 參數。
創建聯繫人
使用以下命令添加新聯繫人:
khard new [-a "address book name"]
新聯繫人的模板在文本編輯器中打開,您可以在 khard.conf 文件中進行設置。 它遵循 yaml 語法。
或者,您可以從標準輸入創建聯繫人:
echo """
First name : John
Last name : Smith
Email :
work : [email protected]
Phone :
home : xxx 555 1234
Categories :
- cat1
- cat2
- cat3
""" | khard new [-a "address book name"]
或從輸入模板文件創建:
khard new -i contact.yaml [-a "address book name"]
您可能會使用以下命令獲得一個空的聯繫人模板:
khard export --empty-contact-template -o empty.yaml
默認情況下,khard 創建 3.0 版的 vcard。 如果您的其他聯繫人應用程序支持更新版本 4.0 的 vcard,您可以使用選項 –vcard-version 更改此設置。 例子:
khard new --vcard-version=4.0 [-a "address book name"]
要獲得更持久的解決方案,您可以在 khard 配置文件的 vcard 部分設置 preferred_version 參數(請參閱 misc/khard/khard.conf。example 更多細節)。 但請注意,khard 無法將現有的聯繫人從 3.0 版轉換為 4.0 版。 因此此設置不適用於修改操作。
編輯聯繫人
創建成功後使用以下方法修改聯繫人:
khard modify [-a addr_name] [-u uid|search terms [search terms ...]]
如果你想在別處編輯聯繫人,你可以導出填充的聯繫人模板:
khard export -o contact.yaml [-a addr_name] [-u uid|search terms [search terms ...]]
編輯 yaml 文件並通過標準輸入重新導入:
cat contact.yaml | khard modify [-a addr_name] [-u uid|search terms [search terms ...]]
或文件名:
khard modify -i contact.yaml [-a addr_name] [-u uid|search terms [search terms ...]]
如果要合併聯繫人,請使用以下方法選擇第一個聯繫人,然後選擇第二個聯繫人:
khard merge [-a source_abook] [-u uid|search terms [search terms ...]] [-A target_abook] [-U target_uid|-t target_search_terms]
您將進入您的 merge_editor(請參閱 khard.conf 中的“merge_editor”選項),您可以在其中將第一個選定聯繫人的所有更改合併到第二個聯繫人。 完成後,第一個聯繫人將被刪除,第二個聯繫人將被更新。
複製或移動聯繫人:
khard copy [-a source_abook] [-u uid|search terms [search terms ...]] [-A target_abook]
khard move [-a source_abook] [-u uid|search terms [search terms ...]] [-A target_abook]
刪除聯繫人:
khard remove [-a addr_name] [-u uid|search terms [search terms ...]]
這個小腳本有助於在 carddav 和 caldav 服務器上創建和刪除新的地址簿和日曆。
列出可用資源
davcontroller -H example.com -p 11111 -u USERNAME -P PASSWORD list
可能的操作有:列表、新地址簿、新日曆和刪除。 創建或刪除後,您必須調整 vdirsyncer 配置。
設置為外部地址簿
Khard 可以用作電子郵件客戶端 mutt 的外部地址簿。 為此,請將以下內容添加到您的 mutt 配置文件中(主要是 ~/.mutt/muttrc):
set query_command= "khard email --parsable %s"
bind editor <Tab> complete-query
bind editor ^T complete
然後你可以通過在 mutt 的新郵件對話框中按 Tab 鍵來填寫電子郵件地址。 如果您的通訊錄包含數百甚至數千個聯繫人,並且查詢過程非常緩慢,您可以嘗試使用 –search-in-source-files 選項來加快搜索速度:
set query_command= "khard email --parsable --search-in-source-files %s"
要將電子郵件地址添加到 khard 的地址簿,您還可以將以下幾行添加到您的 muttrc 文件中:
macro index,pager A
"<pipe-message>khard add-email<return>"
"add the sender email address to khard"
然後導航到 mutt 索引視圖中的電子郵件消息並按“A”啟動地址導入對話框。
2) Ppl 工具
ppl通訊錄 依賴`rubygems`進行安裝; `git` 用於存儲和同步。
安裝
$ sudo gem install ppl
創建地址簿
$ ppl init ~/contacts
`ppl init` 就像創建一個 Git 倉庫
添加聯繫人
$ cd ~/contacts
$ ppl add alice "Alice Adams"
$ ppl add bob "Bob Brown"
$ ppl add eve "Eve Edwards"
ppl add 在地址簿中創建新聯繫人
存儲一些聯繫方式
$ ppl email alice alic[email protected]
$ ppl phone bob 0123456789
$ ppl org eve "Red Hat"
ppl 有許多用於向聯繫人添加新屬性的命令。 更多信息可在 文件
設置您的默認地址簿
$ echo "[address book]" > ~/.pplconfig $ echo path = "`pwd`" >> ~/.pplconfig
這告訴 ppl 讓你繼續使用這個地址簿,即使在你之後 光盤 進入另一個目錄
3) 終端速度
終端速度 是一款適用於 UNIX 終端的快速筆記應用程序,專注於讓您盡可能快速輕鬆地創建或查找筆記,然後使用您的
$EDITOR
打開和編輯筆記。 它深受 OS X 應用程序的啟發 符號速度.
安裝
要安裝終端速度,請運行:
pip install terminal_velocity
然後啟動它只需運行:
terminal_velocity
要使用不同的筆記目錄,請運行:
terminal_velocity path/to/your/notes/dir
要查看所有命令行選項,請運行:
terminal_velocity -h
要退出應用程序,請按
ctrl-c or ctrl-x.
創建筆記
要創建新筆記,請為筆記鍵入標題並點擊 enter
. 該筆記將在您的文本編輯器中打開。 當您鍵入標題時,筆記列表會過濾以顯示與您鍵入的內容相匹配的筆記,讓您有機會打開相關筆記而不是創建新筆記。
查找筆記
相同的文本區域用於輸入新筆記的標題和搜索筆記。 要查找並打開筆記,請鍵入筆記標題或內容中的一些詞。 註釋列表會在您鍵入時過濾以僅顯示匹配的註釋。 當您看到所需的註釋時,請使用 up
和 down
箭頭選擇它然後點擊 enter
打開它。 你也可以使用 page up
和 page down
或單擊鼠標選擇註釋。
自動完成
如果您鍵入筆記標題的開頭(不區分大小寫),該筆記將在筆記列表中自動選擇,其標題將在搜索框中自動完成。 每當選擇一個音符時,只需點擊 enter
打開那個筆記。
如果您想創建一個新筆記,其標題是現有筆記標題的子字符串,那麼即使在您為新筆記鍵入完整標題後,自動完成功能仍將選擇現有筆記。 在這種情況下,你必須打 ctrl-d
或者 escape
清除自動完成選擇,然後點擊enter
創建您的筆記。
結論
Linux 提供了許多創建和維護筆記的工具; 除了上面列出的那些之外,還有其他工具,例如 開發者 開發人員使用它來按重要性維護任務列表。 傳統的 Linux 用戶更喜歡 Linux 終端的簡單命令行界面及其輕量級工具。 然而,Linux 生態系統的最新發展帶來了許多用於管理地址簿的 GUI 工具。 儘管對於某些非技術計算機用戶來說它們可能看起來很簡單; 對於大多數有經驗的 Linux 用戶來說,基於終端的工具仍然是經典和偏好。