このページの本文へ

Windows Info 第158回

Windows Subsystem for Linuxでディストリビューションを区別するためにByobuを使う

2019年02月03日 10時00分更新

文● 塩田紳二 編集● ASCII編集部

  • この記事をはてなブックマークに追加
  • 本文印刷

事前に不具合の対策をしておく必要がある

 WSLのコンソールでByobuを動かす場合、1つだけ事前に対策する必要がある。

 byobuは、ステータスラインの左端にディストリビューションのロゴを表示するのだが、Ubuntuのロゴにはユニコードの「私用領域」の文字が使われていて、その幅の解釈がWSLのコンソールの場合、byobu側の想定と違う(WSLのコンソールではフォントパターンも未定義)。

 そもそも、文字の幅については複雑な問題があり、未定義の私用領域にある文字の幅をプログラム中で仮定することはできず、フォントの幅がすべて一定であることを前提にしたコンソール表示では文字幅が確定しないと正しく表示できない。

 Byobuのロゴ表示も、Windows 10 Ver.1703(RS2、Creators Update)ではうまくいってたのだが、Ver.1709からはステータスラインが崩れるようになってしまった。その対策のため.bashrcに1行環境変数の設定を加える必要がある。

 ただし.bashrcには、byobuを起動するためのコードが追加されるため、その前に環境変数の定義をしておく必要がある。これには、エディターなどを利用する。好みのものを使ってもいいが、viやemacsといったLinuxの著名エディターになれていないのであれば、nanoエディターを使うのが簡単だ。

 説明が煩雑になるため、エディターの使い方などは、説明しないが、.bashrcの先頭部分、#で始まる注釈行が終わるあたりに以下の環境変数設定文を追加する。

Linuxのエディターに慣れていないなら環境変数の設定にはUbuntuに搭載されているnanoエディターを使うのが簡単だ。.bashrcを編集する必要があるのはUbuntuだけで、debianやSuseは必要ない

export VTE_CJK_WIDTH=1

ファイルを保存したら、以下の手順で環境変数を反映させByobuを起動してみる。

source .bashrc
byobu

 最下行のステータスラインがスクロールしなければ問題ないはずだ。以下、byobuが起動している前提で話をすすめる。

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン