Trên máy Linux cục bộ của tôi, tôi đang sử dụng mối (dựa trên VTE) . Nó đi kèm với tệp terminfo của riêng nó ( xterm-termite
), không được phân phối với ncurses theo mặc định.
Tôi cố gắng kết nối với một máy chủ FreeBSD từ xa. Thật không may, FreeBSD theo mặc định chỉ sử dụng định dạng termcap cũ hơn. Tôi chưa thể tìm cách chuyển đổi terminfo thành termcap. Vì vậy, trong khi tôi có thể biên dịch một phiên bản ncurses bao gồm hỗ trợ terminfo từ các cổng ( devel/ncurses
), các ứng dụng ncurses sẽ liên kết với lib do hệ thống cung cấp theo mặc định. Điều này dẫn đến các ứng dụng không khởi chạy được:
$ echo $TERM
xterm-termite
$ toe | grep termite
xterm-termite VTE-based terminal
$ tmux
open terminal failed: can't find terminfo database
$ htop
Error opening terminal: xterm-termite.
( toe
liệt kê các mục terminfo)
Làm cách nào tôi có thể khiến FreeBSD sử dụng terminfo theo mặc định hoặc buộc các ứng dụng sử dụng lib ncurses do cổng cung cấp hoặc ít nhất là chuyển đổi terminfo thành dữ liệu termcap?
(Tôi biết các cách giải quyết như đặt TERM
giá trị an toàn như thế nào xterm-256color
, nhưng tôi nghĩ rằng điều đó đánh bại mục đích của terminfo)
infocmp -C xterm-termite >> /usr/share/misc/termcap; cap_mkdb /usr/share/misc/termcap
. Vui lòng thêm nó dưới dạng câu trả lời, vì vậy tôi có thể phê duyệt nó.
infocmp -C
tạo ra một mục termcap.