%general-entities; ]> ncurses &ncurses-version;
&ncurses-url;
Ncurses-&ncurses-version; Ncurses <para>Пакет Ncurses содержит библиотеки для независимой от терминала обработки ввода/вывода</para> <segmentedlist> <segtitle>&buildtime;</segtitle> <segtitle>&diskspace;</segtitle> <seglistitem> <seg>&ncurses-fin-sbu;</seg> <seg>&ncurses-fin-du;</seg> </seglistitem> </segmentedlist> </sect2> <sect2 role="installation"> <title>Установка пакета Ncurses Подготовьте Ncurses к компиляции: ./configure --prefix=/usr \ --mandir=/usr/share/man \ --with-shared \ --without-debug \ --without-normal \ --with-cxx-shared \ --enable-pc-files \ --enable-widec \ --with-pkg-config-libdir=/usr/lib/pkgconfig Значение новых параметров настройки: --with-shared Этот параметр позволяет Ncurses собирать и устанавливать общие библиотеки C. --without-normal Этот параметр отключает сборку и установку большинства статических библиотек C. --without-debug Этот параметр предотвращает сборку и установку отладочных библиотек. --with-cxx-shared Это аргумент позволяет Ncurses собирать и устанавливать общие привязки C++. А также предотвращает сборку и установку статических привязок C++. --enable-pc-files Этот параметр генерирует и устанавливает файлы .pc для pkg-config. --enable-widec Этот параметр указывает, что при сборке пакета вместо обычных библиотек (например, libncurses.so.&ncurses-version;) будут использоваться библиотеки с расширенным набором символов (например, libncursesw.so.&ncurses-version;). Библиотеки с расширенным набором символов могут использоваться как с многобайтовыми локалями, так и с традиционными 8-битовыми локалями, тогда как обычные библиотеки работают только с 8-битовыми локалями. Библиотеки с расширенным набором символов и обычные библиотеки совместимы на уровне исходного кода, но не совместимыми на уровне двоичного. Скомпилируйте пакет: make У этого пакета есть набор тестов, но его можно запустить только после того, как пакет будет установлен. Тесты находятся в каталоге test/. Дополнительные сведения см. в файле README в этом каталоге. Установка этого пакета приведет к перезаписи libncursesw.so.&ncurses-version;. Это может привести к сбою процесса оболочки, который использует код и данные из файла библиотеки. Установите пакет с помощью DESTDIR и правильно замените файл библиотеки с помощью команды install. make DESTDIR=$PWD/dest install install -vm755 dest/usr/lib/libncursesw.so.&ncurses-version; /usr/lib rm -v dest/usr/lib/libncursesw.so.&ncurses-version; cp -av dest/* / Многие приложения ожидают, что компоновщик сможет найти библиотеки Ncurses, не поддерживающие расширенный набор символов. Свяжите такие приложения с библиотеками расширенного набора символов с помощью символических ссылок и скриптов компоновщика: for lib in ncurses form panel menu ; do rm -vf /usr/lib/lib${lib}.so echo "INPUT(-l${lib}w)" > /usr/lib/lib${lib}.so ln -sfv ${lib}w.pc /usr/lib/pkgconfig/${lib}.pc done Убедитесь, что старые приложения, которым нужна -lcurses для сборки, собираются правильно: rm -vf /usr/lib/libcursesw.so echo "INPUT(-lncursesw)" > /usr/lib/libcursesw.so ln -sfv libncurses.so /usr/lib/libcurses.so По желанию установите документацию Ncurses: cp -v -R doc -T /usr/share/doc/ncurses-&ncurses-version; С помощью приведенных выше инструкций не создаются библиотеки Ncurses, не использующие расширенный набор символов, поскольку ни один пакет, установленный путем компиляции из исходного кода, не будет связан с ними во время выполнения. Тем не менее, известно что некоторые бинарные приложения, которые связаны с библиотекой Ncurses и не поддерживающие расширенный набор символов, требуют наличия версии 5. Если вам необходимо иметь такие библиотеки из-за какого-либо приложения, имеющегося только в бинарном виде, или для обеспечения совместимости с LSB, соберите пакет с помощью следующих команд: make distclean ./configure --prefix=/usr \ --with-shared \ --without-normal \ --without-debug \ --without-cxx-binding \ --with-abi-version=5 make sources libs cp -av lib/lib*.so.5* /usr/lib Содержимое пакета Ncurses Установленные программы Установленные библиотеки Созданные каталоги captoinfo (ссылка на tic), clear, infocmp, infotocap (ссылка на tic), ncursesw6-config, reset (ссылка на tset), tabs, tic, toe, tput, и tset libcursesw.so (символическая ссылка и скрипт компоновщика на libncursesw.so), libformw.so, libmenuw.so, libncursesw.so, libncurses++w.so, libpanelw.so, и их аналоги без "w" в именах библиотек. /usr/share/tabset, /usr/share/terminfo, и /usr/share/doc/ncurses-&ncurses-version; Краткое описание captoinfo Преобразует описание termcap в описание terminfo captoinfo clear Очищает экран, если это возможно clear infocmp Сравнивает или показывает описания terminfo infocmp infotocap Преобразует описание terminfo в описание termcap infotocap ncursesw6-config Предоставляет информацию о конфигурации пакету ncurses ncursesw6-config reset Повторно инициализирует терминал со значениями по умолчанию reset tabs Очищает и устанавливает размеры табуляции в терминале tabs tic Компилятор описания terminfo, преобразует файл terminfo из исходного формата в двоичный, который необходим для подпрограмм библиотеки ncurses [Файл terminfo содержит информацию о возможностях конкретного терминала.] tic toe Выводит список всех доступных типов терминалов, для каждого из которых указывается его имя и приводится описание toe tput Позволяет использовать в командной оболочке настройки, относящиеся к особенностям конкретного терминала; может также использоваться для сброса или инициализации терминала, либо для вывода полного имени терминала tput tset Может использоваться для инициализации терминалов tset libcursesw Ссылка на libncursesw libcursesw libncursesw Содержит функции, отображающие различными способами текст на экране терминала. Хорошим примером использования этих функций является меню, отображаемое командой make menuconfig при настройке ядра libncursesw libncurses++w Содержит функции связывания C++ с другими библиотеками в пакете libncurses++w libformw Содержит функции, реализующие формы libformw libmenuw Содержит функции, реализующие меню libmenuw libpanelw Содержит функции, реализующие панели libpanelw