slitaz-doc-wiki-data view pages/ru/scratchbook/base-ncurses.txt @ rev 2

Add pages/ru folder.
author Christopher Rogers <slaxemulator@gmail.com>
date Sat Feb 26 12:11:48 2011 +0000 (2011-02-26)
parents
children
line source
1 ======Приложения и библиотеки ncurses======
3 Установка и настройка библиотек и приложений ncurses.
6 =====Введение=====
8 В этой главе описываются создание и установка некоторых приложений и библиотек ncurses в систему SliTaz. Данная процедура включает переход в папку ///src//, скачивание соответствующих исходников в эту папку, их распаковку, изучение файлов //README// или //INSTALL//, компиляцию и установку исполняемых файлов. Завершив установку всех файлов, мы создаем новый initramfs, копируем его в корневой каталог CD-ROM и собираем новый ISO-образ. Для последнего действия можно использовать утилиту ''mktaziso'' из состава [[ru:cookbook:slitaz-tools|SliTaz tools]].
11 ===Назначаем переменную окружения ($fs)===
13 Переменная окружения не указывает путь к той или иной папке, а только имя этой папки. Зададим переменной окружения $fs путь к папке корневой файловой системы (rootfs). Для этого перейдем в рабочую папку //SliTaz/// и наберем:
15 <code># export fs=$PWD/rootfs</code>
17 А для проверки выполним команду:
19 <code># echo $fs</code>
22 =====ncurses-5.6 — утилиты и библиотеки для терминала=====
24 ncurses ([[http://dickey.his.com/ncurses/|dickey.his.com/ncurses/]]) содержит функции для отображения текста различными способами на экране терминала Linux, а также предоставляет файл terminfo. Библиотеки ncurses используют, среди прочего, retawq, nano и некоторые игры. Установим библиотеки в папку ///lib//, а всё остальное — в ///usr/bin//, и выполним команду strip для уменьшения размера исполняемых файлов:
26 <code>
27 # cd src
28 # wget ftp://invisible-island.net/ncurses/ncurses-5.6.tar.gz
29 # tar xzf ncurses-5.6.tar.gz
30 # cd ncurses-5.6
31 # ./configure --prefix=/usr \
32 --libdir=/lib --sysconfdir=/etc \
33 --infodir=/usr/share/info --mandir=/usr/share/man \
34 --with-shared --without-debug --without-ada
35 # make
36 # make DESTDIR=$PWD/_pkg install
37 # strip -v _pkg/lib/*
38 # strip -v _pkg/usr/bin/*
39 </code>
41 Скопируем библиотеку libncurses и некоторые приложения в будущую систему SliTaz. В конце скрипта инициализации rcS используется утилита reset, которая убирает логотип Linux при загрузке системы. При желании, вы можете скопировать сопутствующие утилиты (tic, tac, toe и т.д.). Будьте осторожны и не удалите ссылку на BusyBox:
43 <code>
44 # cp -a _pkg/lib/libncurses.so* $fs/lib
45 # cp -ia _pkg/usr/bin/{clear,ncurses5-config,tset,reset} \
46 $fs/usr/bin
47 </code>
49 Скопируем файлы terminfo, нам понадобятся всего несколько таких файлов. Если вам понадобится больше, вы можете их тоже добавить:
51 <code>
52 # mkdir -v $fs/usr/share/terminfo
53 # mkdir -v $fs/usr/share/terminfo/{a,l,r,v,x}
54 # cp _pkg/usr/share/terminfo/a/ansi \
55 $fs/usr/share/terminfo/a
56 # cp _pkg/usr/share/terminfo/l/linux \
57 $fs/usr/share/terminfo/l
58 # cp _pkg/usr/share/terminfo/r/rxvt \
59 $fs/usr/share/terminfo/r
60 # cp _pkg/usr/share/terminfo/x/{xterm,xterm-color,xterm-new,xterm-vt220} \
61 $fs/usr/share/terminfo/x
62 # cp _pkg/usr/share/terminfo/v/{vt100,vt102*} \
63 $fs/usr/share/terminfo/v
64 </code>
66 Скопируем файлы tabset:
68 <code># cp -a _pkg/usr/share/tabset $fs/usr/share</code>
71 =====clex-3.16 — файловый менеджер=====
73 CLEX ([[http://www.clex.sk/|www.clex.sk]]) — это маленький файловый менеджер (160 Кб), использующий ncurses. Файл конфигурации — //~/clexrc//, а файл //~/.clexbm// содержит закладки:
75 <code>
76 # cd ..
77 # wget http://www.clex.sk/download/clex-3.16.tar.gz
78 # tar xzf clex-3.16.tar.gz
79 # cd clex-3.16
80 # ./configure --prefix=/usr --infodir=/usr/share/info \
81 --mandir=/usr/share/man
82 # make
83 # make DESTDIR=$PWD/_pkg install
84 # strip -v _pkg/usr/bin/clex
85 </code>
87 Установим бинарник clex в rootfs SliTaz:
89 <code># cp _pkg/usr/bin/clex $fs/usr/bin</code>
92 ===Библиотеки===
94 Выполнив команду ''ldd'' на clex, мы увидим его зависимости:
96 <file>
97 libncurses.so.5 => /lib/libncurses.so.5 (0x40025000)
98 libc.so.6 => /lib/libc.so.6 (0x40064000)
99 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
100 </file>
103 =====nano-2.0.6 — мощный текстовый редактор=====
105 GNU nano ([[http://www.nano-editor.org/|www.nano-editor.org]]) представляет собой хорошо известный, быстрый и эффективный текстовый редактор для Linux, поддерживающий подсветку синтакиса. В SliTaz он является текстовым редактором по умолчанию:
107 <code>
108 # cd ..
109 # wget http://www.nano-editor.org/dist/v2.0/nano-2.0.6.tar.gz
110 # tar xzf nano-2.0.6.tar.gz
111 # cd nano-2.0.6
112 # ./configure --enable-all --enable-extra --prefix=/usr \
113 --infodir=/usr/share/info --mandir=/usr/share/man \
114 --sysconfdir=/etc
115 # make
116 # make DESTDIR=$PWD/_pkg install
117 # strip -v _pkg/usr/bin/nano
118 </code>
120 Скопируем исполняемый файл nano и ссылку rnano в SliTaz:
122 <code># cp -a _pkg/usr/bin/* $fs/usr/bin</code>
124 Скопируем файлы настроек в //_pkg/usr/share/nano// нашей rootfs:
126 <code># cp -a _pkg/usr/share/nano $fs/usr/share</code>
129 ===Библиотеки===
131 Выполнив команду ''ldd'' на nano, получим его зависимости:
133 <file>
134 libncurses.so.5 => /lib/libncurses.so.5 (0x40025000)
135 libc.so.6 => /lib/libc.so.6 (0x40064000)
136 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
137 </file>
140 ===Локализация===
142 Чтобы добавить в nano перевод на другие языки, скопируем файлы с расширением .mo (они были созданы при установке nano) из папки ///usr/share/locale/(fr,en,de,es,...)/LC_MESSAGES// в папку rootfs. Пример для русского языка:
144 <code># cp -a _pkg/usr/share/locale/ru/LC_MESSAGES $fs/usr/share/locale/ru</code>
147 ===Настраиваем nano===
149 Настроить nano можно через файл ///etc/nanorc// или //~/.nanorc// для каждого пользователя системы. Именно в этих файлах вы можете определить цветовую гамму nano, которую он будет брать из файлов в папке ///usr/share/nano//. Хороший пример такого файла вы найдете в архиве nano и в [[ru:cookbook:slitaz-tools|SliTaz tools]].
151 Скопируем файл конфигурации nano из SliTaz tools в папку ///etc// нашей rootfs:
153 <code>
154 # cd ..
155 # cp -a slitaz-tools-1.1/etc/nanorc $fs/etc
156 </code>
159 =====retawq-0.2.6c — консольный веб-браузер=====
161 retawq ([[http://retawq.sourceforge.net/|retawq.sourceforge.net]]) — маленький консольный веб-браузер. Мы отметим совсем немного полезных опций при его конфигурации. retawq требует файлы terminfo, библиотеки libncurses и libpthread:
163 <code>
164 # wget http://switch.dl.sourceforge.net/sourceforge/retawq/retawq-0.2.6c.tar.gz
165 # tar xzf retawq-0.2.6c.tar.gz
166 # cd retawq-0.2.6c
167 # ./configure --enable-i18n --enable-local-cgi --path-prefix=/usr \
168 --path-doc=/usr/share/doc/retawq --path-man=/usr/share/man
169 # make
170 # strip -v retawq
171 </code>
173 Скопируем бинарник в SliTaz:
175 <code># cp retawq $fs/usr/bin</code>
178 ===Библиотеки===
180 <file>
181 libncurses.so.5 => /lib/libncurses.so.5 (0x40025000)
182 libpthread.so.0 => /lib/libpthread.so.0 (0x40064000)
183 libc.so.6 => /lib/libc.so.6 (0x40074000)
184 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
185 </file>
187 Можно скопировать библиотеку libpthread из вашей основной системы или из микропакета glibc-2.3.6, созданного разработчиками SliTaz:
189 <code>
190 # cp -a /lib/libpthread* $fs/lib
191 # strip --strip-unneeded $fs/lib/*
192 </code>
195 ===Локализация===
197 Скопируем файлы .mo из папки ///i18n// архива retawq в ///usr/share/locale/(fr,en,es,...)/LC_MESSAGES//. Пример для русского языка с переименованием файла в retawq.mo:
199 <code># cp -v i18n/ru.mo $fs/usr/share/locale/ru/LC_MESSAGES/retawq.mo</code>
202 ===Настройка retawq===
204 Для настройки retawq можно использовать папку //~/.retawq//, содержащую файл конфигурации. Также можно сохранить закладки в виде html-файла в корневом каталоге пользователя. В архиве retawq или [[ru:cookbook:slitaz-tools|SliTaz tools]] вы найдете папку //examples///, содержащую файл bookmarks.html с примером списка веб-страниц. Также вы можете скопировать помощь по retawq (папка ///documents//) в ///usr/share/doc/retawq//.
207 =====htop-6.0.5 — диспетчер задач системы=====
209 htop ([[http://htop.sourceforge.net/|htop.sourceforge.net]]) отображает системные процессы, используя ncurses.
211 Вернемся в папку ///src//, где скачаем, распакуем, сконфигурируем, скомплируем и очистим программу (утилитой strip):
213 <code>
214 # cd ..
215 # wget http://switch.dl.sourceforge.net/sourceforge/htop/htop-0.6.5.tar.gz
216 # tar xzf htop-0.6.5.tar.gz
217 # cd htop-0.6.5
218 # ./configure --prefix=/usr --mandir=/usr/share/man
219 # make
220 # make DESTDIR=$PWD/_pkg install
221 # strip -v _pkg/usr/bin/htop
222 </code>
224 Скопируем исполняемый файл htop в SliTaz:
226 <code># cp _pkg/usr/bin/htop $fs/usr/bin</code>
228 Еще можно скопировать значок htop из //_pkg/usr/share/pixmaps//.
231 ===Библиотеки===
233 <file>
234 libm.so.6 => /lib/libm.so.6 (0xb7f97000)
235 libncurses.so.5 => /lib/libncurses.so.5 (0xb7f55000)
236 libc.so.6 => /lib/libc.so.6 (0xb7e20000)
237 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0xb7fc9000)
238 </file>
241 =====dialog-1.1.20070409 — shell-скрипты с графическим интерфейсом=====
243 dialog ([[http://invisible-island.net/dialog/dialog.html|invisible-island.net/dialog/dialog.html]]) — это утилита для создания консольных приложений с графическим интерфейсом:
245 <code>
246 # cd ..
247 # wget ftp://invisible-island.net/dialog/dialog.tar.gz
248 # tar xzf dialog.tar.gz
249 # cd dialog-1.1-20070409
250 # ./configure --enable-nls --with-ncurses --prefix=/usr \
251 --sysconfdir=/etc --mandir=/usr/share/man
252 # make
253 # make DESTDIR=$PWD/_pkg install
254 # strip -v _pkg/usr/bin/dialog
255 </code>
257 Скопируем в SliTaz бинарник dialog:
259 <code># cp _pkg/usr/bin/dialog $fs/usr/bin</code>
262 ===Библиотеки===
264 <file>
265 libncurses.so.5 => /lib/libncurses.so.5 (0x40027000)
266 libm.so.6 => /lib/libm.so.6 (0x40066000)
267 libc.so.6 => /lib/libc.so.6 (0x40089000)
268 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
269 </file>
271 ===Локализация===
273 При желании, вы можете установить файлы локализации:
275 <code># cp -a _pkg/usr/share/locale/ru $fs/usr/share/locale</code>
277 Файлы конфигурации dialog — ///etc/dialogrc// и/или //~/.dialogrc// для каждого пользователя. В исходниках программы вы найдете полноценные примеры скриптов (папка ///sample//).
280 =====Ninvaders-0.1.1 — клон игры Space Invaders=====
282 ninvaders ([[http://ninvaders.sourceforge.net/|ninvaders.sourceforge.net]]) — это клон популярной игры Space Invaders (размером 46 Кб). Как обычно, для установки программы перейдем в папку ///src//, выполним все необходимые действия, а затем скопируем исполняемый файл nInvaders в папку ///usr/games//:
284 <code>
285 # cd ..
286 # wget http://ovh.dl.sourceforge.net/sourceforge/ninvaders/ninvaders-0.1.1.tar.gz
287 # tar xzf ninvaders-0.1.1.tar.gz
288 # cd ninvaders-0.1.1
289 # make
290 # strip -v nInvaders
291 # cp nInvaders $fs/usr/games
292 </code>
295 =====bastet-0.41 — клон Bastard Tetris=====
297 Игра «Тетрис» (17 Кб):
299 <code>
300 # wget http://fph.altervista.org/prog/bastet-0.41.tgz
301 # tar xzf bastet-0.41.tgz
302 # cd bastet-0.41
303 # make
304 # strip bastet
305 # cp bastet $fs/usr/games
306 # mkdir -p $fs/var/games
307 # touch $fs/var/games/bastet.scores
308 # chmod 666 $fs/var/games/bastet.scores
309 </code>
312 =====rhapsody-0.28b — клиент IRC-чата=====
314 Rhapsody ([[http://rhapsody.sourceforge.net/|rhapsody.sourceforge.net]]) — быстрый и легкий клиент чата с поддержкой протокола IRC. Он имеет меню для управления серверами, каналами и настройками. Программа очень проста в использовании.
316 <code>
317 # cd ..
318 # wget http://switch.dl.sourceforge.net/sourceforge/rhapsody/rhapsody_0.28b.tgz
319 # tar xzf rhapsody_0.28b.tgz
320 # cd rhapsody-0.28b
321 # ./configure -i /usr/bin -d /usr/share/doc/rhapsody
322 # make
323 # strip -v rhapsody
324 </code>
326 Установим бинарник и файлы помощи в SliTaz. Изменим права доступа к этим файлам, чтобы их мог прочесть каждый пользователь:
328 <code>
329 # cp rhapsody $fs/usr/bin
330 # mkdir $fs/usr/share/doc/rhapsody
331 # cp -a help $fs/usr/share/doc/rhapsody/help
332 # chmod 644 $fs/usr/share/doc/rhapsody/help/*
333 </code>
336 ===Библиотеки===
338 Rhapsody использует следующие библиотеки:
340 <file>
341 libncurses.so.5 => /lib/libncurses.so.5 (0x40026000)
342 libc.so.6 => /lib/libc.so.6 (0x40066000)
343 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000))
344 </file>
346 Настроить программу можно через файл //~/.rhapsodyrc// или нажав Ctrl+T для перехода в меню настроек.
349 =====Собираем initramfs и ISO-образ=====
351 Для создания нового ISO-образа можно использовать утилиту mktaziso из [[ru:cookbook:slitaz-tools|SliTaz tools]]. Или же можно собрать новый образ initramfs, скопировать его в папку ///boot// корневого каталога CD-ROM (rootcd) и создать новый ISO командой genisoimage:
353 <code>
354 # cd $fs
355 # find . -print | cpio -o -H newc | gzip -9 > ../rootfs.gz
356 # cd ..
357 # cp rootfs.gz rootcd/boot
358 # genisoimage -R -o slitaz-cooking.iso -b boot/isolinux/isolinux.bin \
359 -c boot/isolinux/boot.cat -no-emul-boot -boot-load-size 4 \
360 -V "SliTaz" -input-charset iso8859-1 -boot-info-table rootcd
361 </code>
364 ===Следующая глава===
366 В следующей главе описывается установка файлов [[locale|локализации]] и i18n (интернационализация).
368 ----
369 Статью перевел [[http://forum.slitaz.org/index.php/profile/1273/Cyril|Cyril]]