SliTaz GNU/Linux official and community documentation wiki.
.png
Translations of this page:

Librerie e applicazioni Ncurses

Installazione e configurazione delle applicazioni e delle librerie Ncurses

About

Questo capitolo descrive la costruzione e l'installazione di certe applicazioni e librerie ncurses in SliTaz. La procedura consiste nell'andare sotto la directory /src, scaricare i sorgenti delle applicazioni in questione, decomprimerle, leggere i README e INSTALL file, compilare e installare i binari in SliTaz. Una volta che le applicazioni saranno installate, potremo creare un nuovo initramfs, copiarlo nella root del cdrom e generare una nuova ISO. Per far questo si può usare anche “mktaziso” in SliTaz tools.

Assegnare una variabile d'ambiente ($fd)

Una variabile d'ambiente non può specificare il percorso di una directory, ma solo il suo nome. Inizializzeremo una variabile '$fs' per indicare il path del nostro sistema root (rootfs). Per farlo, entreremo nella directory SliTaz e scriveremo:

 # export fs=$PWD/rootfs

Per testarla:

 # echo $fs

ncurses-5.6 - Strumenti e librerie per terminale

ncurses (dickey.his.com/ncurses/) contiene funzioni per mostrare il testo in modi differenti sullo schermo di un terminale Linux e rende disponibile anche i file terminfo. Le librerie Ncurses sono usate tra gli altri da retawq, nano e certi giochi. Installeremo le librerie in /lib e il resto in /usr/bin con il solito piccolo strip per ripulire gli eseguibili:

 # cd src
 # wget ftp://invisible-island.net/ncurses/ncurses-5.6.tar.gz
 # tar xzf ncurses-5.6.tar.gz
 # cd ncurses-5.6
 # ./configure --prefix=/usr \
   --libdir=/lib --sysconfdir=/etc \
   --infodir=/usr/share/info --mandir=/usr/share/man \
   --with-shared --without-debug --without-ada
 # make
 # make DESTDIR=$PWD/_pkg install
 # strip -v _pkg/lib/*
 # strip -v _pkg/usr/bin/*

Copiare le librerie libncurses e alcune applicazioni in SliTaz. Lo strumento reset è usato alla fine dello script di inizializzazione rcS per rimuovere il logo Linux. Se volete potete copiare tutti gli strumenti associati (tic, tack, toe, etc), facendo attenzione a non cancellare i link a BusyBox:

 # cp -a _pkg/lib/libncurses.so* $fs/lib
 # cp -ia _pkg/usr/bin/{clear,ncurses5-config,tset,reset} \
   $fs/usr/bin

Copiamo i file terminfo, ne useremo pochi. Se ne volete di più potete copiare:

 # mkdir -v $fs/usr/share/terminfo
 # mkdir -v $fs/usr/share/terminfo/{a,l,r,v,x}
 # cp _pkg/usr/share/terminfo/a/ansi \
   $fs/usr/share/terminfo/a
 # cp _pkg/usr/share/terminfo/l/linux \
   $fs/usr/share/terminfo/l
 # cp _pkg/usr/share/terminfo/r/rxvt \
   $fs/usr/share/terminfo/r
 # cp _pkg/usr/share/terminfo/x/{xterm,xterm-color,xterm-new,xterm-vt220} \
   $fs/usr/share/terminfo/x
 # cp _pkg/usr/share/terminfo/v/{vt100,vt102*} \
   $fs/usr/share/terminfo/v

Copiamo i file tabset:

 # cp -a _pkg/usr/share/tabset $fs/usr/share

clex-3.16 - File Manager

