Help us understand the problem. What is going on with this article?

UbuntuやCentOSに最新のtmuxを導入する

概要

GitHubのtmux公式レポジトリから最新のソースコードをダウンロードして、ビルドとインストールを行います。

更新履歴

  • 2019/02/08追記:
    • Ubuntu 16.04でも同様の手順での導入が可能なことを確認しました。
  • 2019/04/29追記:
    • 必須パッケージにautomakeを追加しました。@leica19 さん、コメントありがとうございました。
    • Ubuntu 19.04でも同様の手順での導入が可能なことを確認しました。
  • 2019/06/24追記:
    • 必須パッケージにbisonを追加しました。@kalafinalice さん、コメントありがとうございました。
    • Ubuntu 18.10でも同様の手順での導入が可能なことを確認しました。
    • CentOS 6、CentOS 7における導入手順を新たに追加しました。
  • 2019/10/05追記:
    • CentOS 8でも同様の手順での導入が可能なことを確認しました。

注意事項

最新ということはつまりリリース前の開発中バージョンとなるため、バグが多く含まれる可能性があります。まともに動かなかったりしてもこちらに石を投げてこないでください……。
『それはさすがに不安なんでバージョン指定してインストールしたい』という場合には補記のあたりを参照してください。

また、tmuxを使っていて『ペインの境界線がおかしな表示になっていて画面が崩れる』という場合には、ターミナルエミュレータの文字幅に関する設定を変えるかtmuxビルド時に追加でパッチを当てると解決するかもしれません。

前提

インストール先

インストール先が/usr/local/配下となるようにしています。
これによって、OSバンドル版のtmux(/usr/bin/tmux)と共存させることが可能です。
なお、本手順ではシェルの環境変数$PATHにおいて、/usr/local/binの順序が/usr/binよりも先にあるものとします。

作業ディレクトリ

ダウンロードとビルドはどこのディレクトリで実施しても構いません。
本手順においては/usr/local/src配下で行っています。
なお、本手順では一般ユーザが/usr/local/srcへの書き込み権限を有しているものとします。

手順

Ubuntuの場合

Ubuntu 16.04, 18.04, 18.10, 19.04での動作を確認しています。

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

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

ソースコードのダウンロード

cd /usr/local/src/
git clone https://github.com/tmux/tmux

ビルド

cd ./tmux/
./autogen.sh
./configure --prefix=/usr/local
make

インストールと確認

sudo make install
which tmux  # /usr/local/bin/tmux となっていることを確認
tmux -V     # tmux next-3.1 (記事編集時点)

CentOS 6の場合

rootアカウントにスイッチ

su -

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

yum check-update
yum groupinstall "Development Tools"
yum install libevent2-devel ncurses-devel

ソースコードのダウンロード

cd /usr/local/src/
git clone https://github.com/tmux/tmux

ビルド

cd ./tmux/
./autogen.sh
./configure --prefix=/usr/local
make

インストールと確認

make install
which tmux  # /usr/local/bin/tmux となっていることを確認
tmux -V     # tmux next-3.1 (記事編集時点)

CentOS 7、CentOS 8の場合

rootアカウントにスイッチ

su -

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

yum check-update
yum groupinstall "Development Tools"
yum install libevent-devel ncurses-devel

ソースコードのダウンロード

cd /usr/local/src/
git clone https://github.com/tmux/tmux

ビルド

cd ./tmux/
./autogen.sh
./configure --prefix=/usr/local
make

インストールと確認
※whichコマンドが入ってないケースがありうるのでそこだけ要注意

make install
which tmux  # /usr/local/bin/tmux となっていることを確認
tmux -V     # tmux next-3.1 (記事編集時点)

補記

ただ単に『現時点の最新の状態でビルドができさえすればいい』のであれば、
git clone --depth 1 https://github.com/tmux/tmux
としてしまってもいいと思います。

また、最新ではなく特定バージョンをビルドしたいなら、例えばtmux 2.9aであれば
git clone -b 2.9a https://github.com/tmux/tmux
とすればよいでしょう。

これら両方を組み合わせてもいけます。
git clone -b 2.9a --depth 1 https://github.com/tmux/tmux

さいごに

tmuxの開発が進むにつれて必須となるパッケージが増える傾向にあります。
必須パッケージで足りないものがあるのを見つけた際にはぜひコメント等で教えてください!

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした