0
3

More than 5 years have passed since last update.

Ubuntuでtmux 2.8に文字幅修正のパッチあててビルドして、ホームディレクトリ配下にインストールする

Last updated at Posted at 2019-04-06

概要

Unicodeにおいて、文字幅が『曖昧』と定められている文字が結構あります。あるらしいです。文脈や環境によって半角として扱われたり全角として扱われたりするためにそう定められているらしいんですけど。

それはそうだとしても半角なのか全角なのかどっちかにしないと表示上困るわけですが、ターミナルエミュレータによってはこれをオプションで切り替えられるものがあります。

わたくし普段macOS上でiTerm2を使用していまして、以前はとある理由からこれを半角に設定していたのですが、最近全角に切り替えました。(Preferences -> Profiles -> Text -> Unicode -> "Ambiguous characters are double-width"のチェックボックスで切り替えが可能)

そうしたところ、tmuxで複数のペインを表示させた場合のボーダーを描画している文字がちょうど曖昧幅だったらしく、表示が崩れるようになってしまいました。これは困る。

iTerm2側の設定は現状のまま全角とみなすようにしておきたかったので、tmux側をどうにかして回避できないかとググったところ、ありがたいことに曖昧幅の文字に関連する修正を統合したパッチが公開されているのを発見。導入してみたところまさに求めていたものが得られました、どうもありがとうございます。

というわけで備忘として導入手順を記載しておきます。

前提

以前書いたtmuxソースコンパイルについての別の記事ではインストール先を/usr/localにしていたのですが、今回は影響範囲を自ユーザだけに留めるという目的でインストール先を$HOME/.localに変えてます。作業ディレクトリも$HOME/.local/srcです。そんな変なところに入れる必要ないんだけど、という人は--prefix=/usr/localとかしておけば良いのではないでしょうか。

本手順はUbuntu 18.04上で確認しています。

手順

必須パッケージのインストール

sudo apt update
sudo apt install git automake bison build-essential pkg-config libevent-dev libncurses5-dev

PATH環境変数の追加(.bashrcなどに追記して読み込んで有効化しておく)

export PATH="$HOME/.local/bin:$PATH"
export MANPATH="$HOME/.local/share/man:$MANPATH"

ソースコードのダウンロード
※ここでは例としてtmux 2.9aをインストールします

mkdir -p ~/.local/src/ # 作業用ディレクトリが存在していない場合には実行
cd ~/.local/src/
git clone https://github.com/z80oolong/tmux-eaw-fix.git
git clone -b 2.9a --depth 1 https://github.com/tmux/tmux

パッチの適用とビルド

cd tmux/
patch -p1 < ../tmux-eaw-fix/tmux-2.9a-fix.diff
./autogen.sh
./configure --prefix=$HOME/.local
make

インストールと確認

make install
which tmux  # $HOME/.local/bin/tmux なのを確認する
tmux -V     # tmux 2.9a なのを確認する
man -w tmux # $HOME/.local/share/man/man1/tmux.1 なのを確認する
0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3