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ビット端末を使用している人はいますか?
答え1
@Rafael Gilが提案したようにemacsを再コンパイルしましたが、ncursesとemacsのポートコレクションを使用しました。それでもこの問題に対する解決策を探している人にとっては、この方法は私にとって効果的でした。
- いつものようにポートコレクション
portsnap fetch extract
などをインポートして抽出します。 /usr/ports/devel/ncurses
手動で編集したMakefileの23行目は、CONFIGURE_ARGS
ハードコードされた項目を変更することを--enable-termcap
定義します--disable-termcap
。これは、自分で設定できるオプションではないからです。make install
それからmake clean
- X11なしでコンパイル
/usr/ports/editors/emacs
およびインストールされたemacsを使用するmake FLAVOR=nox install
make clean
- コンパイルされたxterm-24bit terminfoファイルを共有に追加する必要があることがわかりました。システムまず、ユーザーのホームディレクトリの代わりに-emacsを含むユーティリティは、ホームディレクトリの定義を見ることができません。つまり、FreeBSD 12.1に
sudo tic -x -s xterm-24bit.terminfo
エントリを作成するにはそれを使用する必要があります。/usr/local/share/misc/terminfo.db
- 始めるために別名があり、
env TERM=xterm-24bit emacsclient
この質問の上部にある同じterminfoを使用して同じterminfoをインストールしました。tic
機能し、24ビットカラーがあるので、macOSのiTermでsshを介してリモートFreeBSDシェルセッションでソーラーテーマを使用できるようになりました。
これらすべてのためのより簡単な解決策があるかどうか疑問に思います。すべての更新などを再コンパイルするのは好きではありません。どんな意見や提案でも大変感謝いたします。ちなみに、これらすべては以下に関連していますこのGithubの問題はSolarizedトピックに関連しています。。
答え2
--disable-termcapを使用してncursesを再コンパイルし、(ポートではなく)tarballから直接emacsを再コンパイルすると、期待どおりに機能します。私に従うべき道を示した@ThomasDickeyに感謝します:)