WeeChat

提供: ArchWiki
2019年1月29日 (火) 16:30時点におけるR6eve (トーク | 投稿記録)による版 (サーバーに接続セクションを翻訳)
ナビゲーションに移動 検索に移動

関連記事

WeeChat は高い拡張性を誇る機能豊富な IRC クライアントです。現在も活発に開発されています。

インストール

公式リポジトリから weechatインストールしてください。開発版は AURweechat-gitAUR でインストールできます。

実行

WeeChat は複数のインターフェイスを備えられるようになっています。weechat-[interface] を実行して WeeChat を起動してください。

現在のところ WeeChat には Ncurses インターフェイスしかありません。WeeChat の起動コマンドは:

$ weechat

設定

WeeChat を設定する方法は3つあります: WeeChat の内部コマンドを使用する; iset を使用する; もしくは .conf ファイルを直接編集する。WeeChat は終了時や /save の実行時に自動的に設定を保存するため、エディタで .conf ファイルを編集したら、終了する前にコンソールから /reload を実行するようにしてください。そうしないと、編集したところが元に戻ってしまいます。

内部コマンド

/set コマンドは次の構造に従います: /set.[file.name].[section].[directive]

weechatのバッファ・ウィンドウにて /set と打つことですべての設定可能オプションの一覧を得られます。デフォルトの設定可能オプションは約600個もあるので、ワイルドカードを使って検索するのがおすすめです: /set irc.server.*/set *server* のように使えます。/help コマンドを使ってオプション毎にヘルプを得ることもできます。

/help irc.server.freenode.autoconnect

内部メニュー

より便利にするには、iset スクリプトをインストールしてください。weechat 0.3.9 の場合は次を実行します:

/script install iset.pl

それより古いバージョンなら、/weeget install iset を使うか、iset.pl~/.weechat/perl/autoload へ直接ダウンロードしてください。

インストールが完了したら、次を実行します。

/iset

すべての設定オプションが表示されたバッファを得られます。

設定ファイル

WeeChat の .conf ファイルは ~/.weechat に保存されています。ファイルにコメントは付いていません。詳しい説明はプログラムの内部コマンドを使うか、WeeChat の ユーザーガイド を見て下さい。

ヒント: .weechat ディレクトリを別の場所($XDG_CONFIG_HOME のような)に指定したい場合は、次のオプションを使ってください : $weechat -d $XDG_CONFIG_HOME/weechat

サーバーに接続

ノート: 1.1+ Release Note では /connect による一時的なサーバへの接続はデフォルトで無効にされています。

/set irc.look.temporary_servers on で有効にできます。

/connect を使うことでIRCサーバへ接続できます。

/connect chat.freenode.net

また、Server の設定が済んでるなら次でもできます:

/connect freenode

サーバープロファイルの作成

If you plan on connecting to a server more than once it may be beneficial to create a Server.

/server add example irc.example.net/6667

Would create the server example which would connect to irc.example.net on port 6667

See the WeeChat documentation and /help server for more information.

SSL の設定

Many IRC servers, including freenode where #archlinux is, support SSL.

If you're making a server with /server, add the SSL port (usually 6697) and -ssl to the end of the line. For example:

/server add freenode chat.freenode.net/6697 -ssl

You can do the same thing if using /connect.

/connect chat.freenode.net/6697 -ssl
警告: Some servers need the ssl_dhkey_size value changed to something lower. For example, if you're using freenode you'll need to set /set irc.server.freenode.ssl_dhkey_size 1024 or /set irc.server.chat.freenode.net.ssl_dhkey_size 1024 (see the server log)
ノート: Different servers may have a different port than 6697 - this is server specific.

You may also want to change the location where WeeChat looks for trusted authorities (the default value is %h/ssl/CAs.pem which translates to ~/.weechat/ssl/CAs.pem):

/set weechat.network.gnutls_ca_file "/etc/ssl/certs/ca-certificates.crt"

ヒントとテクニック‎

アップグレード

WeeChat can be upgraded without disconnecting from the IRC servers (non-SSL connections only):

