summaryrefslogtreecommitdiff
path: root/lfs-12.1-sysv/chapter08/ncurses.html
diff options
context:
space:
mode:
authorSn4il <sn4il@thedroth.rocks>2024-09-02 15:54:35 +0300
committerSn4il <sn4il@thedroth.rocks>2024-09-02 15:54:35 +0300
commit2203e654b389586650d553251b04544a34f189bf (patch)
tree0125b69fc70a2506c53158ba2020993a5b8985b7 /lfs-12.1-sysv/chapter08/ncurses.html
parent200d528e55ca954d37769f4d143f10c9519b00e7 (diff)
downloadsn4il-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.html548
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">Раздел&nbsp;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>