CLEX (http://www.clex.sk/) è un piccolo file manager basato su ncurses (160 KB). Il file di configurazioni (rc) è ~/clexrc; ~/.clexbm è usato per i segnalibri:

 # cd ..
 # wget http://www.clex.sk/download/clex-3.16.tar.gz
 # tar xzf clex-3.16.tar.gz
 # cd clex-3.16
 # ./configure --prefix=/usr --infodir=/usr/share/info \
   --mandir=/usr/share/man
 # make
 # make DESTDIR=$PWD/_pkg install
 # strip -v _pkg/usr/bin/clex

Install the clex binary in the rootfs of SliTaz: Installiamo i binari di clex nella rootfs di SliTaz:

 # cp _pkg/usr/bin/clex $fs/usr/bin

libs

Se eseguiamo “ldd” su clex, dovremmo vedere queste dipendenze:

          libncurses.so.5 => /lib/libncurses.so.5 (0x40025000)
          libc.so.6 => /lib/libc.so.6 (0x40064000)
          /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

nano-2.0.6 - Advanced Text Editor

GNU nano (www.nano-editor.org) è un noto ed efficiente editor di testo GNU/Linux che supporta la sintassi colorata. E' l'editor di testo di default di SliTaz:

 # cd ..
 # wget http://www.nano-editor.org/dist/v2.0/nano-2.0.6.tar.gz
 # tar xzf nano-2.0.6.tar.gz
 # cd nano-2.0.6
 # ./configure --enable-all --enable-extra --prefix=/usr \
   --infodir=/usr/share/info --mandir=/usr/share/man \
   --sysconfdir=/etc
 # make
 # make DESTDIR=$PWD/_pkg install
 # strip -v _pkg/usr/bin/nano

Copiare il binario di nano e il link rnano in SliTaz:

 # cp -a _pkg/usr/bin/* $fs/usr/bin

Copy the configuration files in _pkg/usr/share/nano to our rootfs:

Copiare i file di configurazione in _pkg/usr/share/nano nel nostro rootfs:

 # cp -a _pkg/usr/share/nano $fs/usr/share

libs

“ldd” su nano:

          libncurses.so.5 => /lib/libncurses.so.5 (0x40025000)
          libc.so.6 => /lib/libc.so.6 (0x40064000)
          /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

locale

Riguardo il linguaggio, puoi copiare i file .mo creati quando viene installato nano da /usr/share/locale/(fr,en,de,es,etc)/LC_MESSAGES in rootfs. Esempio per il francese:

 # cp -a _pkg/usr/share/locale/fr/LC_MESSAGES $fs/usr/share/locale/fr

Customizzazione di nano

Nano si può configurare tramite /etc/nanorc o ~/.nanorc (configurazione per ogni utente). In questo file si possono definire i colori da usare usando i file in /usr/share/nano. Un ampio esempio di come fare è recuperabile nel pacchetto di nano o in SliTaz tools.

Per un file di configurazione di sistema, puoi copiare il file in SliTaz tools dentro /etc del rootfs:

 # cd ..
 # cp -a slitaz-tools-1.1/etc/nanorc $fs/etc

retawq-0.2.6c - Web browser testuale

retawq (retawq.sourceforge.net) è un piccolo browser testuale. Con le poche opzioni configurate da noi, retawq necessita solo dei file terminfo, di libncurses e di libthread:

 # wget http://switch.dl.sourceforge.net/sourceforge/retawq/retawq-0.2.6c.tar.gz
 # tar xzf retawq-0.2.6c.tar.gz
 # cd retawq-0.2.6c
 # ./configure --enable-i18n --enable-local-cgi --path-prefix=/usr \
   --path-doc=/usr/share/doc/retawq --path-man=/usr/share/man
 # make
 # strip -v retawq

Copiare i binari di retawq in SliTaz:

 # cp retawq $fs/usr/bin

libs

          libncurses.so.5 => /lib/libncurses.so.5 (0x40025000)
          libpthread.so.0 => /lib/libpthread.so.0 (0x40064000)
          libc.so.6 => /lib/libc.so.6 (0x40074000)
          /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

Per quello che riguarda libthread si può copiare dal sistema host o usare il pacchetto minimo di glibc-2.3.6 distribuito da SliTaz:

 # cp -a /lib/libpthread* $fs/lib
 # strip --strip-unneeded $fs/lib/*

locale

Per la lingua, puoi copiare i file .mo dal path /i18n del pacchetto retawq in /usr/share/locale/(fr,en,es,etc)/LC_MESSAGES. Esempio per il francese, rinominando il file in retawq.mo:

 # cp -v i18n/fr.mo $fs/usr/share/locale/fr/LC_MESSAGES/retawq.mo

Customizzare retawq

Per personalizzare retawq si può usare la directory ~/.retawq, contentente il file di configurazione (valido solo per l'utente). Ci si può anche salvare dei segnalibri (html) nella home dell'utente. Al solito sono disponibili esempi nel pacchetto di retawq (o SliTaz tools) che contengono una pagina bookmarks.html con una lista di siti favoriti. Si pososno anche copiare i documenti (/documents) da retawq a /usr/share/doc/retawq.

htop-6.0.5 - Visualizzatore di processi di sistema

htop (htop.sourceforge.net/) è un software che mostra i processi del sistema usando ncurses.

Ritornando alla directory /src, scaricare decomprimenre, configurare, compilare e ripulire con strip:

 # cd ..
 # wget http://switch.dl.sourceforge.net/sourceforge/htop/htop-0.6.5.tar.gz
 # tar xzf htop-0.6.5.tar.gz
 # cd htop-0.6.5
 # ./configure --prefix=/usr --mandir=/usr/share/man
 # make
 # make DESTDIR=$PWD/_pkg install
 # strip -v _pkg/usr/bin/htop

Copiare i binari in SliTaz:

 # cp _pkg/usr/bin/htop $fs/usr/bin

Per l'icona di htop: _pkg/usr/share/pixmaps.

libs

          libm.so.6 => /lib/libm.so.6 (0xb7f97000)
          libncurses.so.5 => /lib/libncurses.so.5 (0xb7f55000)
          libc.so.6 => /lib/libc.so.6 (0xb7e20000)
          /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0xb7fc9000)

— Tradotto fin qui —

dialog-1.1.20070409 - GUI shell scripts

dialog (invisible-island.net/dialog/dialog.html), is a utility to build GUI-based consoles:

 # cd ..
 # wget ftp://invisible-island.net/dialog/dialog.tar.gz
 # tar xzf dialog.tar.gz
 # cd dialog-1.1-20070409
 # ./configure --enable-nls --with-ncurses --prefix=/usr \
   --sysconfdir=/etc --mandir=/usr/share/man
 # make
 # make DESTDIR=$PWD/_pkg install
 # strip -v _pkg/usr/bin/dialog

Copy dialog binary in SliTaz:

 # cp _pkg/usr/bin/dialog $fs/usr/bin

libs

          libncurses.so.5 => /lib/libncurses.so.5 (0x40027000)
          libm.so.6 => /lib/libm.so.6 (0x40066000)
          libc.so.6 => /lib/libc.so.6 (0x40089000)
          /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

locale

You can install locale files if you wish:

 # cp -a _pkg/usr/share/locale/fr $fs/usr/share/locale

The dialog configuration file is /etc/dialogrc and/or ~/.dialogrc for each user. There are also full examples of scripts in the /sample directory in the sources of dialog.

Ninvaders-0.1.1 - Space Invaders clone

ninvaders (http://ninvaders.sourceforge.net/) is a clone of the popular Space Invaders game (46 KB). We begin by placing ourselves in the /src directory, then we download, untar, compile, clean using strip and copy the nInvaders binary in /usr/games of SliTaz:

 # cd ..
 # wget http://ovh.dl.sourceforge.net/sourceforge/ninvaders/ninvaders-0.1.1.tar.gz
 # tar xzf ninvaders-0.1.1.tar.gz
 # cd ninvaders-0.1.1
 # make
 # strip -v nInvaders
 # cp nInvaders $fs/usr/games

bastet-0.41 - Bastard Tetris clone

A game of Tetris (17 KB):

 # wget http://fph.altervista.org/prog/bastet-0.41.tgz
 # tar xzf bastet-0.41.tgz
 # cd bastet-0.41
 # make
 # strip bastet
 # cp bastet $fs/usr/games
 # mkdir -p $fs/var/games
 # touch $fs/var/games/bastet.scores
 # chmod 666 $fs/var/games/bastet.scores

rhapsody-0.28b - IRC chat client

Rhapsody (http://rhapsody.sourceforge.net/) is a fast and lightweight chat client supporting the IRC protocol. It provides a menu for managing servers, channels and configuration. It is therefore easy to use:

 # cd ..
 # wget http://switch.dl.sourceforge.net/sourceforge/rhapsody/rhapsody_0.28b.tgz
 # tar xzf rhapsody_0.28b.tgz
 # cd rhapsody-0.28b
 # ./configure -i /usr/bin -d /usr/share/doc/rhapsody
 # make
 # strip -v rhapsody

Install the binary and help files in SliTaz. We must adjust permissions on these files so that everyone can read:

 # cp rhapsody $fs/usr/bin
 # mkdir $fs/usr/share/doc/rhapsody
 # cp -a help $fs/usr/share/doc/rhapsody/help
 # chmod 644 $fs/usr/share/doc/rhapsody/help/*

libs

Rhapsody uses the following libraries:

          libncurses.so.5 => /lib/libncurses.so.5 (0x40026000)
          libc.so.6 => /lib/libc.so.6 (0x40066000)
          /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000))

Rhapsody use the following libraries:

You can customize rhapsody via ~/.rhapsodyrc or use <Ctrl+T> for options:

Generate the initramfs and an ISO image

To create a new ISO image, you can use 'mktaziso' in SliTaz tools. Or you can create a new initramfs image, copy it to /boot in the root of the cdrom (rootcd) and finally generate an ISO image with genisoimage:

 # cd $fs
 # find . -print | cpio -o -H newc | gzip -9 > ../rootfs.gz
 # cd ..
 # cp rootfs.gz rootcd/boot
 # genisoimage -R -o slitaz-cooking.iso -b boot/isolinux/isolinux.bin \
   -c boot/isolinux/boot.cat -no-emul-boot -boot-load-size 4 \
   -V "SliTaz" -input-charset iso8859-1 -boot-info-table rootcd

Following chapter

The next chapter describes the installation of the locales and i18n.

 
it/scratchbook/base-ncurses.txt · Last modified: 2012/07/01 15:56 by cymon