8.29. Ncurses-6.4-20230520

Ncurses 패키지에는 터미널에 독립적인 문자 화면 처리를 위한 라이브러리가 포함되어 있습니다.

대략적인 빌드 시간: 0.2 SBU
필요한 디스크 공간: 45MB

8.29.1. Ncurses 설치

컴파일을 위해 Ncurses를 준비합니다:

새로운 구성 옵션의 의미:

–with-shared
이 옵션은 공유 C 라이브러리를 빌드하고 설치합니다.

–without-normal
정적 C 라이브러리를 빌드 및 설치하지 않습니다.

–without-debug
Ncurses가 디버그 라이브러리를 빌드 및 설치하지 않도록 합니다.

–with-cxx-shared
Ncurses가 공유 C++ 바인딩을 빌드 및 설치하도록 합니다. 또한 정적 C++ 바인딩을 빌드 및 설치하지 못하도록 합니다.

-enable-pc-files
이 스위치는 pkg-config용 .pc 파일을 생성하고 설치합니다.

–enable-widec
이 스위치는 일반 라이브러리(예: libncursesw.so.6.4) 대신 와이드 문자 라이브러리(예: libncurses.so.6.4)를 빌드하도록 한다. 이러한 와이드 문자 라이브러리는 멀티바이트 및 기존 8비트 로캘에서 모두 사용할 수 있지만 일반 라이브러리는 8비트 로캘에서만 제대로 작동합니다. 와이드 문자 라이브러리와 일반 라이브러리는 소스 호환이 가능하지만 바이너리 호환은 불가능합니다.

패키지를 컴파일합니다:

이 패키지에는 테스트 스위트가 있지만 패키지를 설치한 후에만 실행할 수 있습니다. 테스트는 test/ 디렉터리에 있습니다. 자세한 내용은 해당 디렉터리에 있는 README 파일을 참조하세요.

이 패키지를 설치하면 libncursesw.so.6.4를 덮어씁니다. 라이브러리 파일의 코드와 데이터를 사용하는 셸 프로세스가 충돌할 수 있습니다. DESTDIR에 패키지를 설치하고 설치 명령을 사용하여 라이브러리 파일을 올바르게 바꿉니다(curses.h 헤더도 6.3절 "Ncurses-6.4-20230520"에서 수행한 것과 같이 와이드 문자 ABI가 사용되도록 편집됩니다):

많은 애플리케이션은 여전히 링커가 와이드 문자가 아닌 Ncurses 라이브러리를 찾을 수 있기를 기대합니다. 이러한 애플리케이션은 심볼릭 링크를 통해 와이드 문자 라이브러리와 연결하도록 속입니다(.so 링크는 항상 와이드 문자 ABI를 사용하도록 curses.h를 편집한 경우에만 안전합니다):

마지막으로, 빌드 시점에 -lcurses를 찾는 이전 애플리케이션이 여전히 빌드 가능하도록 합니다:

원하는 경우 Ncurses 문서를 설치합니다:

참고 위의 지침은 소스에서 컴파일하여 설치한 패키지가 런타임에 링크되지 않으므로 와이드 문자가 아닌 Ncurses 라이브러리를 만들지 않습니다. 그러나 와이드 문자가 아닌 Ncurses 라이브러리에 대해 링크하는 알려진 유일한 바이너리 전용 애플리케이션은 버전 5가 필요합니다. 일부 바이너리 전용 애플리케이션 때문에 또는 LSB를 준수하기 위해 이러한 라이브러리가 반드시 필요한 경우 다음 명령을 사용하여 패키지를 다시 빌드하세요:

8.29.2. Ncurses 구성

설치된 프로그램:

captoinfo (link to tic), clear, infocmp, infotocap (link to tic), ncursesw6-config, reset (link to tset), tabs, tic, toe, tput, and tset

설치된 라입브러리:

libcurses.so (symlink), libform.so (symlink), libformw.so, libmenu.so (symlink), libmenuw.so, libncurses.so (symlink), libncursesw.so, libncurses++w.so, libpanel.so (symlink), and libpanelw.so

설치된 디렉토리:

/usr/share/tabset, /usr/share/terminfo, and /usr/share/doc/ncurses-6.4-20230520

간략한 설명

captoinfo
termcap description을 terminfo description로 변환합니다.

clear
가능한 경우 화면을 지웁니다.

infocmp
terminfo description을 비교하거나 출력합니다.

infotocap
terminfo description설명을 termcap description으로 변환합니다.

ncursesw6-config
ncurses에 대한 구성 정보를 제공합니다.

reset
터미널을 기본값으로 초기화합니다.

tabs
터미널에서 탭의 행동방식을 설정합니다.

tic
terminfo 파일을 소스 형식에서 ncurses 라이브러리 루틴에 필요한 바이너리 형식으로 변환하는 terminfo entry-decscription 컴파일러 [텀인포 파일에는 특정 터미널의 기능에 대한 정보가 포함되어 있습니다.]

toe
사용 가능한 모든 터미널 유형을 나열하고 각 유형에 대한 기본 이름과 설명을 제공합니다.

tput
터미널 종속 기능의 값을 셸에서 사용할 수 있게 합니다. 터미널을 재설정 또는 초기화하거나 긴 이름을 보고하는 데 사용할 수도 있습니다.

tset
터미널을 초기화하는 데 사용할 수 있습니다

libncursesw
터미널 화면에 여러 가지 복잡한 방식으로 텍스트를 표시하는 함수를 포함합니다; 이 함수의 사용의 좋은 예는 커널의 make menuconfig 중에 표시되는 메뉴입니다.

libncurses++w
이 패키지의 다른 라이브러리에 대한 C++ 바인딩을 포함합니다.

libformw
폼을 구현하는 함수를 포함합니다

libmenuw
메뉴를 구현하는 함수를 포함합니다

libpanelw
패널을 구현하는 함수가 들어 있습니다.