「Screen Irssi Bitlbee」の版間の差分
(→Using Irssi in Screen: 翻訳) |
(→Using It: 翻訳) |
||
62行目: | 62行目: | ||
すぐに &bitlbee というチャンネルに参加する必要があります。ここでは、Bitlbee について簡単に説明します。開始するには、''help'' と入力してください。Bitlbee をセットアップしてインスタントメッセンジャーアカウントに接続します。連絡先がチャンネルに参加していることがわかります。 |
すぐに &bitlbee というチャンネルに参加する必要があります。ここでは、Bitlbee について簡単に説明します。開始するには、''help'' と入力してください。Bitlbee をセットアップしてインスタントメッセンジャーアカウントに接続します。連絡先がチャンネルに参加していることがわかります。 |
||
− | == |
+ | == 使用する == |
+ | Irssi、Bitlbee、Screen をすべて実行して、それで何ができるのか? |
||
− | Now that we have got Irssi, Bitlbee, and Screen all running, what can we do with it? |
||
+ | まず、この演習の要点は、どこからでもアクセスできる永続的なチャットセッションを作成することでした。別のコンピューターからサーバーに SSH で接続します。以下を入力してください |
||
− | First, the whole point of this exercise was to create a persistent chat session that can be accessed from anywhere. From another computer, SSH into your server. Type in |
||
screen -raAd |
screen -raAd |
||
+ | すべてのチャネルと IM 接続を含む irssi がポップアップ表示されるのを見てください。外出中に残されたメッセージは、サーバーにいるかのように表示されます。 |
||
− | and watch as irssi, with all of your channels and IM connections, pops up. Any messages left for you while you were away are visible, just as if you were at your server. |
||
− | === |
+ | === セットアップの起動 === |
+ | 各 IRC ネットワークに手動で接続し、チャネルに参加し、Bitlbee に接続し、ログインするたびに Bitlbee をメッセージングアカウントに接続させるのは遅いため、これを支援するスクリプトをいくつかセットアップします。 |
||
− | Since it is slow to manually connect to each IRC network, join channels, connect to Bitlbee, and have Bitlbee connect to your messaging accounts every time you you log in, set up some scripts to help you out. |
||
+ | まず、Screen 初期化ファイルを作成します。以下に例を示します。 |
||
− | First, create a screen initialization file. Here is an example: |
||
{{hc|~/irc_screen| |
{{hc|~/irc_screen| |
||
81行目: | 81行目: | ||
}} |
}} |
||
+ | これにより、ウィンドウ 1 で irssi が起動し、screen セッションに ''IRC'' というタイトルが付けられます。 |
||
− | This will launch irssi in window 1 and title the screen session 'IRC'. |
||
+ | 次に、その設定ファイルを使用して screen を起動するための短いスクリプトをセットアップします。 |
||
− | Then set up a short script to launch screen with that configuration file: |
||
{{hc|~/bin/irc_start| |
{{hc|~/bin/irc_start| |
||
90行目: | 90行目: | ||
}} |
}} |
||
− | + | コマンドラインは、{{ic|-d -m}} screen スタート時に分離モードに切り替え、バックグラウンドで起動するようにします。{{ic|-c ~/irc_screen}} は、このセッションの ''rc'' ファイルとして {{ic|~/irc_screen}} を使用します。 |
|
+ | Screen セッションを起動して接続するには: |
||
− | To launch and connect to the Screen session: |
||
~/bin/irc_start |
~/bin/irc_start |
||
screen -raAd |
screen -raAd |
||
− | === |
+ | === 追加情報 === |
+ | より希望どおりに動作するように irssi を設定することを検討してください。 |
||
− | Look into configuring irssi to behave more like you want: |
||
https://www.quadpoint.org/articles/irssi |
https://www.quadpoint.org/articles/irssi |
||
− | ==== |
+ | ==== screen 上の自動アウェイデタッチ ==== |
+ | screen アウェイスクリプトを使用すると、screen セッションを切断するときに、BitLBee 上で自分自身に ''退席中'' のマークを付けることができます。デフォルトでは、スクリプトはすべてのサーバーに影響しますが、BitLBee のみに影響するように簡単に変更できます。 |
||
− | Using the screen-away script, you can have yourself marked "away" on BitLBee when you disconnect your screen session. By default the script affects all servers but can easily be modified to only affect BitLBee. |
||
+ | スクリプトの詳細については、''追加情報'' の URL を参照してください。 |
||
− | Read more about scripts at the URL in 'Doing More'. |
||
− | + | https://scripts.irssi.org/ で screen-away.pl スクリプトを見つけます。 |
|
− | ===== |
+ | ===== BitLBee 用の screen-away.pl の変更 ===== |
+ | まず、BitLBee のサーバータグが必要です。これは、irssi に "/server" と入力すると取得できます。タグは行の最初の単語です。私の場合、タグは "BitLBee" です。 |
||
− | First you need the server tag for BitLBee. You can get this by typing "/server" in irssi. The tag is the first word on the line. For me, the tag is "BitLBee". |
||
+ | 次の行で |
||
− | On the line following |
||
foreach $server (Irssi::servers()) { |
foreach $server (Irssi::servers()) { |
||
+ | (これは 2 回発生します) 行を挿入します |
||
− | (which occurs twice) insert the line |
||
next unless ( $server->{chatnet} eq 'TAG' ); |
next unless ( $server->{chatnet} eq 'TAG' ); |
||
+ | 必要に応じて TAG を交換します。現在のバージョンでは、これらは 181 行目と 206 行目で発生します。 |
||
− | replacing TAG as necessary. In the current version, those occur on lines 181 and 206. |
||
+ | スクリプトを使用するには、自動ロードされている場合を除き、スクリプトをロードし、アクティブに設定する必要があります。 |
||
− | To use the script you need to load it - unless if if autoloaded, and set it active. |
||
/script load screen_away |
/script load screen_away |
||
/set screen_away_active on |
/set screen_away_active on |
||
+ | ==== 一時停止や接続の変更を通じてチャットクライアントを永続化する ==== |
||
− | ==== Persisting the chat client through suspends and connectivity changes ==== |
||
+ | ラップトップを使用している場合は、ワイヤレスネットワークを頻繁に一時停止したり変更したりすることが多いため、SSH クライアントの接続が失われます。これは、常に利用できることが期待されるチャットクライアントにとって煩わしい場合があります。 |
||
− | If you use a laptop, you likely suspend and change wireless networks often, which causes your ssh client to lose connection. This can be annoying for a chat client you expect to always be available. |
||
+ | これを修正するには、[[Mosh]] を試してください。これは、ワイヤレスネットワークの再開または変更後の再接続をシームレスに処理するシェルです。 |
||
− | To fix this, try [[Mosh]], which is a shell that seamlessly deals with reconnection after resuming or changing wireless networks. |
2024年4月23日 (火) 00:15時点における最新版
GNU Screen、Irssi、Bitlbee、および SSH を一緒に使用すると、IRC サーバーや他のチャットネットワークへの永続的な接続が可能になります。SSH を介して、どこからでもこの永続チャットスイートにアクセスできます。ピースを組み立てるのは難しくありません。このページでそれをガイドします。
目次
コンポーネント
GNU Screen
まずは GNU Screen を紹介します。Screen では、シェルをアクティブに使用していないときでも、シェルを開いたままにすることができます。ここではこれを使用して IRC セッションを永続的に維持し、IRC クライアントを閉じることなくどこからでも再接続できるようにします。GNU Screen および screen(1) を参照してください。
Irssi
Irssi はコマンドライン IRC クライアントです。非常に柔軟でスクリプト化が可能です。当然、これを IRC クライアントとして使用します。
Bitlbee
Bitlbee は興味深いプロジェクトです。ローカルマシン上に IRC サーバーをセットアップし、さまざまなインスタントメッセンジャープロトコルに接続し、ログインユーザーを IRC ユーザーとして表します。
SSH
SSH が何であるかは誰もが知っています。これにより、Web アクセスがあればどこからでも常設チャットスイートを使用できるようになります。
セットアップ
インストール
まず、openssh、irssi、screen、bitlbeeAUR をインストールします。
SSH の設定
SSH wiki ページ の指示に従って SSH を設定します。ここで要約するにはあまりにも複雑すぎます。
bitlbee の設定
本当に設定が必要なアプリケーションは Bitlbee だけです。必要に応じて、Bitlbee の wiki ページ の指示に従ってください。実際に行う必要があるのは、/etc/bitlbee/bitlbee.conf を参照して、好みに合わせて設定することだけです。以下に、注目に値するいくつかの変更を示します。
これにより、Bitlbee がデーモンとして実行され、参加するユーザーごとに新しいプロセスがフォークされます。これは、xinetd を介して実行するよりも簡単なので、お勧めします。
RunMode = ForkDaemon
これにより、デーモンは起動時に起動した後に root 権限を削除します。セキュリティのためにこれを実行してください。Bitlbee を root として実行する理由はありません。
User = bitlbee
ここで必ずパスワードを変更してください。
OperPassword =
Screen で Irssi を使用する
ターミナルを開いて Screen を実行します。著作権メッセージ (メッセージを無効にするには wiki を読んでください) の後に、普通の端末が表示されるはずです。このターミナルで irssi を起動します。
Irssi は本格的な IRC クライアントであるため、ここで完全なチュートリアルをリストすることはできません。irssi ができることの詳細については、Google で検索してください。好きな IRC ネットワークに接続してください。
Bitlbee に接続する
Bitlbee はローカルマシン上に IRC サーバーをセットアップします。接続するには、irssi でこれを実行します:
/connect localhost <optional port>
すぐに &bitlbee というチャンネルに参加する必要があります。ここでは、Bitlbee について簡単に説明します。開始するには、help と入力してください。Bitlbee をセットアップしてインスタントメッセンジャーアカウントに接続します。連絡先がチャンネルに参加していることがわかります。
使用する
Irssi、Bitlbee、Screen をすべて実行して、それで何ができるのか?
まず、この演習の要点は、どこからでもアクセスできる永続的なチャットセッションを作成することでした。別のコンピューターからサーバーに SSH で接続します。以下を入力してください
screen -raAd
すべてのチャネルと IM 接続を含む irssi がポップアップ表示されるのを見てください。外出中に残されたメッセージは、サーバーにいるかのように表示されます。
セットアップの起動
各 IRC ネットワークに手動で接続し、チャネルに参加し、Bitlbee に接続し、ログインするたびに Bitlbee をメッセージングアカウントに接続させるのは遅いため、これを支援するスクリプトをいくつかセットアップします。
まず、Screen 初期化ファイルを作成します。以下に例を示します。
~/irc_screen
source ~/.screenrc screen -t IRC 1 irssi
これにより、ウィンドウ 1 で irssi が起動し、screen セッションに IRC というタイトルが付けられます。
次に、その設定ファイルを使用して screen を起動するための短いスクリプトをセットアップします。
~/bin/irc_start
#!/bin/sh screen -d -m -c ~/irc_screen
コマンドラインは、-d -m
screen スタート時に分離モードに切り替え、バックグラウンドで起動するようにします。-c ~/irc_screen
は、このセッションの rc ファイルとして ~/irc_screen
を使用します。
Screen セッションを起動して接続するには:
~/bin/irc_start screen -raAd
追加情報
より希望どおりに動作するように irssi を設定することを検討してください。 https://www.quadpoint.org/articles/irssi
screen 上の自動アウェイデタッチ
screen アウェイスクリプトを使用すると、screen セッションを切断するときに、BitLBee 上で自分自身に 退席中 のマークを付けることができます。デフォルトでは、スクリプトはすべてのサーバーに影響しますが、BitLBee のみに影響するように簡単に変更できます。
スクリプトの詳細については、追加情報 の URL を参照してください。 https://scripts.irssi.org/ で screen-away.pl スクリプトを見つけます。
BitLBee 用の screen-away.pl の変更
まず、BitLBee のサーバータグが必要です。これは、irssi に "/server" と入力すると取得できます。タグは行の最初の単語です。私の場合、タグは "BitLBee" です。 次の行で
foreach $server (Irssi::servers()) {
(これは 2 回発生します) 行を挿入します
next unless ( $server->{chatnet} eq 'TAG' );
必要に応じて TAG を交換します。現在のバージョンでは、これらは 181 行目と 206 行目で発生します。 スクリプトを使用するには、自動ロードされている場合を除き、スクリプトをロードし、アクティブに設定する必要があります。
/script load screen_away /set screen_away_active on
一時停止や接続の変更を通じてチャットクライアントを永続化する
ラップトップを使用している場合は、ワイヤレスネットワークを頻繁に一時停止したり変更したりすることが多いため、SSH クライアントの接続が失われます。これは、常に利用できることが期待されるチャットクライアントにとって煩わしい場合があります。
これを修正するには、Mosh を試してください。これは、ワイヤレスネットワークの再開または変更後の再接続をシームレスに処理するシェルです。