3Linux用のオープンソースコマンドラインアドレスブック

最新のコンピュータシステムは、名簿の連絡先を管理するためにさまざまなツールを採用しています。 ソーシャルメディアアプリケーションの急増に伴い、この複雑さは大幅に増大し、ほとんどのLinuxユーザーが愛するスタイルの最大の単純さを欠いています。 この記事では、Linuxからの名簿の作成に使用される3つのツールを紹介します。 bash ターミナル。

1)Khard Tool

Khardは名簿です Linuxコンソール用。 ローカルマシンでcarddavアドレスブックエントリを作成、読み取り、変更、および削除します。 Khardは、電子メールクライアントのmutt andalotおよびSIPクライアントのきらめきとも互換性があります。 Khardは、Debianオペレーティングシステム、バージョン7、8、およびテストで開発およびテストされていますが、すべてのUnixライクなシステムで実行する必要があります。

前提条件

caldavおよびcarddavサーバーをインストールして構成する必要があります。 私はお勧め バイカル
次に、カレンダーと名簿をローカルマシンに同期する必要があります。 vdirsyncer
そして、Pythonモジュールをインストールするにはpipが必要です:

sudo aptitude install python-setuptools
sudo easy_install pip

Khardのインストール

a)pypiから

Khardはpipを介してインストールできます。 virtualenvを使用して、別のpython3環境を作成することをお勧めします。 したがって、システムはクリーンな状態を保ちます。 さらに、特にオペレーティングシステムがデフォルトでpython2になっている場合は、さまざまなpythonインスタンスで苦労する必要はありません。

# 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と呼ばれるヘルパースクリプトも含まれています。 サーバーで名簿とカレンダーを作成および削除するように設計されています。 以前に使用したCalDAVサーバー(Darwin calendarserver)が新しい名簿やカレンダーを作成する簡単な方法を提供しなかったため、davcontrollerを作成しました。 ただし、davcontrollerはハッキーなソリューションと見なす必要があり、Darwinカレンダーサーバーに対してのみテストされます。 したがって、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

結果の連絡先テーブルには、最初の電話番号と電子メールアドレスのみが含まれます。 すべての連絡先の詳細を表示する場合は、リストから1つを選択できます。

khard details

またはそれを検索します:

khard details [--strict-search] name of contact

または、連絡先テーブルにあるuidで連絡先を選択します。

khard details -u ID

上記の例のパラメーター-aおよび-uは、常にオプションです。 それらを使用しない場合、または入力によって明確な結果が得られる場合は、代わりにリストから連絡先を選択できます。

検索パラメータは、すべてのデータフィールドを検索します。 したがって、連絡先の名前だけでなく、 example 電話番号、メールアドレス、または住所の一部を検索します。 ただし、検索を名前フィールドに明示的に絞り込みたい場合は、代わりに–strict-searchパラメーターを使用できます。

連絡先を作成する

次のコマンドで新しい連絡先を追加します。

khard new [-a "address book name"]

新しい連絡先のテンプレートがテキストエディタで開きます。テキストエディタはkhard.confファイルで設定できます。 yaml構文に従います。

または、stdinから連絡先を作成することもできます。

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ファイルを編集し、stdinを使用して再インポートします。

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 ...]]

連絡先をマージする場合は、以下を使用して最初の連絡先を選択し、次に2番目の連絡先を選択します。

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」オプションを参照)が起動し、最初に選択した連絡先から2番目の連絡先にすべての変更をマージできます。 終了すると、最初の連絡先が削除され、2番目の連絡先が更新されます。

連絡先をコピーまたは移動します。

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

可能なアクションは、list、new-addressbook、new-calendar、およびremoveです。 作成または削除した後、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 [email protected]
$ ppl phone bob 0123456789
$ ppl org eve "Red Hat"

pplには、連絡先に新しいプロパティを追加するための多くのコマンドがあります。 詳細については、 ドキュメンテーション

デフォルトのアドレスブックを設定する

$ echo "[address book]" > ~/.pplconfig
$ echo path = "`pwd`" >> ~/.pplconfig

これにより、pplは、このアドレスブックを使用した後も作業を続けることができます。 CD 別のディレクトリに

3)終端速度

終端速度 は、UNIXターミナル用の高速なメモ取りアプリであり、メモをできるだけすばやく簡単に作成または検索できるようにすることに重点を置いており、

$EDITOR

メモを開いて編集します。 OSXアプリに大きく影響を受けています 表記速度

インストール

Terminal Velocityをインストールするには、以下を実行します。

pip install terminal_velocity

次に、起動するには、次のコマンドを実行します。

terminal_velocity

別のnotesディレクトリを使用するには、次のコマンドを実行します。

terminal_velocity path/to/your/notes/dir

すべてのコマンドラインオプションを表示するには、次のコマンドを実行します。

terminal_velocity -h

アプリを終了するには、を押します

ctrl-c or ctrl-x.

メモを作成する

新しいメモを作成するには、メモのタイトルを入力して、 enter。 メモはテキストエディタで開きます。 タイトルを入力すると、メモのリストがフィルタリングされ、入力した内容と一致するメモが表示されます。これにより、新しいメモを作成する代わりに、関連するメモを開くことができます。

メモを探す

同じテキスト領域は、新しいメモのタイトルの入力とメモの検索に使用されます。 メモを見つけて開くには、メモのタイトルまたは内容からいくつかの単語を入力します。 入力時に音符のリストがフィルタリングされ、一致する音符のみが表示されます。 必要なメモが表示されたら、 updown 矢印を選択して選択し、 enter それを開きます。 使用することもできます page uppage down またはマウスクリックしてノートを選択します。

オートコンプリート

メモのタイトルの先頭を入力すると(大文字と小文字は区別されません)、そのメモはメモリストで自動的に選択され、そのタイトルは検索ボックスでオートコンプリートされます。 ノートが選択されているときはいつでも、 enter そのメモを開きます。

タイトルが既存のノートのタイトルのサブストリングである新しいノートを作成する場合は、新しいノートの完全なタイトルを入力した後でも、既存のノートはオートコンプリートによって選択されたままになります。 この場合、あなたは打つ必要があります ctrl-d また escape オートコンプリートの選択をクリアするには、enter メモを作成します。

結論

Linuxには、メモを作成および保守するための多くのツールが用意されています。 上記のツールに加えて、次のような他のツールがあります。 devtodo これは、開発者が重要度の高い順にタスクのリストを維持するために使用します。 従来のLinuxユーザーは、軽量ツールを備えたLinuxターミナルのシンプルなコマンドラインインターフェイスを好みます。 ただし、Linuxエコシステムの最近の開発により、名簿を管理するための多くのGUIツールが導入されました。 一部の非技術的なコンピュータユーザーには単純に見えるかもしれませんが、 ターミナルベースのツールは、ほとんどの経験豊富なLinuxユーザーにとって古典的で好みのままです。