diff options
author | Sn4il <sn4il@thedroth.rocks> | 2024-09-02 15:54:35 +0300 |
---|---|---|
committer | Sn4il <sn4il@thedroth.rocks> | 2024-09-02 15:54:35 +0300 |
commit | 2203e654b389586650d553251b04544a34f189bf (patch) | |
tree | 0125b69fc70a2506c53158ba2020993a5b8985b7 /lfs-12.1-sysv/chapter08/ncurses.html | |
parent | 200d528e55ca954d37769f4d143f10c9519b00e7 (diff) | |
download | sn4il-site-2203e654b389586650d553251b04544a34f189bf.tar.gz sn4il-site-2203e654b389586650d553251b04544a34f189bf.zip |
LFS 12.2
Diffstat (limited to 'lfs-12.1-sysv/chapter08/ncurses.html')
-rw-r--r-- | lfs-12.1-sysv/chapter08/ncurses.html | 548 |
1 files changed, 0 insertions, 548 deletions
diff --git a/lfs-12.1-sysv/chapter08/ncurses.html b/lfs-12.1-sysv/chapter08/ncurses.html deleted file mode 100644 index 359af24..0000000 --- a/lfs-12.1-sysv/chapter08/ncurses.html +++ /dev/null @@ -1,548 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> - <title> - 8.29. Ncurses-6.4-20230520 - </title> - <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> - <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /> - <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= - "text/css" media="print" /> - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - </head> - <body class="lfs" id="lfs-12.1"> - <div class="navheader"> - <h4> - Линукс с нуля - Версия 12.1 - </h4> - <h3> - Глава 8. Установка базового системного программного обеспечения - </h3> - <ul> - <li class="prev"> - <a accesskey="p" href="gcc.html" title="GCC-13.2.0">Пред.</a> - <p> - GCC-13.2.0 - </p> - </li> - <li class="next"> - <a accesskey="n" href="sed.html" title="Sed-4.9">След.</a> - <p> - Sed-4.9 - </p> - </li> - <li class="up"> - <a accesskey="u" href="chapter08.html" title= - "Глава 8. Установка базового системного программного обеспечения">Наверх</a> - </li> - <li class="home"> - <a accesskey="h" href="../index.html" title= - "Линукс с нуля - Версия 12.1">Начало</a> - </li> - </ul> - </div> - <h1 class="sect1"> - <a id="ch-system-ncurses" name="ch-system-ncurses"></a>8.29. - Ncurses-6.4-20230520 - </h1> - <div class="wrap" lang="ru" xml:lang="ru"> - <div class="package" lang="ru" xml:lang="ru"> - <p> - Пакет Ncurses содержит библиотеки для независимой от терминала - обработки ввода/вывода - </p> - <div class="segmentedlist"> - <div class="seglistitem"> - <div class="seg"> - <strong class="segtitle">Приблизительное время сборки:</strong> - <span class="segbody">0.2 SBU</span> - </div> - <div class="seg"> - <strong class="segtitle">Требуемое дисковое - пространство:</strong> <span class="segbody">45 MB</span> - </div> - </div> - </div> - </div> - <div class="installation" lang="ru" xml:lang="ru"> - <h2 class="sect2"> - 8.29.1. Установка пакета Ncurses - </h2> - <p> - Подготовьте Ncurses к компиляции: - </p> - <pre class="userinput"><kbd class= - "command">./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</kbd></pre> - <div class="variablelist"> - <p class="title"> - <strong>Значение новых параметров настройки:</strong> - </p> - <dl class="variablelist"> - <dt> - <span class="term"><em class= - "parameter"><code>--with-shared</code></em></span> - </dt> - <dd> - <p> - Этот параметр позволяет Ncurses собирать и устанавливать - общие библиотеки C. - </p> - </dd> - <dt> - <span class="term"><em class= - "parameter"><code>--without-normal</code></em></span> - </dt> - <dd> - <p> - Этот параметр отключает сборку и установку большинства - статических библиотек C. - </p> - </dd> - <dt> - <span class="term"><em class= - "parameter"><code>--without-debug</code></em></span> - </dt> - <dd> - <p> - Этот параметр предотвращает сборку и установку отладочных - библиотек. - </p> - </dd> - <dt> - <span class="term"><em class= - "parameter"><code>--with-cxx-shared</code></em></span> - </dt> - <dd> - <p> - Это аргумент позволяет Ncurses собирать и устанавливать общие - привязки C++. А также предотвращает сборку и установку - статических привязок C++. - </p> - </dd> - <dt> - <span class="term"><em class= - "parameter"><code>--enable-pc-files</code></em></span> - </dt> - <dd> - <p> - Этот параметр генерирует и устанавливает файлы .pc для - pkg-config. - </p> - </dd> - <dt> - <span class="term"><em class= - "parameter"><code>--enable-widec</code></em></span> - </dt> - <dd> - <p> - Этот параметр указывает, что при сборке пакета вместо обычных - библиотек (например, <code class= - "filename">libncurses.so.6.4</code>) будут использоваться - библиотеки с расширенным набором символов (например, - <code class="filename">libncursesw.so.6.4</code>). Библиотеки - с расширенным набором символов могут использоваться как с - многобайтовыми локалями, так и с традиционными 8-битовыми - локалями, тогда как обычные библиотеки работают только с - 8-битовыми локалями. Библиотеки с расширенным набором - символов и обычные библиотеки совместимы на уровне исходного - кода, но не совместимыми на уровне двоичного. - </p> - </dd> - </dl> - </div> - <p> - Скомпилируйте пакет: - </p> - <pre class="userinput"><kbd class="command">make</kbd></pre> - <p> - У этого пакета есть набор тестов, но его можно запустить только - после того, как пакет будет установлен. Тесты находятся в каталоге - <code class="filename">test/</code>. Дополнительные сведения - смотрите в файле <code class="filename">README</code> в этом - каталоге. - </p> - <p> - Установка этого пакета приведет к перезаписи <code class= - "filename">libncursesw.so.6.4</code>. Это может привести к сбою - процесса оболочки, который использует код и данные из файла - библиотеки. Установите пакет с помощью <code class= - "literal">DESTDIR</code> и правильно замените файл библиотеки с - помощью команды <span class= - "command"><strong>install</strong></span>(также отредактирован - заголовочный файл <code class="filename">curses.h</code>, чтобы - обеспечить использование ABI расширенного набора символов, как это - сделано в <a class="xref" href="../chapter06/ncurses.html" title= - "6.3. Ncurses-6.4-20230520">Раздел 6.3, - «Ncurses-6.4-20230520»</a>). - </p> - <pre class="userinput"><kbd class= - "command">make DESTDIR=$PWD/dest install -install -vm755 dest/usr/lib/libncursesw.so.6.4 /usr/lib -rm -v dest/usr/lib/libncursesw.so.6.4 -sed -e 's/^#if.*XOPEN.*$/#if 1/' \ - -i dest/usr/include/curses.h -cp -av dest/* /</kbd></pre> - <p> - Многие приложения ожидают, что компоновщик может найти библиотеки - Ncurses, не поддерживающие расширенный набор символов. Используя - трюк ниже, свяжите такие приложения с библиотеками расширенного - набора символов с помощью символических ссылок (обратите внимание, - что ссылки <code class="filename">.so</code> безопасны только в том - случае, если <code class="filename">curses.h</code> отредактирован - так, чтобы всегда использовать ABI расширенного набора символов): - </p> - <pre class="userinput"><kbd class= - "command">for lib in ncurses form panel menu ; do - ln -sfv lib${lib}w.so /usr/lib/lib${lib}.so - ln -sfv ${lib}w.pc /usr/lib/pkgconfig/${lib}.pc -done</kbd></pre> - <p> - Убедитесь, что старые приложения, которым нужна <code class= - "filename">-lcurses</code> для сборки, собираются правильно: - </p> - <pre class="userinput"><kbd class= - "command">ln -sfv libncursesw.so /usr/lib/libcurses.so</kbd></pre> - <p> - По желанию установите документацию Ncurses: - </p> - <pre class="userinput"><kbd class= - "command">cp -v -R doc -T /usr/share/doc/ncurses-6.4-20230520</kbd></pre> - <div class="admon note"> - <img alt="[Примечание]" src="../images/note.png" /> - <h3> - Примечание - </h3> - <p> - С помощью приведенных выше инструкций не создаются библиотеки - Ncurses, не использующие расширенный набор символов, поскольку ни - один пакет, установленный путем компиляции из исходного кода, не - будет связан с ними во время выполнения. Тем не менее, известно - что некоторые бинарные приложения, которые связаны с библиотекой - Ncurses и не поддерживающие расширенный набор символов, требуют - наличия версии 5. Если вам необходимо иметь такие библиотеки - из-за какого-либо приложения, имеющегося только в бинарном виде, - или для обеспечения совместимости с LSB, соберите пакет с помощью - следующих команд: - </p> - <pre class="userinput"><kbd class="command">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</kbd></pre> - </div> - </div> - <div class="content" lang="ru" xml:lang="ru"> - <h2 class="sect2"> - <a id="contents-ncurses" name="contents-ncurses"></a>8.29.2. - Содержимое пакета Ncurses - </h2> - <div class="segmentedlist"> - <div class="seglistitem"> - <div class="seg"> - <strong class="segtitle">Установленные программы:</strong> - <span class="segbody">captoinfo (ссылка на tic), clear, - infocmp, infotocap (ссылка на tic), ncursesw6-config, reset - (ссылка на tset), tabs, tic, toe, tput и tset</span> - </div> - <div class="seg"> - <strong class="segtitle">Установленные библиотеки:</strong> - <span class="segbody">libcurses.so (символическая ссылка), - libform.so (символическая ссылка), libformw.so, libmenu.so - (символическая ссылка), libmenuw.so, libncurses.so - (символическая ссылка), libncursesw.so, libncurses++w.so, - libpanel.so (символическая ссылка) и libpanelw.so,</span> - </div> - <div class="seg"> - <strong class="segtitle">Созданные каталоги:</strong> - <span class="segbody">/usr/share/tabset, /usr/share/terminfo и - /usr/share/doc/ncurses-6.4-20230520</span> - </div> - </div> - </div> - <div class="variablelist"> - <h3> - Краткое описание - </h3> - <table border="0" class="variablelist"> - <colgroup> - <col align="left" valign="top" /> - <col /> - </colgroup> - <tbody> - <tr> - <td> - <p> - <a id="captoinfo" name="captoinfo"></a><span class= - "term"><span class= - "command"><strong>captoinfo</strong></span></span> - </p> - </td> - <td> - <p> - Преобразует описание termcap в описание terminfo - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="clear" name="clear"></a><span class= - "term"><span class= - "command"><strong>clear</strong></span></span> - </p> - </td> - <td> - <p> - Очищает экран, если это возможно - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="infocmp" name="infocmp"></a><span class= - "term"><span class= - "command"><strong>infocmp</strong></span></span> - </p> - </td> - <td> - <p> - Сравнивает или показывает описания terminfo - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="infotocap" name="infotocap"></a><span class= - "term"><span class= - "command"><strong>infotocap</strong></span></span> - </p> - </td> - <td> - <p> - Преобразует описание terminfo в описание termcap - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="ncursesw6-config" name= - "ncursesw6-config"></a><span class="term"><span class= - "command"><strong>ncursesw6-config</strong></span></span> - </p> - </td> - <td> - <p> - Предоставляет информацию о конфигурации пакету ncurses - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="reset" name="reset"></a><span class= - "term"><span class= - "command"><strong>reset</strong></span></span> - </p> - </td> - <td> - <p> - Повторно инициализирует терминал со значениями по - умолчанию - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="tabs" name="tabs"></a><span class= - "term"><span class= - "command"><strong>tabs</strong></span></span> - </p> - </td> - <td> - <p> - Очищает и устанавливает размеры табуляции в терминале - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="tic" name="tic"></a><span class= - "term"><span class="command"><strong>tic</strong></span></span> - </p> - </td> - <td> - <p> - Компилятор описания terminfo, преобразует файл terminfo - из исходного формата в двоичный, который необходим для - подпрограмм библиотеки ncurses [Файл terminfo содержит - информацию о возможностях конкретного терминала.] - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="toe" name="toe"></a><span class= - "term"><span class="command"><strong>toe</strong></span></span> - </p> - </td> - <td> - <p> - Выводит список всех доступных типов терминалов, для - каждого из которых указывается его имя и приводится - описание - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="tput" name="tput"></a><span class= - "term"><span class= - "command"><strong>tput</strong></span></span> - </p> - </td> - <td> - <p> - Позволяет использовать в командной оболочке настройки, - относящиеся к особенностям конкретного терминала; может - также использоваться для сброса или инициализации - терминала, либо для вывода полного имени терминала - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="tset" name="tset"></a><span class= - "term"><span class= - "command"><strong>tset</strong></span></span> - </p> - </td> - <td> - <p> - Может использоваться для инициализации терминалов - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="libncursesw" name="libncursesw"></a><span class= - "term"><code class="filename">libncursesw</code></span> - </p> - </td> - <td> - <p> - Содержит функции, отображающие различными способами текст - на экране терминала. Хорошим примером использования этих - функций является меню, отображаемое командой <span class= - "command"><strong>make menuconfig</strong></span> при - настройке ядра - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="libncurses__w" name= - "libncurses__w"></a><span class="term"><code class= - "filename">libncurses++w</code></span> - </p> - </td> - <td> - <p> - Содержит функции связывания C++ с другими библиотеками в - пакете - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="libformw" name="libformw"></a><span class= - "term"><code class="filename">libformw</code></span> - </p> - </td> - <td> - <p> - Содержит функции, реализующие формы - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="libmenuw" name="libmenuw"></a><span class= - "term"><code class="filename">libmenuw</code></span> - </p> - </td> - <td> - <p> - Содержит функции, реализующие меню - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="libpanelw" name="libpanelw"></a><span class= - "term"><code class="filename">libpanelw</code></span> - </p> - </td> - <td> - <p> - Содержит функции, реализующие панели - </p> - </td> - </tr> - </tbody> - </table> - </div> - </div> - </div> - <div class="navfooter"> - <ul> - <li class="prev"> - <a accesskey="p" href="gcc.html" title="GCC-13.2.0">Пред.</a> - <p> - GCC-13.2.0 - </p> - </li> - <li class="next"> - <a accesskey="n" href="sed.html" title="Sed-4.9">След.</a> - <p> - Sed-4.9 - </p> - </li> - <li class="up"> - <a accesskey="u" href="chapter08.html" title= - "Глава 8. Установка базового системного программного обеспечения">Наверх</a> - </li> - <li class="home"> - <a accesskey="h" href="../index.html" title= - "Линукс с нуля - Версия 12.1">Начало</a> - </li> - </ul> - </div> - </body> -</html> |