website view fr/doc/scratchbook/base-ncurses.html @ rev 1344

Resize balinor logo to 120px
author Christophe Lincoln <pankso@slitaz.org>
date Fri Jan 22 23:02:15 2021 +0100 (2021-01-22)
parents 0ae6cfc85e03
children
line source
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
4 <head>
5 <title>SliTaz Scratchbook - Base ncurses</title>
6 <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
7 <meta name="description" content="SliTaz installation ncurses clex htop nano retawq rhapsody dialog bibliothèques" />
8 <meta name="expires" content="never" />
9 <meta name="modified" content="2007-12-24 12:30:00" />
10 <meta name="publisher" content="www.slitaz.org" />
11 <meta name="author" content="Christophe Lincoln"/>
12 <link rel="shortcut icon" href="favicon.ico" />
13 <link rel="stylesheet" type="text/css" href="book.css" />
14 </head>
15 <body bgcolor="#ffffff">
17 <!-- Header and quick navigation -->
18 <div id="header">
19 <div align="right" id="quicknav">
20 <a name="top"></a>
21 <a href="base-apps.html">Base apps</a> |
22 <a href="index.html">Table des matières</a> |
23 <a href="locale.html">Locale &amp; i18n</a>
24 </div>
25 <h1><font color="#3E1220">SliTaz Scratchbook</font></h1>
26 </div>
28 <!-- Content. -->
29 <div id="content">
30 <div class="content-right"></div>
33 <h2><font color="#DF8F06">Bibliothèques et applications ncurses</font></h2>
34 <p>
35 Installation et config des bibliothèques et d'applications ncurses.
36 </p>
37 <ul>
38 <li><a href="base-ncurses.html#about">A propos de ce chapitre.</a> - Description et variable
39 d'environnement ($fs)</li>
40 <li><a href="base-ncurses.html#ncurses">ncurses-5.6</a> - Utilitaires et bibliothèques
41 pour terminal.</li>
42 <li><a href="base-ncurses.html#clex">clex-3.16</a> - Gestionnaire de fichiers.</li>
43 <li><a href="base-ncurses.html#nano">nano-2.0.6</a> - Editeur de texte avancé, avec
44 colorisation syntaxique.</li>
45 <li><a href="base-ncurses.html#retawq">retawq-0.2.6c</a> - Navigateur web en mode texte
46 utilisant ncurses.</li>
47 <li><a href="base-ncurses.html#htop">htop-0.6.5</a> - Visionneur de processus système.</li>
48 <li><a href="base-ncurses.html#dialog">dialog-1.1-20070409</a> - Interfaces graphiques aux
49 scripts shell.</li>
50 <li><a href="base-ncurses.html#ninvaders">ninvaders-0.1.1</a> - Clone du jeu Space
51 Invaders.</li>
52 <li><a href="base-ncurses.html#bastet">bastet-0.41</a> - Bastard tetris clone.</li>
53 <li><a href="base-ncurses.html#rhapsody">rhapsody-0.28b</a> - Client de chat IRC.</li>
54 <li><a href="base-ncurses.html#initramfs-iso">Génération de l'initramfs, et d'une image
55 ISO.</a></li>
56 </ul>
57 <a name="about"></a>
58 <h3><font color="#6c0023">A propos</font></h3>
59 <p>
60 Ce chapitre décrit la construction et l'installation des bibliothèques, et
61 de quelques applications ncuses dans SliTaz. La procédure consite à se
62 déplacer dans le réperoire /src, télécharger les sources de l'application en
63 question, les désarchiver, lire les info du (des) fichier(s) README et/ou
64 INSTALL, compiler, et installer le binaire dans SliTaz. Une fois l'application
65 installée il faut créer une nouvelle initramfs, la copier dans la racine du
66 cdrom, et créer une nouvelle image ISO. Pour cela vous pouvez utiliser
67 <code>mktaziso</code> contenu dans :
68 <a href="http://www.slitaz.org/get/tools.html">SliTaz tools</a>.
69 </p>
70 <h4>Affecter une variable d'environnement ($fs)</h4>
71 <p>
72 Une variable d'environnement permet de ne pas spécifier tout le chemin vers le
73 répertoire, mais simplement $NomDeVariable. Nous allons afecter un variable
74 '$fs' pour indiquer le chemin vers le système de fichier racine 'rootfs'.
75 Pour cela vous pouvez vous placer dans le répertoire de travail de SliTaz,
76 et tapez:
77 </p>
78 <pre>
79 # export fs=$PWD/rootfs
80 </pre>
81 <p>
82 Pour vérifier:
83 </p>
84 <pre>
85 # echo $fs
86 </pre>
87 <a name="ncurses"></a>
88 <h3><font color="#6c0023">ncurses-5.6 - Utilitaires et bibliothèques pour terminal</font></h3>
89 <p>
90 ncurses (<a href="http://dickey.his.com/ncurses/">dickey.his.com/ncurses/</a>)
91 contient des fonctions pour afficher le texte de plusieurs manières sur
92 l'écran d'un terminal Linux, et il nous fourni aussi les fichier terminfo.
93 Les bibliothèques ncurses, sont, entre-autre, utilisée par retawq, nano,
94 et certains jeux. Nous installon les bibliothèques dans /lib et le reste dans
95 /usr/bin, avec un petit strip pour nettoyer le tout:
96 </p>
97 <pre>
98 # cd src
99 # wget ftp://invisible-island.net/ncurses/ncurses-5.6.tar.gz
100 # tar xzf ncurses-5.6.tar.gz
101 # cd ncurses-5.6
102 # ./configure --prefix=/usr \
103 --libdir=/lib --sysconfdir=/etc \
104 --infodir=/usr/share/info --mandir=/usr/share/man \
105 --with-shared --without-debug --without-ada
106 # make
107 # make DESTDIR=$PWD/_pkg install
108 # strip -v _pkg/lib/*
109 # strip -v _pkg/usr/bin/*
110 </pre>
111 <p>
112 Copie de la bibliothèque libncurses dans SliTaz, et de quelques applications.
113 L'utilitaire 'reset' est et utilisé à la fin du script d'initialisation rcS,
114 pour enlever le logo Linux. Si vous le désirez, vous pouvez aussi copier tous
115 les utilitaires assoiciés (tack,tic,toe,etc), attention à ne pas écraser un lien Busybox:
116 </p>
117 <pre>
118 # cp -a _pkg/lib/libncurses.so* $fs/lib
119 # cp -ia _pkg/usr/bin/{clear,ncurses5-config,tset,reset} \
120 $fs/usr/bin
121 </pre>
122 <p>
123 Copie de quelques fichiers terminfo, nous n'utilison que quelques fichiers, si
124 vous en désirez plus à vous de les copier:
125 </p>
126 <pre>
127 # mkdir -v $fs/usr/share/terminfo
128 # mkdir -v $fs/usr/share/terminfo/{a,l,r,v,x}
129 # cp _pkg/usr/share/terminfo/a/ansi \
130 $fs/usr/share/terminfo/a
131 # cp _pkg/usr/share/terminfo/l/linux \
132 $fs/usr/share/terminfo/l
133 # cp _pkg/usr/share/terminfo/r/rxvt \
134 $fs/usr/share/terminfo/r
135 # cp _pkg/usr/share/terminfo/x/{xterm,xterm-color,xterm-new,xterm-vt220} \
136 $fs/usr/share/terminfo/x
137 # cp _pkg/usr/share/terminfo/v/{vt100,vt102*} \
138 $fs/usr/share/terminfo/v
139 </pre>
140 <p>
141 Copie des fichiers tabset:
142 </p>
143 <pre>
144 # cp -a _pkg/usr/share/tabset $fs/usr/share
145 </pre>
146 <a name="clex"></a>
147 <h3><font color="#6c0023">clex-3.16 - Gestionnaire de fichiers</font></h3>
148 <p>
149 CLEX (<a href="http://www.clex.sk/">http://www.clex.sk/</a>) est un
150 petit gestionnaire de fichiers ncurses (160 Ko stripé). Le fichier de configuration
151 rc est ~./.clexrc et le fichier ~/.clexbm est utilisé pour les bookmarks:
152 </p>
153 <pre>
154 # cd ..
155 # wget http://www.clex.sk/download/clex-3.16.tar.gz
156 # tar xzf clex-3.16.tar.gz
157 # cd clex-3.16
158 # ./configure --prefix=/usr --infodir=/usr/share/info \
159 --mandir=/usr/share/man
160 # make
161 # make DESTDIR=$PWD/_pkg install
162 # strip -v _pkg/usr/bin/clex
163 </pre>
164 <p>
165 Install du binaire clex dans le rootfs de SliTaz:
166 </p>
167 <pre>
168 # cp _pkg/usr/bin/clex $fs/usr/bin
169 </pre>
170 <h4>libs</h4>
171 <p>
172 Si on lance la commande <code>ldd</code> sur clex, les dépendances
173 suivantes devraient être affichées:
174 </p>
175 <pre class="script">
176 libncurses.so.5 => /lib/libncurses.so.5 (0x40025000)
177 libc.so.6 => /lib/libc.so.6 (0x40064000)
178 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
179 </pre>
180 <a name="nano"></a>
181 <h3><font color="#6c0023">nano-2.0.6 - Editeur de texte avancé</font></h3>
182 <p>
183 GNU nano (<a href="http://www.nano-editor.org/">www.nano-editor.org</a>) est un
184 éditeur de texte bien connu du monde GNU/Linux, efficace et rapide, supportant
185 la colorisation syntaxique. C'est l'éditeur de texte par défaut de SliTaz:
186 </p>
187 <pre>
188 # cd ..
189 # wget http://www.nano-editor.org/dist/v2.0/nano-2.0.6.tar.gz
190 # tar xzf nano-2.0.6.tar.gz
191 # cd nano-2.0.6
192 # ./configure --enable-all --enable-extra --prefix=/usr \
193 --infodir=/usr/share/info --mandir=/usr/share/man \
194 --sysconfdir=/etc
195 # make
196 # make DESTDIR=$PWD/_pkg install
197 # strip -v _pkg/usr/bin/nano
198 </pre>
199 <p>
200 Copie du binaire nano et du lien rnano, dans SliTaz:
201 </p>
202 <pre>
203 # cp -a _pkg/usr/bin/* $fs/usr/bin
204 </pre>
205 <p>
206 Copie des fichiers de configuration de nano dans /usr/share/nano
207 de notre rootfs:
208 </p>
209 <pre>
210 # cp -a _pkg/usr/share/nano $fs/usr/share
211 </pre>
212 <h4>libs</h4>
213 <p>
214 Si on lance la commande <code>ldd</code> sur nano, les dépendances
215 suivantes devraient être affichées:
216 </p>
217 <pre class="script">
218 libncurses.so.5 => /lib/libncurses.so.5 (0x40025000)
219 libc.so.6 => /lib/libc.so.6 (0x40064000)
220 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
221 </pre>
222 <h4>locale</h4>
223 <p>
224 Au sujet de la langue, vous pouvez copier les fichiers .mo, créé
225 lors de l'installation de nano, dans
226 /usr/share/locale/{fr,en,de,es,etc}/LC_MESSAGES. Exemple pour la
227 langue française:
228 </p>
229 <pre>
230 # cp -a _pkg/usr/share/locale/fr/LC_MESSAGES $fs/usr/share/locale/fr
231 </pre>
232 <h4>Personnaliser nano</h4>
233 <p>
234 Vous pouvez personnaliser nano via le fichier /etc/nanorc, ou
235 ~/.nanorc propre à chaque utilisateur du système, c'est dans ce
236 fichier que vous pouvez, par exemple, définir les couleur utilisées
237 par nano grâce au fichiers contenus dans /usr/share/nono. Vous trouverez
238 un large exemple de ce fichier dans l'archive de nano et dans
239 <a href="http://www.slitaz.org/get/tools">SliTaz tools</a>.
240 </p>
241 <p>
242 Pour un fichier de configuration système, vous pouvez copier le fichier
243 nanorc de SliTaz tools, dans /etc du rootfs:
244 </p>
245 <pre>
246 # cd ..
247 # cp -a slitaz-tools-1.1/etc/nanorc $fs/etc
248 </pre>
249 <a name="retawq"></a>
250 <h3><font color="#6c0023">retawq-0.2.6c - Navigateur web en mode texte</font></h3>
251 <p>
252 retawq (<a href="http://retawq.sourceforge.net/">retawq.sourceforge.net</a>)
253 est petit navigateur web en mode texte. Nous passons quelques option utiles
254 lors de la configuration, retawq a besoin des fichiers terminfo, des
255 bibliothèques libncurses, et libpthread:
256 </p>
257 <pre>
258 # wget http://switch.dl.sourceforge.net/sourceforge/retawq/retawq-0.2.6c.tar.gz
259 # tar xzf retawq-0.2.6c.tar.gz
260 # cd retawq-0.2.6c
261 # ./configure --enable-i18n --enable-local-cgi --path-prefix=/usr \
262 --path-doc=/usr/share/doc/retawq --path-man=/usr/share/man
263 # make
264 # strip -v retawq
265 </pre>
266 <p>
267 Copie du binaire retawq dans SliTaz:
268 </p>
269 <pre>
270 # cp retawq $fs/usr/bin
271 </pre>
272 <h4>libs</h4>
273 <pre class="script">
274 libncurses.so.5 => /lib/libncurses.so.5 (0x40025000)
275 libpthread.so.0 => /lib/libpthread.so.0 (0x40064000)
276 libc.so.6 => /lib/libc.so.6 (0x40074000)
277 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
278 </pre>
279 <p>
280 Vous pouvez copier libpthread depuis votre système hôte, ou utiliser le
281 paquet glibc-minimum-2.3.6 distribué par SliTaz:
282 </p>
283 <pre>
284 # cp -a /lib/libpthread* $fs/lib
285 # strip --strip-unneeded $fs/lib/*
286 </pre>
287 <h4>locale</h4>
288 <p>
289 Pour la langue, vous pouvez copier les fichiers .mo, contenu dans
290 /i18n de l'archive de retawq, dans /usr/share/locale/{fr,en,de,es,
291 etc}/LC_MESSAGES. Exemple pour la langue française, en renommant le
292 fichier fr.mo en retawq.mo:
293 </p>
294 <pre>
295 # cp -v i18n/fr.mo $fs/usr/share/locale/fr/LC_MESSAGES/retawq.mo
296 </pre>
297 <h4>Personnaliser retawq</h4>
298 <p>
299 Pour personnalisé retawq, vous pouvez utiliser un répertoire personnel
300 ~/.retawq, contenant un fichier config. Vous pouvez aussi mettre un
301 fichier bookmarks (pour les marques pages) à la racine du répertoire
302 de l'utilisateur. Vous trouverez un large exemple dans l'archive de
303 retawq, ou dans SliTaz tools, contenant un fichier bookmarks.html avec
304 une liste de favorits web. Vous pouvez aussi copier la doc (/docu) de retawq
305 dans /usr/share/doc/retawq.
306 </p>
307 <a name="htop"></a>
308 <h3><font color="#6c0023">htop-0.6.5 - Visionneur de processus système</font></h3>
309 <p>
310 htop (<a href="http://htop.sourceforge.net/">htop.sourceforge.net/</a>)
311 est un logiciel qui pemet d'afficher les processus du système, avec
312 une interface ncurses.
313 </p>
314 <p>
315 Retour au répertoire /src, téléchargement, détarrage, configuration,
316 compilation, et nettoyage avec strip:
317 </p>
318 <pre>
319 # cd ..
320 # wget http://switch.dl.sourceforge.net/sourceforge/htop/htop-0.6.5.tar.gz
321 # tar xzf htop-0.6.5.tar.gz
322 # cd htop-0.6.5
323 # ./configure --prefix=/usr --mandir=/usr/share/man
324 # make
325 # make DESTDIR=$PWD/_pkg install
326 # strip -v _pkg/usr/bin/htop
327 </pre>
328 <p>
329 Copie du binaire htop dans SliTaz:
330 </p>
331 <pre>
332 # cp _pkg/usr/bin/htop $fs/usr/bin
333 </pre>
334 <p>
335 Vous pouvez encore copier l'icone d'htop, ce trouvant dans:
336 _pkg/usr/share/pixmaps.
337 </p>
338 <h4>libs</h4>
339 <pre class="script">
340 libm.so.6 => /lib/libm.so.6 (0xb7f97000)
341 libncurses.so.5 => /lib/libncurses.so.5 (0xb7f55000)
342 libc.so.6 => /lib/libc.so.6 (0xb7e20000)
343 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0xb7fc9000)
344 </pre>
345 <a name="dialog"></a>
346 <h3><font color="#6c0023">dialog-1.1-20070409 - Interfaces graphiques aux scripts shell</font></h3>
347 <p>
348 dialog,(<a href="http://invisible-island.net/dialog/dialog.html"
349 >invisible-island.net/dialog/dialog.html</a>), est un utilitaire
350 permettant de construire des interfaces graphiques basées sur la
351 console:
352 </p>
353 <pre>
354 # cd ..
355 # wget ftp://invisible-island.net/dialog/dialog.tar.gz
356 # tar xzf dialog.tar.gz
357 # cd dialog-1.1-20070409
358 # ./configure --enable-nls --with-ncurses --prefix=/usr \
359 --sysconfdir=/etc --mandir=/usr/share/man
360 # make
361 # make DESTDIR=$PWD/_pkg install
362 # strip -v _pkg/usr/bin/dialog
363 </pre>
364 <p>
365 Copie du binaire dialog dans SliTaz:
366 </p>
367 <pre>
368 # cp _pkg/usr/bin/dialog $fs/usr/bin
369 </pre>
370 <h4>libs</h4>
371 <pre class="script">
372 libncurses.so.5 => /lib/libncurses.so.5 (0x40027000)
373 libm.so.6 => /lib/libm.so.6 (0x40066000)
374 libc.so.6 => /lib/libc.so.6 (0x40089000)
375 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
376 </pre>
377 <h4>locale</h4>
378 <p>
379 Vous pouvez installer les fichiers pour la localisation, si vous le désirez:
380 </p>
381 <pre>
382 # cp -a _pkg/usr/share/locale/fr $fs/usr/share/locale
383 </pre>
384 <p>
385 Le fichier de configuration de dialog est /etc/dialogrc, et/ou ~/.dialogrc
386 pour chaque utilisateur. Il y a aussi pleins d'exemples de scripts dans
387 le répertoire /sample des sources de dialog.
388 </p>
389 <a name="ninvaders"></a>
390 <h3><font color="#6c0023">ninvaders-0.1.1 - Clone du jeu Space Invaders</font></h3>
391 <p>
392 nIvaders (<a href="http://ninvaders.sourceforge.net/"
393 >http://ninvaders.sourceforge.net/</a>) est un clone du eu Space Invaders,
394 qui ne fait que 46 ko une fois stripé. Nous commençons par nous placer dans
395 le répertoire /src, téléchargement, détarrage, compilation, nettoyage avec
396 l'utilitaire <code>strip</code> et copie du binaire nInvaders dans
397 /usr/games de SliTaz :
398 </p>
399 <pre>
400 # cd ..
401 # wget http://ovh.dl.sourceforge.net/sourceforge/ninvaders/ninvaders-0.1.1.tar.gz
402 # tar xzf ninvaders-0.1.1.tar.gz
403 # cd ninvaders-0.1.1
404 # make
405 # strip -v nInvaders
406 # cp nInvaders $fs/usr/games
407 </pre>
408 <a name="bastet"></a>
409 <h3><font color="#6c0023">bastet-0.41 - Bastard tetris clone</font></h3>
410 <p>
411 Un petit jeu de tetris (17 Ko strippé) :
412 </p>
413 <pre>
414 # wget http://fph.altervista.org/prog/bastet-0.41.tgz
415 # tar xzf bastet-0.41.tgz
416 # cd bastet-0.41
417 # make
418 # strip bastet
419 # cp bastet $fs/usr/games
420 # mkdir -p $fs/var/games
421 # touch $fs/var/games/bastet.scores
422 # chmod 666 $fs/var/games/bastet.scores
423 </pre>
424 <a name="rhapsody"></a>
425 <h3><font color="#6c0023">rhapsody-0.28b - Client de chat IRC</font></h3>
426 <p>
427 Rhapsody (<a href="http://rhapsody.sourceforge.net/">http://rhapsody.sourceforge.net/</a>)
428 est un client de chat supportant le protocole IRC, rapide et légé. Rhapsody
429 fournit un menu pour une gestion des serveurs, des canaux, et sa propre
430 configuration. Il est donc facile d'utilisation:
431 </p>
432 <pre>
433 # cd ..
434 # wget http://switch.dl.sourceforge.net/sourceforge/rhapsody/rhapsody_0.28b.tgz
435 # tar xzf rhapsody_0.28b.tgz
436 # cd rhapsody-0.28b
437 # ./configure -i /usr/bin -d /usr/share/doc/rhapsody
438 # make
439 # strip -v rhapsody
440 </pre>
441 <p>
442 Installation du binaire dans SliTaz, et des fichiers d'aide. Il faut
443 aussi ajuster les permissions sur ces fichiers afin que tout le monde
444 puisse les lire:
445 </p>
446 <pre>
447 # cp rhapsody $fs/usr/bin
448 # mkdir $fs/usr/share/doc/rhapsody
449 # cp -a help $fs/usr/share/doc/rhapsody/help
450 # chmod 644 $fs/usr/share/doc/rhapsody/help/*
451 </pre>
452 <h4>libs</h4>
453 <p>
454 Rhapsody utilise les librairies suivantes :
455 </p>
456 <pre class="script">
457 libncurses.so.5 => /lib/libncurses.so.5 (0x40026000)
458 libc.so.6 => /lib/libc.so.6 (0x40066000)
459 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000))
460 </pre>
461 <h4>Personnaliser rhapsody</h4>
462 <p>
463 Vous pouvez personnaliser rhapsody via le fichier ~/.rhapsodyrc, ou
464 utiliser &lt;Ctrl+T&gt; pour afficher les options.
465 </p>
466 <a name="initramfs-iso"></a>
467 <h3><font color="#6c0023">Génération de l'initramfs, et d'une image ISO</font></h3>
468 <p>
469 Pour créer une nouvelle image ISO vous pouvez utiliser 'mktaziso'
470 contenu dans SliTaz tools. Ou vous pouvez créer un nouvelle
471 image initramfs, et la copier dans /boot de la racine de cd-rom
472 (rootcd), et pour finir créer un image ISO avec genisoimage:
473 </p>
474 <pre>
475 # cd $fs
476 # find . -print | cpio -o -H newc | gzip -9 &gt; ../rootfs.gz
477 # cd ..
478 # cp rootfs.gz rootcd/boot
479 # genisoimage -R -o slitaz-cooking.iso -b boot/isolinux/isolinux.bin \
480 -c boot/isolinux/boot.cat -no-emul-boot -boot-load-size 4 \
481 -V "SliTaz" -input-charset iso8859-1 -boot-info-table rootcd
482 </pre>
483 <h4>Suite</h4>
484 <p>
485 Le prochain chapitre du Cookbook déccript l'installation des
486 <a href="locale.html">locale pour le français</a> (Locale &amp; i18n).
487 </p>
490 <!-- End of content -->
491 </div>
493 <!-- Footer. -->
494 <div id="footer">
495 <div class="footer-right"></div>
496 <a href="base-ncurses.html#top">Haut de la page</a> |
497 <a href="index.html">Table des matières</a>
498 </div>
500 <div id="copy">
501 Copyright &copy; <span class="year"></span> <a href="http://www.slitaz.org/">SliTaz</a> -
502 <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br />
503 Documentation publiées sous
504 <a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a>
505 et codée en <a href="http://validator.w3.org/">xHTML 1.0 valide</a>.
506 </div>
508 </body>
509 </html>