FreeBSD 12インストールの端末で(SSH経由で)24ビットサポートを有効にしようとしていますが成功しません。
次の内容のterminfoファイルを作成しようとしました:
xterm-24bit|xterm with 24-bit direct color mode,
use=xterm-256color,
sitm=\E[3m,
ritm=\E[23m,
setb24=\E[48;2;%p1%{65536}%/%d;%p1%{256}%/%{255}%&%d;%p1%{255}%&%dm,
setf24=\E[38;2;%p1%{65536}%/%d;%p1%{256}%/%{255}%&%d;%p1%{255}%&%dm,
そして、コマンドを実行しました(ncursesをインストールした後):
$ tic -x -o ~/.terminfo xterm-24bit.terminfo
しかし、emacsを実行しようとすると、次のようになります。
emacs: Cannot open terminfo database file
そこで、infocmp -Cr
を使用してtermcapバージョンを生成し、実行中のデータベースを更新しようとしました。
# cap_mkdb /usr/share/misc/termcap
それはほとんど機能し、emacsは開きますが、白黒のみです:(
私の端末は24ビットカラーをサポートしており、他のLinuxマシンではssh経由でこのモードを使用しています。 FreeBSDで24ビット端末を使用している人はいますか?
--disable-termcapを使用してncursesを再コンパイルしました。次に、(ポートからではなく)tarballから直接emacsを再コンパイルしました。これは期待どおりに機能しました。従うべき道を教えてくれてありがとう、@ ThomasDickey :)
@Rafael Gilの提案に従ってemacsを再コンパイルしましたが、ncursesとemacsの両方にportsコレクションを使用しました。この問題の解決策をまだ探しているかもしれない人々の利益のために、これは私のために働いたものです:
portsnap fetch extract
など/usr/ports/devel/ncurses
でMakefileを手動で編集し、CONFIGURE_ARGS
を定義する23行目でハードコードされた--enable-termcap
を--disable-termcap
に変更しました。これは、直接構成可能なオプションではなかったためです。make install
次にmake clean
/usr/ports/editors/emacs
を使用してX11なしでコンパイルおよびインストールされたemacsをmake FLAVOR=nox install
、次にmake clean
を使用Sudo tic -x -s xterm-24bit.terminfo
にエントリを書き込む/usr/local/share/misc/terminfo.db
を使用する必要がありました。env TERM=xterm-24bit emacsclient
のエイリアスを持っており、この質問の冒頭と同じterminfoをtic
を使用してインストールしました。それは機能し、24ビットカラーになっているので、macOS上のiTermからsshを介してリモートFreeBSDシェルセッションでソラリゼーションされた暗いテーマと明るいテーマを使用できます。
これらすべてに対してもっと簡単な解決策があるのではないかと思います。更新などのたびにすべてを再コンパイルするのは好きではありません。コメントや提案をいただければ幸いです。ちなみに、これはすべて ソーラー化されたテーマに関連するこのGithubの問題 に関連しています。