Benvenuti nella pagina Wiki di Simone Giustetti.
Lingue: English - Italiano
Pacchetti Base
trinity_desktop_environment_14.0.0
Dopo aver compilato ed installato i prerequisiti per TDE ci si potrà occupare dell'ambiente desktop. Trattandosi di un ambiente articolato e complesso il codice sorgente è suddiviso in numerosi pacchetti, circa una trentina, in base alle finalità ed alle funzioni espletate. Tutti i servizi principali e le applicazioni fondamentali sono raggruppati in due pacchetti etichettati come pacchetti base: tdelibs e tdebase. Tali pacchetti rappresentano lo scheletro del Trinity Desktop Environment e devono pertanto essere installati per primi. Al termine dell'installazione si disporrà del necessario per avviare l'ambiente desktop e testarne funzioni elementari quali aprire e spostare una finestra, avviare un'applicazione e poco altro. Non si avranno a disposizione tutti i programmi e gli strumenti di configurazione che rendono TDE un ambiente desktop versatile e produttivo.
Sistema di Compilazione
In accordo con gli obiettivi dichiarati del progetto Trinity, entrambi i pacchetti sono stati migrati a cmake pertanto tale strumento potrà essere utilizzato per configurare e compilare il codice sorgente.
Struttura di uno Script
La struttura degli script di compilazione è stata mantenuta per quanto possibile omogenea a quella sviluppata per i pacchetti dei prerequisiti. Si rimanda alla pagina specifica per i dettagli: TDE_14.0.0_prerequisiti#Struttura_di_uno_Script.
Opzioni Generali
Le opzioni generali per entrambi i pacchetti ricalcano quanto descritto per l'impiego di cmake nella pagina dedicata ai pacchetti dei prerequisiti. Anche in questo caso si rimanda alla pagina specifica per una trattazione più approfondita dell'argomento: TDE_14.0.0_prerequisiti#Opzioni_Generali.
Opzioni Specifiche
La compilazione dei due pacchetti ha ovviamente richiesto l'impiego di opzioni specifiche per tdebase e tedelibs. Soprattutto per il primo dei due, data la funzione, sono state necessarie parecchie personalizzazioni. Di seguito sono riportati un dettaglio delle opzioni impostate ed i collegamenti da cui scaricare gli script SlackBuild completi, che potranno essere utilizzati per ottenere pacchetti funzionanti a partire dagli archivi contenti il codice sorgente.
TDEBASE
Tdebase è il pacchetto principale del Trinity Desktop Environment; contiene librerie di uso generale, file e strumenti di configurazione e le applicazioni fondamentali per il funzionamento dell'ambiente. La coppia tdebase, tdelibs costituisce un ambiente minimale funzionante che può essere ampliato ed integrato installando ulteriori pacchetti di TDE. Con tdebase si installano alcuni programmi di uso generale quali il file manager ed il programma di configurazione. Tra i programmi inclusi nel pacchetto vale la pena citare:
- Il centro di controllo (kcontrol).
- Il programma di login e gestione degli accessi (tdm).
- Il manuale integrato di TDE (khelpcenter).
- Il pannello di TDE (kicker).
- Il browser web e file manager integrato di TDE (konqueror).
- L'emulatore di terminale integrato (konsole).
- Il gestore delle finestre (twin).
- Lo script di avvio (starttde).
Il pacchetto tdebase contiene i window manager: i programmi che si occupano di disegnare le finestre delle applicazioni sullo schermo. TDE 14.0.0 introduce un nuovo window manager: Compton che va a sostituire Kompmgr il vecchio composition manager di KDE 3 ormai non più supportato nè sviluppato. Purtroppo la versione di Compton inclusa con TDE presenta alcuni problemi in fase di compilazione rendendo impossibile produrre un pacchetto funzionante. Per ovviare al problema lo script SlackBuild rimuove la dipendenza da Compton:
( cd ${TMP}/tmp-${PRGNAM}/${DIR_SRC}; sed -i "twin/CMakeLists.txt" -e "/compton-tde/ s/^/#/" )
che pertanto non sarà compilato.
Vale la pena notare che la versione ufficiale di Compton, al contrario di quella distribuita con TDE, non presenta problemi. A chi volesse provare il window manager, si consiglia di compilare il pacchetto ufficiale usando gli script scaricabili dal sito del progetto slackbuilds.org.
Per configurare e compilare il pacchetto utilizzando cmake sono necessarie molte opzioni di configurazione. La riga di comando invocata è:
cmake ${TMP}/tmp-${PRGNAM}/${DIR_SRC} \ -DCMAKE_C_FLAGS:STRING="${SLKCFLAGS}" \ -DCMAKE_CXX_FLAGS:STRING="${SLKCFLAGS} $DEBUG_CMAKE_OPT" \ -DCMAKE_INSTALL_PREFIX=${PREFIX} \ -DCMAKE_SKIP_RPATH="OFF" \ -DLIB_SUFFIX=${LIBDIRSUFFIX} \ -DMAN_INSTALL_DIR=${MANDIR} \ -DSYSCONF_INSTALL_DIR=${SYSCONFDIR} \ -DBUILD_CRASHTEST=ON \ -DWITH_ARTS=ON \ -DWITH_HAL=OFF \ -DWITH_LDAP=ON \ -DWITH_LIBRAW1394=ON \ -DWITH_OPENEXR=ON \ -DWITH_PAM=OFF \ -DWITH_GCC_VISIBILITY=OFF \ -DWITH_SAMBA=ON \ -DWITH_SASL=ON \ -DWITH_SHADOW=ON \ -DWITH_TDEHWLIB=ON \ -DWITH_USBIDS="/usr/share/hwdata/usb.ids" \ -DWITH_XCOMPOSITE=ON \ -DWITH_XCURSOR=ON \ -DWITH_XDAMAGE=ON \ -DWITH_XDMCP=ON \ -DWITH_XEXT=ON \ -DWITH_XFIXES=ON \ -DWITH_XINERAMA=ON \ -DWITH_XRANDR=ON \ -DWITH_XRENDER=ON \ -DWITH_XTEST=ON \ -DBUILD_ALL=ON
Una volta compilato il codice sorgente ed installati i file binari prodotti è necessario eseguire ulteriori operazioni per aggiungere alcuni script e file di configurazione necessari perchè l'ambiente funzioni senza intoppi:
# Add some configuration files / scripts needed by TDE. mkdir -p ${PKG}/etc/trinity mkdir -p ${PKG}/etc/rc.d mv ${PKG}/${PREFIX}/share/config/tdm ${PKG}/etc/trinity/tdm ( cd ${PKG}/${PREFIX}/share/config ; ln -sf /etc/trinity/tdm tdm ) # Set sane permissions for the include files. if [ -d ${PKG}/${PREFIX}/include ]; then find ${PKG}/${PREFIX}/include -type f -exec chmod 0644 {} \; fi # Ensure correct login manager session file is available. mkdir -p ${PKG}/usr/share/apps/tdm/sessions cp ${PKG}/${PREFIX}/share/apps/tdm/sessions/tde.desktop ${PKG}/usr/share/apps/tdm/sessions/ cat ${SRCDIR}/rc.4 | sed "s|PREFIX/|${PREFIX}/|g" > ${PKG}/etc/rc.d/rc.4.new # In the old days these files were copied over existing ones. Folks who # customized these files got smacked. Now they are created as *.new files. # The doinst.sh install script will either remove the .new extension or leave # things be for the user to decide. mkdir -p ${PKG}/etc/X11/xinit ${PKG}/etc/profile.d cat ${SRCDIR}/xinit/xinitrc.trinity | sed "s|PREFIX|${PREFIX}|g" > ${PKG}/etc/X11/xinit/xinitrc.trinity.new cat ${SRCDIR}/profile.d/trinity.sh | sed "s|PREFIX|${PREFIX}|g" > ${PKG}/etc/profile.d/trinity.sh.new cat ${SRCDIR}/profile.d/trinity.csh | sed "s|PREFIX|${PREFIX}|g" > ${PKG}/etc/profile.d/trinity.csh.new # Assign some sane permissions to the scripts. chmod 755 ${PKG}/etc/X11/xinit/xinitrc.*.new ${PKG}/etc/profile.d/*.*.new # Copy desktop environment start script. if [[ -f ${PKG}/${PREFIX}/bin/starttde ]]; then mkdir -p ${PKG}/usr/bin cp ${PKG}/${PREFIX}/bin/starttde ${PKG}/usr/bin/starttde.new fi mkdir -p ${PKG}/usr/bin cat ${SRCDIR}/xinit/xwmconfig > ${PKG}/usr/bin/xwmconfig.new chmod +x ${PKG}/usr/bin/xwmconfig.new
Un archivio contenente lo script SlackBuild completo ed i file di configurazione può essere scaricato dal seguente indirizzo
TDELIBS
Il pacchetto tdelibs contiene un insieme di librerie che fungono da fondamenta per il Trinity Desktop Environment. Le librerie sono costruite sopra TQt3 e pensate per semplificare la scrittura di applicazioni che girino su TDE e mantengano aspetto e funzionalità consistenti tra loro. Tra le altre cose tdelibs fornisce:
- Classi per la comunicazione tra processi (dcop).
- Accesso all'agenda condivisa di TDE (tdeabc).
- Un insieme di controlli standard per le applicazioni che vanno a sommarsi a quelli forniti da TQt (tdeui).
- Un motore HTML ed un motore Javascript ricchi di funzionalità (tdehtml e kjs).
- Un programma di avvio per l'ambiente (tdeinit).
- Gestione dei flussi dati di rete in input o output (tdeio).
- Un metodo standard per inserire componenti di alcune applicazioni in altre (tdeparts).
- Funzioni di controllo del processo di stampa (tdeprint).
- Integrazione con Open SSL (kssl).
- Funzioni di alto livello quali "Cerca e Sostituisci" (tdeutils).
- Una libreria per la gestione del formato MIDI (libtdemid).
Per configurare il codice sorgente è necessario invocare cmake passando il parametro -DCMAKE_SKIP_RPATH="OFF" ed altre utili opzioni:
cmake ${TMP}/tmp-${PRGNAM}/${DIR_SRC} \ -DCMAKE_C_FLAGS:STRING="${SLKCFLAGS}" \ -DCMAKE_CXX_FLAGS:STRING="${SLKCFLAGS} $DEBUG_CMAKE_OPT" \ -DCMAKE_INSTALL_PREFIX=${PREFIX} \ -DCMAKE_SKIP_RPATH="OFF" \ -DLIB_SUFFIX=${LIBDIRSUFFIX} \ -DMAN_INSTALL_DIR=${MANDIR} \ -DSYSCONF_INSTALL_DIR=${SYSCONFDIR} \ -DBUILD_ALL=ON
Quindi procedere alla compilazione mediante il comando make.
Un archivio contenente lo script SlackBuild completo ed i file di configurazione può essere scaricato dal seguente indirizzo
Conclusioni
Nel corso del presente articolo sono state presentate le procedure di compilazione dei pacchetti costituenti la base del Trinity Desktop Environment. Per ogni pacchetto sono state descritte le opzioni di base ed è stata fornita copia dello script preparato nel corso della stesura dell'articolo. Gli script sono distribuiti nella speranza che possano essere utili a quegli utenti di Slackware Linux che volessero cimentarsi nell'impresa di compilare da zero l'intero ambiente desktop.
Per commenti, consigli, domande inviate una e-mail all'indirizzo studiosg [chiocciola] giustetti [punto] net.
Link esterni
- Home page del progetto TDE (En)
- Home page di Slackware (En)
- Home page del progetto SlackBuilds.org (En)
- Home page del progetto Compton (En)
Lingue: English - Italiano