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에게 감사드립니다 :)