/upgrade

This will load the new WeeChat binary and reload the current configuration.

エイリアス

Aliases can be created to simplify commonly executed commands. A nice example is Wraithan's smart filter alias:

Smart Filter

First, we need to enable smart filters:

/set irc.look.smart_filter "on"

Next, we will create the sfilter alias:

/alias sfilter filter add irc_smart_$server_$channel irc.$server.$channel irc_smart_filter *

We can now type

/sfilter

in any buffer, and the smart filter will only be enabled for that buffer.

The following alias will remove a previously enabled smart filter in the current buffer. Add the alias:

/alias rmsfilter filter del irc_smart_$server_$channel

and execute it by

/rmsfilter

Exec コマンド

A new plugin called "exec" has been added, with command /exec. It will execute external command and can display output to the current buffer with the -o option or locally (default).

キーバインド

Some helpful bindings:

To use ctrl-left/right arrow keys to jump to next/previous words on the input line:

/key bind meta2-1;5D /input move_previous_word
/key bind meta2-1;5C /input move_next_word

アイドル時に SSH の接続が切れる

If you're connecting to your WeeChat through a remote shell using SSH, for example running it in screen or tmux you might experience getting disconnected after a while when idle. There are multiple factors in play why this might happen, but the easiest way to change this is to force the connection to be kept alive by appending this to your SSH-configuration on the remote shell.

This has nothing to do with WeeChat itself, but losing connection when idle won't happen with it's alternative irssi by default, and thus is a common situation for those converting to WeeChat.

# /etc/ssh/sshd_config
ClientAliveInterval 300

Or have a look at Mosh.

Slack IRC ゲートウェイ

Slack is a platform for team communication, a IRC on steroïd. Thanks to its open API, it is possible to connect to your slack team using weechat.

Once weechat is running, all you have to is add a new server this way:

/server add NAME HOST/6667 -autoconnect -ssl -ssl_dhkey_size=512 -password=PASSWORD -username=USERNAME -nicks=NICK

where:

  • NAME is the name you want to give to the server
  • HOST is the the Host as provided on the Gateways page of your slack team
  • PASSWORD is the Pass as provided on the Gateways page of your slack team
  • USERNAME is the User as provided on the Gateways page of your slack team
  • NICK is your Slack username.

ファイルのアップロード

To upload a file, run this following command from your shell :

curl -F file=@/path/to/file -F channels=CHAN -F token=XXX https://slack.com/api/files.upload

where:

  • CHAN is the channel ID as provided on the Gateways page of your slack team
  • XXX is the team token as provided on the Gateways page of your slack team

トラブルシューティング

プラグインのロードエラー

You may see output like the following in the main window after starting weechat:

12:29:37 =!= | Error: unable to load plugin "/usr/lib/weechat/plugins/tcl.so": libtcl8.6.so: cannot open shared object file: No such file or directory
12:29:37 =!= | If you're trying to load a script and not a C plugin, try command to load scripts (/perl, /python, ...)
12:29:37 =!= | Error: unable to load plugin "/usr/lib/weechat/plugins/ruby.so": libruby.so.2.0: cannot open shared object file: No such file or directory
12:29:37 =!= | If you're trying to load a script and not a C plugin, try command to load scripts (/perl, /python, ...)
12:29:37     | Plugins loaded: alias, aspell, charset, fifo, guile, irc, logger, lua, perl, python, relay, rmodifier, script, xfer

The default configuration for weechat attempts to load all plugins found in /usr/lib/weechat/plugins which in this case includes both tcl and ruby. These packages are not required by the weechat package and may not be installed on your machine. There are two options if these errors bother you:

  1. 公式リポジトリから tcl, rubyインストール
  2. Or, run /set weechat.plugin.autoload "*,!tcl,!ruby" which will prevent loading those plugins with a bang (!) prefix.

ヘルプの表示

To access WeeChat's built-in help, simply type

/help

and the help will be displayed in the main buffer (usually buffer 1).

参照

ガイド