Я безуспешно пытаюсь включить поддержку 24-битной версии на терминале (через SSH) в своей установке FreeBSD 12.
Я попытался создать файл 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-битный цвет, и я использую этот режим через ssh на других моих машинах с Linux. Кто-нибудь использует 24-битные терминалы во FreeBSD?
Перекомпилирован ncurses с --отключением -termcap; Затем перекомпилировал emacs прямо из архива (, а не из портов ). Это сработало, как и ожидалось. Спасибо, @ThomasDickey, за указание мне пути:)
Я последовал предложениям @Rafael Gil по перекомпиляции emacs, однако я использовал коллекцию портов как для ncurses, так и для emacs. Для тех, кто, возможно, все еще ищет решение этой проблемы, это то, что сработало для меня:
portsnap fetch extract
и т. д. /usr/ports/devel/ncurses
вручную отредактировал Makefile, строка 23, которая определяет CONFIGURE_ARGS
изменение жестко заданного --enable-termcap
на --disable-termcap
, так как это не было настраиваемым параметром напрямую make install
затемmake clean
/usr/ports/editors/emacs
скомпилированный и установленный emacs без X11, используя make FLAVOR=nox install
, затемmake clean
sudo tic -x -s xterm-24bit.terminfo
, который записывает записи в /usr/local/share/misc/terminfo.db
на моем FreeBSD 12.1. env TERM=xterm-24bit emacsclient
, и я установил тот же термин, используя tic
, что и в начале этого вопроса. Это работает, и теперь у меня 24-битный цвет, поэтому я могу использовать солнечную -темную и светлую темы в удаленном сеансе оболочки FreeBSD через ssh из iTerm на macOS.
Интересно, есть ли более простое решение для всего этого — я не хочу перекомпилировать все это при каждом обновлении и т. д. Буду признателен за любые комментарии или предложения. Кстати, это все связано с этой проблемой Github, связанной с соляризованной темой .