Skip to content

Release tmux-eaw-appimage v3.6-CURRENT_HEAD

Latest
Compare
Choose a tag to compare
@z80oolong z80oolong released this 28 Sep 19:13
· 1 commit to master since this release

tmux-eaw-appimage -- 野良差分ファイルを適用した tmux を起動する AppImage パッケージファイル作成用の Vagrantfile

概要

tmux とは、 terminal session を効果的に操作できる端末多重化ソフトウェアです。 tmux の使用により、複数の仮想 window や pane を同時に表示し、それらの間を切り替えたり terminal session を分割することが可能となります。そして、これにより単一の terminal window 内で複数の task を同時に実行することが可能となります。

しかし tmux 2.6 以降において、現在のところ以下のような問題が発生しています。

  • Unicode の規格における東アジア圏の各種文字のうち、いわゆる "◎" や "★" 等の記号文字及び罫線文字等、 East_Asian_Width 特性の値が A (Ambiguous) となる文字 (以下、 East Asian Ambiguous Character) が、日本語環境で文字幅を適切に扱うことが出来ずに表示が乱れる問題が発生する。
  • Unicode 上の絵文字の文字幅も適切に扱われない問題が発生する。
  • tmux の pane 分割において、画面分割におけるボーダーラインの罫線文字の文字幅が適切に扱われず、画面表示が乱れる問題が発生する。
  • tmux における SIXEL による画像表示において、パレット数が 0 となるような画像と表示させようとすると、 tmux の process が異常終了する。
  • tmux における SIXEL による画像表示において、 ORMODE に対応した SIXEL 画像が正常に表示されない問題が発生する。

このリポジトリは、端末多重化ソフトウェアである tmux における上記の問題を修正するための差分ファイルである "tmux 2.6 以降において各種問題を修正する野良差分ファイル" を適用した tmux を起動する AppImage パッケージファイルを生成するための Vagrant 仮想環境を構築する Vagrantfile 等を含むリポジトリです。

本リポジトリ及び本リポジトリで生成される仮想環境の詳細な使用法については、リポジトリ内の README.md を参照して下さい。

なお本ページでは、 "tmux 2.6 以降において各種問題を修正する野良差分ファイル" を適用した端末多重化ソフトウェアである tmux の最新の HEAD 版の tmux を起動するための AppImage パッケージファイル も併せて配布しています。

AppImage パッケージファイルの使用法

まず、ビルド済の AppImage パッケージファイル である tmux-eaw-HEAD-xxxxxxxx-x86_64.AppImage (此処に、 xxxxxxxx は最新の HEAD 版の commit 番号を表す。以下同様。) を本ページよりダウンロードします。

この AppImage パッケージファイル tmux-eaw-HEAD-xxxxxxxx-x86_64.AppImage を、以下の通りにして実行権限を付与し、環境変数 PATH が示すディレクトリに配置します。

そして、 tmux-eaw-HEAD-xxxxxxxx-x86_64.AppImage から tmux にシンボリックリンクを貼ると、コマンドラインから tmux と入力することで、 tmux 2.6 以降において各種問題を修正する野良差分ファイルを適用した tmux が起動します。

  $ chmod u+x ./tmux-eaw-HEAD-xxxxxxxx-x86_64.AppImage
  $ install -v ./tmux-eaw-HEAD-xxxxxxxx-x86_64.AppImage /usr/local/bin    # (一例として /usr/local/bin 以下に導入する場合を示す。)
  $ cd /usr/local/bin
  $ sudo ln -sf tmux-eaw-HEAD-xxxxxxxx-x86_64.AppImage tmux
  ...
  $ tmux
  ...

ここで、 tmux 2.6 以降において各種問題を修正する野良差分ファイルが適用された tmux の使用法の詳細については、 "tmux 2.6 以降において各種問題を修正する野良差分ファイル" を参照して下さい。

なお、本ページで配布されている最新の tmux の HEAD 版の AppImage パッケージファイルの sha256 ハッシュ値を以下に示します。

d2360e48d9552b6760f9a10eb36dc428fd5341d3f6abc55998889ee43c145b38  tmux-eaw-HEAD-1fe30bb2-x86_64.AppImage

変更点

