slitaz-doc-wiki-data view pages/fr/scratchbook/base-ncurses.txt @ rev 142

Updated en:handbook:start to 4.0
author Christian Mesh meshca@clarkson.edu
date Mon Mar 19 22:02:10 2012 +0000 (2012-03-19)
parents
children
line source
1 ====== Bibliothèques et applications ncurses ======
3 Installation et configuration des bibliothèques et d'applications ncurses.
5 ===== À propos =====
7 Ce chapitre décrit la construction et l'installation des bibliothèques, et de quelques applications ncurses dans SliTaz. La procédure consiste à se déplacer dans le répertoire /src, télécharger les sources de l'application en question, les dés-archiver, lire les info du (des) fichier(s) README et/ou INSTALL, compiler, et installer le binaire dans SliTaz. Une fois l'application installée il faut créer une nouvelle initramfs, la copier dans la racine du cdrom, et créer une nouvelle image ISO. Pour cela vous pouvez utiliser "mktaziso" contenu dans : [[http://doc.slitaz.org/fr:cookbook:slitaztools|SliTaz tools]].
9 ==== Affecter une variable d'environnement ($fs) ====
11 Une variable d'environnement permet de ne pas spécifier tout le chemin vers le répertoire, mais simplement $NomDeVariable. Nous allons affecter un variable '$fs' pour indiquer le chemin vers le système de fichier racine 'rootfs'. Pour cela vous pouvez vous placer dans le répertoire de travail de SliTaz, et tapez:
13 # export fs=$PWD/rootfs
15 Pour vérifier:
17 # echo $fs
19 ===== ncurses-5.6 - Utilitaires et bibliothèques pour terminal =====
21 ncurses ([[http://dickey.his.com/ncurses/|dickey.his.com/ncurses/]]) contient des fonctions pour afficher le texte de plusieurs manières sur l'écran d'un terminal Linux, et il nous fourni aussi les fichier terminfo. Les bibliothèques ncurses, sont, entre-autre, utilisée par retawq, nano, et certains jeux. Nous installons les bibliothèques dans /lib et le reste dans /usr/bin, avec un petit strip pour nettoyer le tout:
23 # cd src
24 # wget ftp://invisible-island.net/ncurses/ncurses-5.6.tar.gz
25 # tar xzf ncurses-5.6.tar.gz
26 # cd ncurses-5.6
27 # ./configure --prefix=/usr \\
28 --libdir=/lib --sysconfdir=/etc \\
29 --infodir=/usr/share/info --mandir=/usr/share/man \\
30 --with-shared --without-debug --without-ada
31 # make
32 # make DESTDIR=$PWD/_pkg install
33 # strip -v _pkg/lib/*
34 # strip -v _pkg/usr/bin/*
36 Copie de la bibliothèque libncurses dans SliTaz, et de quelques applications. L'utilitaire 'reset' est et utilisé à la fin du script d'initialisation rcS, pour enlever le logo Linux. Si vous le désirez, vous pouvez aussi copier tous les utilitaires associés (tack,tic,toe,etc), attention à ne pas écraser un lien Busybox:
38 # cp -a _pkg/lib/libncurses.so* $fs/lib
39 # cp -ia _pkg/usr/bin/{clear,ncurses5-config,tset,reset} \\
40 $fs/usr/bin
42 Copie de quelques fichiers terminfo, nous n'utilisons que quelques fichiers, si vous en désirez plus à vous de les copier:
44 # mkdir -v $fs/usr/share/terminfo
45 # mkdir -v $fs/usr/share/terminfo/{a,l,r,v,x}
46 # cp _pkg/usr/share/terminfo/a/ansi \\
47 $fs/usr/share/terminfo/a
48 # cp _pkg/usr/share/terminfo/l/linux \\
49 $fs/usr/share/terminfo/l
50 # cp _pkg/usr/share/terminfo/r/rxvt \\
51 $fs/usr/share/terminfo/r
52 # cp _pkg/usr/share/terminfo/x/{xterm,xterm-color,xterm-new,xterm-vt220} \\
53 $fs/usr/share/terminfo/x
54 # cp _pkg/usr/share/terminfo/v/{vt100,vt102*} \\
55 $fs/usr/share/terminfo/v
57 Copie des fichiers tabset:
59 # cp -a _pkg/usr/share/tabset $fs/usr/share
61 ===== clex-3.16 - Gestionnaire de fichiers =====
63 CLEX ([[http://www.clex.sk/|http://www.clex.sk/]]) est un petit gestionnaire de fichiers ncurses (160 Ko stripé). Le fichier de configuration rc est ~./.clexrc et le fichier ~/.clexbm est utilisé pour les bookmarks:
65 # cd ..
66 # wget http://www.clex.sk/download/clex-3.16.tar.gz
67 # tar xzf clex-3.16.tar.gz
68 # cd clex-3.16
69 # ./configure --prefix=/usr --infodir=/usr/share/info \\
70 --mandir=/usr/share/man
71 # make
72 # make DESTDIR=$PWD/_pkg install
73 # strip -v _pkg/usr/bin/clex
75 Installation du binaire clex dans le rootfs de SliTaz:
77 # cp _pkg/usr/bin/clex $fs/usr/bin
79 ==== libs ====
81 Si on lance la commande "ldd" sur clex, les dépendances suivantes devraient être affichées:
82 <file>
83 libncurses.so.5 => /lib/libncurses.so.5 (0x40025000)
84 libc.so.6 => /lib/libc.so.6 (0x40064000)
85 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
86 </file>
87 ===== nano-2.0.6 - Editeur de texte avancé =====
89 GNU nano ([[http://www.nano-editor.org/|www.nano-editor.org]]) est un éditeur de texte bien connu du monde GNU/Linux, efficace et rapide, supportant la colorisation syntaxique. C'est l'éditeur de texte par défaut de SliTaz:
91 # cd ..
92 # wget http://www.nano-editor.org/dist/v2.0/nano-2.0.6.tar.gz
93 # tar xzf nano-2.0.6.tar.gz
94 # cd nano-2.0.6
95 # ./configure --enable-all --enable-extra --prefix=/usr \\
96 --infodir=/usr/share/info --mandir=/usr/share/man \\
97 --sysconfdir=/etc
98 # make
99 # make DESTDIR=$PWD/_pkg install
100 # strip -v _pkg/usr/bin/nano
102 Copie du binaire nano et du lien rnano, dans SliTaz:
104 # cp -a _pkg/usr/bin/* $fs/usr/bin
106 Copie des fichiers de configuration de nano dans /usr/share/nano de notre rootfs:
108 # cp -a _pkg/usr/share/nano $fs/usr/share
110 ==== libs ====
112 Si on lance la commande "ldd" sur nano, les dépendances suivantes devraient être affichées:
113 <file>
114 libncurses.so.5 => /lib/libncurses.so.5 (0x40025000)
115 libc.so.6 => /lib/libc.so.6 (0x40064000)
116 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
117 </file>
118 ==== locale ====
120 Au sujet de la langue, vous pouvez copier les fichiers .mo, créé lors de l'installation de nano, dans /usr/share/locale/{fr,en,de,es,etc}/LC_MESSAGES. Exemple pour la langue française:
122 # cp -a _pkg/usr/share/locale/fr/LC_MESSAGES $fs/usr/share/locale/fr
124 ==== Personnaliser nano ====
126 Vous pouvez personnaliser nano via le fichier /etc/nanorc, ou ~/.nanorc propre à chaque utilisateur du système, c'est dans ce fichier que vous pouvez, par exemple, définir les couleur utilisées par nano grâce au fichiers contenus dans /usr/share/nono. Vous trouverez un large exemple de ce fichier dans l'archive de nano et dans [[http://doc.slitaz.org/en:cookbook:slitaztools|SliTaz tools]].
128 Pour un fichier de configuration système, vous pouvez copier le fichier nanorc de SliTaz tools, dans /etc du rootfs:
130 # cd ..
131 # cp -a slitaz-tools-1.1/etc/nanorc $fs/etc
133 ===== retawq-0.2.6c - Navigateur web en mode texte =====
135 retawq ([[http://retawq.sourceforge.net/|retawq.sourceforge.net]]) est petit navigateur web en mode texte. Nous passons quelques options utiles lors de la configuration, retawq a besoin des fichiers terminfo, des bibliothèques libncurses, et libpthread:
137 # wget http://switch.dl.sourceforge.net/sourceforge/retawq/retawq-0.2.6c.tar.gz
138 # tar xzf retawq-0.2.6c.tar.gz
139 # cd retawq-0.2.6c
140 # ./configure --enable-i18n --enable-local-cgi --path-prefix=/usr \\
141 --path-doc=/usr/share/doc/retawq --path-man=/usr/share/man
142 # make
143 # strip -v retawq
145 Copie du binaire retawq dans SliTaz:
147 # cp retawq $fs/usr/bin
149 ==== libs ====
150 <file>
151 libncurses.so.5 => /lib/libncurses.so.5 (0x40025000)
152 libpthread.so.0 => /lib/libpthread.so.0 (0x40064000)
153 libc.so.6 => /lib/libc.so.6 (0x40074000)
154 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
155 </file>
156 Vous pouvez copier libpthread depuis votre système hôte, ou utiliser le paquet glibc-minimum-2.3.6 distribué par SliTaz:
158 # cp -a /lib/libpthread* $fs/lib
159 # strip --strip-unneeded $fs/lib/*
161 ==== locale ====
163 Pour la langue, vous pouvez copier les fichiers .mo, contenu dans /i18n de l'archive de retawq, dans /usr/share/locale/{fr,en,de,es, etc}/LC_MESSAGES. Exemple pour la langue française, en renommant le fichier fr.mo en retawq.mo:
165 # cp -v i18n/fr.mo $fs/usr/share/locale/fr/LC_MESSAGES/retawq.mo
167 ==== Personnaliser retawq ====
169 Pour personnaliser retawq, vous pouvez utiliser un répertoire personnel ~/.retawq, contenant un fichier config. Vous pouvez aussi mettre un fichier bookmarks (pour les marques pages) à la racine du répertoire de l'utilisateur. Vous trouverez un large exemple dans l'archive de retawq, ou dans SliTaz tools, contenant un fichier bookmarks.html avec une liste de favoris web. Vous pouvez aussi copier la doc (/docu) de retawq dans /usr/share/doc/retawq.
171 ===== htop-0.6.5 - Visionneur de processus système =====
173 htop ([[http://htop.sourceforge.net/|htop.sourceforge.net/]]) est un logiciel qui pemet d'afficher les processus du système, avec une interface ncurses.
175 Retour au répertoire /src, téléchargement, détarrage, configuration, compilation, et nettoyage avec strip:
177 # cd ..
178 # wget http://switch.dl.sourceforge.net/sourceforge/htop/htop-0.6.5.tar.gz
179 # tar xzf htop-0.6.5.tar.gz
180 # cd htop-0.6.5
181 # ./configure --prefix=/usr --mandir=/usr/share/man
182 # make
183 # make DESTDIR=$PWD/_pkg install
184 # strip -v _pkg/usr/bin/htop
186 Copie du binaire htop dans SliTaz:
188 # cp _pkg/usr/bin/htop $fs/usr/bin
190 Vous pouvez encore copier l'icone d'htop, ce trouvant dans: _pkg/usr/share/pixmaps.
192 ==== libs ====
193 <file>
194 libm.so.6 => /lib/libm.so.6 (0xb7f97000)
195 libncurses.so.5 => /lib/libncurses.so.5 (0xb7f55000)
196 libc.so.6 => /lib/libc.so.6 (0xb7e20000)
197 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0xb7fc9000)
198 </file>
199 ===== dialog-1.1-20070409 - Interfaces graphiques aux scripts shell =====
201 dialog,([[http://invisible-island.net/dialog/dialog.html|invisible-island.net/dialog/dialog.html]]), est un utilitaire permettant de construire des interfaces graphiques basées sur la console:
203 # cd ..
204 # wget ftp://invisible-island.net/dialog/dialog.tar.gz
205 # tar xzf dialog.tar.gz
206 # cd dialog-1.1-20070409
207 # ./configure --enable-nls --with-ncurses --prefix=/usr \\
208 --sysconfdir=/etc --mandir=/usr/share/man
209 # make
210 # make DESTDIR=$PWD/_pkg install
211 # strip -v _pkg/usr/bin/dialog
213 Copie du binaire dialog dans SliTaz:
215 # cp _pkg/usr/bin/dialog $fs/usr/bin
217 ==== libs ====
218 <file>
219 libncurses.so.5 => /lib/libncurses.so.5 (0x40027000)
220 libm.so.6 => /lib/libm.so.6 (0x40066000)
221 libc.so.6 => /lib/libc.so.6 (0x40089000)
222 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
223 </file>
224 ==== locale ====
226 Vous pouvez installer les fichiers pour la localisation, si vous le désirez:
228 # cp -a _pkg/usr/share/locale/fr $fs/usr/share/locale
230 Le fichier de configuration de dialog est /etc/dialogrc, et/ou ~/.dialogrc pour chaque utilisateur. Il y a aussi pleins d'exemples de scripts dans le répertoire /sample des sources de dialog.
232 ===== ninvaders-0.1.1 - Clone du jeu Space Invaders =====
234 nIvaders ([[http://ninvaders.sourceforge.net/|http://ninvaders.sourceforge.net/]]) est un clone du eu Space Invaders, qui ne fait que 46 ko une fois stripé. Nous commençons par nous placer dans le répertoire /src, téléchargement, détarrage, compilation, nettoyage avec l'utilitaire "strip" et copie du binaire nInvaders dans /usr/games de SliTaz :
236 # cd ..
237 # wget http://ovh.dl.sourceforge.net/sourceforge/ninvaders/ninvaders-0.1.1.tar.gz
238 # tar xzf ninvaders-0.1.1.tar.gz
239 # cd ninvaders-0.1.1
240 # make
241 # strip -v nInvaders
242 # cp nInvaders $fs/usr/games
244 ===== bastet-0.41 - Bastard tetris clone =====
246 Un petit jeu de tetris (17 Ko strippé) :
248 # wget http://fph.altervista.org/prog/bastet-0.41.tgz
249 # tar xzf bastet-0.41.tgz
250 # cd bastet-0.41
251 # make
252 # strip bastet
253 # cp bastet $fs/usr/games
254 # mkdir -p $fs/var/games
255 # touch $fs/var/games/bastet.scores
256 # chmod 666 $fs/var/games/bastet.scores
258 ===== rhapsody-0.28b - Client de chat IRC =====
260 Rhapsody ([[http://rhapsody.sourceforge.net/|http://rhapsody.sourceforge.net/]]) est un client de chat supportant le protocole IRC, rapide et léger. Rhapsody fournit un menu pour une gestion des serveurs, des canaux, et sa propre configuration. Il est donc facile d'utilisation:
262 # cd ..
263 # wget http://switch.dl.sourceforge.net/sourceforge/rhapsody/rhapsody_0.28b.tgz
264 # tar xzf rhapsody_0.28b.tgz
265 # cd rhapsody-0.28b
266 # ./configure -i /usr/bin -d /usr/share/doc/rhapsody
267 # make
268 # strip -v rhapsody
270 Installation du binaire dans Slitaz, et des fichiers d'aide. Il faut aussi ajuster les permissions sur ces fichiers afin que tout le monde puisse les lire:
272 # cp rhapsody $fs/usr/bin
273 # mkdir $fs/usr/share/doc/rhapsody
274 # cp -a help $fs/usr/share/doc/rhapsody/help
275 # chmod 644 $fs/usr/share/doc/rhapsody/help/*
277 ==== libs ====
279 Rhapsody utilise les librairies suivantes :
280 <file>
281 libncurses.so.5 => /lib/libncurses.so.5 (0x40026000)
282 libc.so.6 => /lib/libc.so.6 (0x40066000)
283 /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000))
284 </file>
285 ==== Personnaliser rhapsody ====
287 Vous pouvez personnaliser rhapsody via le fichier ~/.rhapsodyrc, ou utiliser <Ctrl+T> pour afficher les options.
289 ===== Génération de l'initramfs, et d'une image ISO =====
291 Pour créer une nouvelle image ISO vous pouvez utiliser 'mktaziso' contenu dans SliTaz tools. Ou vous pouvez créer un nouvelle image initramfs, et la copier dans /boot de la racine de cd-rom (rootcd), et pour finir créer un image ISO avec genisoimage:
293 # cd $fs
294 # find . -print | cpio -o -H newc | gzip -9 > ../rootfs.gz
295 # cd ..
296 # cp rootfs.gz rootcd/boot
297 # genisoimage -R -o slitaz-cooking.iso -b boot/isolinux/isolinux.bin \\
298 -c boot/isolinux/boot.cat -no-emul-boot -boot-load-size 4 \\
299 -V "SliTaz" -input-charset iso8859-1 -boot-info-table rootcd
301 ==== Suite ====
303 Le prochain chapitre du Cookbook déccript l'installation des [[locale|locale pour le français]] (Locale & i18n).