Newsboat
プロジェクトのウェブページ より:
- Newsbeuter はテキストターミナル用のオープンソースの RSS/Atom フィードリーダーです。Linux, FreeBSD, macOS などの Unix ライクなオペレーティングシステムで動作します。Newsbeuter は設定が自由自在で優れた機能を多数備えていることから、全てキーボードで動作できる高速かつスマートなフィードリーダーを望んている人にうってつけです。
Newsbeuter の開発は中止され、フォークされて newsboat が生まれました [1]。
目次
インストール
newsboat は公式リポジトリからインストールできます。開発版は newsbeuter-gitAUR または newsboat-gitAUR パッケージでインストールできます。
使用方法
Newsboatは、設定済みのフィードなしでは起動できません。 フィードは、~/.config/newsboat/urls
で構成できます。
インストールしたら、コマンドラインから newsboat を起動することができます:
newsboat
ナビゲーションはとてもわかりやすいものになっています。キーバインディングの完全なリストは man ページを見るか、newsbeuter の中から ?
キーを押して下さい。
フィードの管理
フィードの追加・削除・タグ管理は全て urls ファイルの編集で行います。デフォルトでは ~/.config/newsboat/urls
に存在します。
フィードの追加・削除
URL を追加するには、~/.config/newsboat/urls
をお好きなテキストエディタで開いて、一行ごとに URL を追加します:
http://rss.cnn.com/rss/cnn_topstories.rss http://newsrss.bbc.co.uk/rss/newsonline_world_edition/front_page/rss.xml
ユーザー名/パスワードを入力しないとアクセスできない URL を追加するときは、以下のようにしてユーザー名/パスワードを指定します:
http://username:password@hostname.domain.tld/feed.rss
ユーザー名とパスワードが流出しないように、~/.config/newsboat/urls
には適切なパーミッションを設定してください。
また、Newsbeuter は URL に含まれているユーザー名とパスワードをユーザーインターフェイスに表示しません。ユーザー名に @ が含まれる場合、ユーザー名・パスワードとホスト名を区切る @ と区別が付くように %40 を使ってください。
ローカルのファイルをフィードとして設定することもでき、その場合はローカルパスの前に file://
を付けて ~/.newsbeuter/urls
ファイルに追加します:
file:///var/log/rss_eventlog.xml
フィードを削除したいときは、urls ファイルからそのフィードの行を消して下さい。
フィードのタグ管理
全てのフィードにはタグを割り当てることができます。タグ付けすることでフィードのカテゴライズが簡単になるだけでなく、一度に複数のフィードを対象としてコマンドを適用することができるようになります。
通常、~/.newsbeuter/urls
ファイルには一行ごとに一つの RSS フィードの URL を記述します。RSS フィードにタグを付けるには、スペースやタブなどの空白で区切って、単語を後ろに付け加えて下さい。タグの中に空白を入れたいときは、タグをクォート (") で括って下さい (下の例を参照)。例:
http://blog.fefe.de/rss.xml?html interesting conspiracy news "cool stuff" http://rss.orf.at/news.xml news orf http://www.heise.de/newsticker/heise.rdf news interesting
上記のように設定したら、newsbeuter を起動してから t
を押すことでタグを選択できます。"news" タグを選択した場合、3つの RSS フィード全てが表示されます。もう一度、t
を押して "conspiracy" タグを選択すると、http://blog.fefe.de/rss.xml?html
の RSS フィードしか表示されなくなります。Ctrl-T
を押すとタグの選択が解除され、全ての RSS フィードが表示されるように戻ります。
特殊なタグ
フィードのカスタム名称
urls ファイルで特殊なタグを使うことでフィードの名前を定義することができます。タグの名前の前に ~
記号を付けると、タグの名前がフィードの名前になります。例:
http://rss.cnn.com/rss/cnn_topstories.rss "~CNN Top stories"
上記の設定で "CNN Top stories" がフィードの名前として定義されます。
非表示フィード
タグの名前の前に !
を付けることで、そのフィードを通常のフィードのリストから非表示にすることができます。例:
http://rss.orf.at/news.xml "!ORF News (hidden)"
非表示フィードのコンテンツは query しないかぎり表示されません。
設定
設定ファイルで設定できる newsbeuter の挙動も存在します。設定ファイルはデフォルトで ~/.newsbeuter/config
にあります。この設定ファイルは以下のような形式で記述されます:
<config-command> <arg1> ...
設定ファイルにはコメントも付けられます。コメントの先頭には #
記号をつけて、以下行末までコメントになります。空白が含まれた設定引数を入力する必要があるときは、クォート "
を使って引数全体を括って下さい。外部コマンドの出力を設定に組み入れることも可能です。バッククォート `
で囲まれたテキストはシェルコマンドとして評価され、その場所にはコマンドの出力が入ります。Bourne 互換シェルのバッククォートと同じように使うことができ、外部の情報を設定の中で使えるようになっています。
ヒント
フィードの自動リロード
cron や systemd を使うことで自動的にフィードをリロードすることができます。crontab に行を追加するか、systemd のサービス/タイマーのコンボを作って以下のコマンドを実行してください:
/usr/bin/newsbeuter -x reload
もしくは、以下の設定をすることで Newsbeuter の起動時にフィードを全て自動的にリロードするように設定することもできます:
auto-reload yes
上記の設定をすると、Newsbeuter は定期的に自動リロードを行います。デフォルトでは60分に設定されています。自動リロードの間隔は以下のように設定できます:
reload-time <desired number of minutes>
記事の URL を外部のコマンドに渡す
外部のコマンドに記事の URL を渡すハックです。newsbeuter で記事を開くときのブラウザを設定する macro を使って他のコマンドのパスを利用して、その後、元の macro に戻します。
例えば、youtube のチャンネルを購読して mpv で動画を開きたい場合、以下のように設定します:
macro y set browser "mpv %u" ; open-in-browser ; set browser "elinks %u"
トラブルシューティング
Newsbeuter が起動しない
何もフィードを設定していないと Newsbeuter は起動しません。以下のようなエラーが表示される場合:
Error: no URLs configured. Please fill the file /home/ak/.newsbeuter/urls with RSS feed URLs or import an OPML file.
#フィードの管理 を見て URL を追加してください。
上記が問題ではない場合、おそらく newsbeuter の別のインスタンスが実行中です。Newsbeuter はデータベースにロックをかけるため一度にデータベースにアクセスできるインスタンスは一つのみとなっています。そのため、インスタンスを2つ開こうとしてもできません。