本ページにて配布中の AppImage パッケージファイルを、最新の HEAD 版に対応させました。現在の最新の HEAD 版の AppImage パッケージファイルは、 tmux-eaw-HEAD-1fe30bb2-x86_64.AppImage となります。

なお今回の差分ファイルによる変更では、 SIXEL 関連のコードの大幅な変更に対応しています。

また、今後は最新の HEAD 版の tmux の AppImage パッケージは、本ページにて更新する予定です。

なお、過去の変更点に関しては以下の通りとなります。

  • tmux-eaw-HEAD-7c30056d-x86_64.AppImage より、最新の安定版が tmux 3.5 に更新されたことに伴い、最新の HEAD 版の AppImage パッケージファイルの配布場所を変更しています。
  • tmux-eaw-HEAD-608d1134-x86_64.AppImage より、最新の安定版が tmux 3.4 に更新されたことに伴い、最新の HEAD 版の AppImage パッケージファイルの配布場所を変更しています。
  • tmux-eaw-HEAD-bdf8e614-x86_64.AppImage より、 tmux の Formula 同梱の AppImage パッケージファイルに glibc.so.6 及び ld_linux*.so が参照する環境変数の設定の不備により、起動に障害が発生した問題を修正し、 AppImage パッケージファイルの再構築を行いました。
    tmux-eaw-HEAD-bdf8e614-x86_64.AppImage より、 tmux に適用する差分ファイルの名称が "East Asian Ambiguous Character を全角文字の幅で表示する差分ファイル" から "tmux 2.6 以降において各種問題を修正する野良差分ファイル" に変更したことに伴い、各種修正を行いました。
  • tmux-eaw-HEAD-b7777807-x86_64.AppImage より、 github 上の tmux の sixel ブランチが master ブランチに統合され、 github 上の tmux の master ブランチでは標準で SIXEL Graphic の表示に対応することとなりました。
  • tmux-eaw-HEAD-b7777807-x86_64.AppImage 以降の HEAD 版 AppImage パッケージファイルでは、以下の修正を行っています。
    • 0色のパレットしか持たない SIXEL 画像や、空の SIXEL 画像を扱った際に、パレット番号及びパレット情報等を格納するためのメモリ領域の確保に失敗し、 tmux 全体が異常終了する不具合を修正しております。
    • tmux-eaw-HEAD-fda39377-x86_64.AppImage 以降の HEAD 版 AppImageパッケージファイルにおいて、 SIXEL Graphics の ormode に完全に対応しました。
  • AppImage を構築するための仮想環境を qemu-kvm より、 lxc ベースのものに変更しました。そして、ホスト OS と仮想環境間のファイル共有を rsync を用いたものに変更しました。
  • Homebrew でビルドした tmux を正常に動作させる為に、 AppImage パッケージファイルに glibc.so.6 及び ld_linux*.so を同梱しております。

謝辞

tmux に適用するための East Asian Ambiguous Character を全角文字の幅で表示する差分ファイル の作成にあたって、以下の各氏の協力及びソースコードの参考を得ました。以下の各氏に心より感謝致します。

最後に、 tmux の作者である Nicholas Marriott 氏を初めとする tmux の開発コミュニティ及び tmux に関わる全ての人々に心より感謝致します。

使用条件

本リポジトリは、 tmux 2.6 以降において各種問題を修正する野良差分ファイルを適用した端末多重化ソフトウェア tmux を起動するための AppImage ファイルを生成するための Vagrantfile 等を含むリポジトリであり、以下の各氏が著作権を有し、 MIT ライセンス に基づいて配布されるものとします。

本リポジトリの使用条件の詳細については、本リポジトリに同梱する LICENSE を参照して下さい。

また、本ページにて配布している AppImage ファイルは、 tmux 2.6 以降において各種問題を修正する野良差分ファイルを適用した端末多重化ソフトウェア tmux を起動するためのビルド済み AppImage ファイルであり、以下に述べる各氏が著作権を有し、tmux のライセンスと同様である ISC License に基づいて配布されるものとします。

本ページにて配布している AppImage ファイルの使用条件の詳細については、 East Asian Ambiguous Character を全角文字の幅で表示する差分ファイルライセンスファイル LICENSE を参照して下さい。