Questo è l'HOWTO per Tcl e Tk per Linux. Va inteso come riferimento per Linux, per coprire tutto quello che si dovrebbe sapere sull'installazione, configurazione e come introduzione allo sviluppo in Tcl e Tk. Vengono analizzate la storia ed alcuni pro e contro riguardanti Tcl e Tk in Linux e vengono anche indicati riferimenti a molte altre fonti d'informazione su vari argomenti relativi a questo semplice ma potente linguaggio di script.
Se si è mai ricompilato un proprio kernel Linux all'interno di X usando il comando
make xconfig
sicuramente si è avuto modo di confrontarsi con la forza di questo semplice ma potente linguaggio per script.
Dopo aver eseguito il primo passo nella ricompilazione del kernel, viene eseguito uno script chiamato kconfig.tk tramite wish (l'interprete Tcl). Appare la finestra di configurazione del kernel di Linux. Invece di rispondere ad una serie di domande, questo strumento di configurazione basato su X permette di usare caselle di spunta per selezionare quali opzioni del kernel abilitare.
Il sistema memorizza le ultime opzioni di configurazione, cosicché ogni volta che viene lanciato bisognerà solo aggiungere o rimuovere qualche spunta senza bisogno di reinserire tutto l'insieme di opzioni. Inoltre si può riempire tutto (o in parte) l'elenco delle opzioni del kernel nell'ordine che si desidera. Dopo questo passo semplificato si può ricompilare il kernel nel modo tradizionale.
In realtà c'è un altro caso famoso. Si è mai usato "printtool"? (Printer Config Tool (C) Copyright 1994 di Red Hat Software - autore: Michael Callahan). Dopo aver installato una distribuzione Red Hat sarà capitato di usarlo per predisporre i servizi di stampa. Bene, l'interfaccia di printtool è principalmente uno script Tcl/Tk.
Per chi non conoscesse Red Hat, mi si lasci dire come si possa facilmente configurare le stampanti semplicemente riempiendo qualche campo di testo e qualche casella di spunta.
Il programma in sé si prende cura di predisporre i servizi di stampa attraverso la creazione della directory di spool, scrive il file /etc/printcap e il filtro della stampante, riavvia lpd e prova il filtro con pagine ascii o postscript. Consente di manipolare le opzioni ghostscript (cioé scegliere sino a 8 pagine per pagina in uscita e impostare i margini), ha una guida in linea e molte altre possibilità.
Qual'è la differenza rispetto ad altre implementazioni di servizi di stampa?
Tutto si ottiene utilizzando Tcl/Tk come una "colla" tra applicazioni consolidate, operando su normali file di configurazione di Linux in una finestra visuale e interattiva sotto X-Window. Non è stato scritto alcun nuovo comando specifico dell'applicazione.
Attualmente il documento si limita a dare un riferimento iniziale all'utente Linux; nelle versioni future si cercherà di incorporare un piccolo "Tutorial di programmazione". Mi si lasci ripetere che questo documento non è (e non vuole sostituire) un "manuale utente" o un "riferimento" omnicomprensivo per lo sviluppo e la programmazione in Tcl e Tk: è solo un punto di partenza per gli utenti Linux.
Il concetto dell'autore di manuale di riferimento coincide con la definizione di pagine di manuale, e molte persone imparano Tcl/Tk da queste basilari fonti d'informazione. Questi file fanno parte della distribuzione del codice sorgente, e sono installati nella propria macchina Linux. Si sarà in grado di accedere alle pagine di manuale di Tcl/Tk tramite il comando man.
Sono stati scritti molti tutorial di programmazione completi e strutturati allo scopo di permettere ai nuovi utenti di maneggiare Tcl/Tk; tonnellate di altro materiale é disponibile in Internet. Interpretando la filosofia di Tcl/Tk non cercheró di reinventare la ruota: mi organizzeró per mettere insieme la grande quantitá di materiale già disponibile.
Si suggerisce di guardare gli altri documenti elencati nella sezione Riferimenti per trovare dove recuperare informazioni specifiche su Tcl e Tk.
Per capire l'abc di Tcl/Tk non é necessario essere un guru della programmazione, la sintassi dei comandi é molto semplice. Fondamentalmente é necessario avere familiarità con:
Le nuove versioni di questo documento verrano caricate sul sito ftp: ftp://sunsite.unc.edu/ pub/Linux/HOWTO/ e saranno disponibili su tutti gli altri mirror.
L'ipertesto e altre versioni di questo e di altri HOWTO di Linux sono disponibili principalmente presso sunsite.unc.edu/LDP/lpd.ht ml, www.linux-howto.com e presso molti altri siti mirror nel World-Wide-Web.
Cercherò di incorporare nella mia pagina Web la versione html e sgml più recente del documento. La maggior parte delle distribuzioni Linux in CD-ROM include gli HOWTO, spesso nella sottodirectory /usr/doc/, e si possono acquistare versioni stampate da parecchi venditori.
Qualche volta gli HOWTO disponibili presso i venditori di CD-ROM, siti ftp, ed in formato cartaceo sono superati. Se la data scritta su questi HOWTO è più vecchia di sei mesi, allora probabilmente è disponibile una nuova copia in Internet.
Se qualcuno facesse una traduzione di questo documento in un'altra lingua mi scriva un messaggio, includerò qui un riferimento.
Conto su di te, lettore, per rendere utile questo HOWTO. Se hai un qualsiasi suggerimento, correzione o commento, ti prego di mandarlo a ( Luca Rossetti ), e io cercherò di aggiungerlo nella prossima revisione.
Se uno dei collegamenti menzionati in questo documento non fosse più disponibile o dovesse cambiare, per favore notificatemelo immediatamente cosicché possa aggiornarlo o rimuoverlo.
Sono disposto a rispondere a domande generali a proposito di Tcl/Tk e Linux meglio che posso. Prima di farlo però, leggete tutte le informazioni contenute in questo HOWTO, e mandatemi informazioni dettagliate sul problema.
Se pubblicate questo documento in un CD-ROM o in forma stampata, sarebbe veramente apprezzata una copia omaggio. Scrivetemi una e-mail e vi risponderò spedendovi il mio indirizzo postale.
In molte sezioni ho menzionato società editrici o URL commerciali: io non lavoro per loro.
La maggior parte delle informazioni di questo HOWTO provengono da Scriptics del Dr. Ousterhout e dalle FAQ di Larry W. Virden su comp.lang.tcl FAQ .
Vorrei ringraziare il gruppo di utenti linux italiano PLUTO e tutti i volontari dell' ILDP (Italian Linux Documentation Project), specialmente Eugenia Franzoni e Giovanni Bortolozzo, per i loro commenti.
Questo documento è sottoposto a Copyright 1998 da Luca Rossetti.
Questo documento viene distribuito nella speranza che sia utile per il lettore: naturalmente è considerato senza alcuna garanzia, senza neanche l'implicita garanzia di commerciabilità o idoneità per uno scopo particolare. Questo HOWTO è un documento libero; lo si può ridistribuire o modificare sotto i termini del COPYRIGHT LDP .
Si legga il Manifesto LDP per maggiori dettagli.