Sophie

Sophie

distrib > Mandriva > 9.1 > i586 > by-pkgid > f1098342ec4a2b28475e34123ce17201 > files > 1417

howto-html-it-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
 <TITLE>Come cambiare il titolo di una xterm</TITLE>


</HEAD>
<BODY>
<H1>Come cambiare il titolo di una xterm</H1>

<H2>Ric Lister, <CODE>ric@giccs.georgetown.edu</CODE></H2>v2.0, 27 ottobre 1999
<P><HR>
<EM> Questo documento spiega come utilizzare le sequenze di escape
per modificare dinamicamente i titoli della finestra e dell'icona di
una xterm.  Sono forniti esempi per diverse shell e l'appendice
fornisce le sequenze di escape per altri tipi di terminale.
Traduzione a cura di Lorenza Romano (titti@dei.unipd.it) settembre 2000.</EM>
<HR>
<H2><A NAME="s1">1. Dove trovare questo documento</A></H2>

<P>Questo documento fa ora parte del
<A HREF="http://sunsite.unc.edu/LDP/HOWTO/">Linux HOWTO Index</A>
e pu&ograve; essere trovato all'indirizzo
<A HREF="http://sunsite.unc.edu/LDP/HOWTO/mini/Xterm-Title.html">http://sunsite.unc.edu/LDP/HOWTO/mini/Xterm-Title.html</A>.
<P>
<P>L'ultima versione pu&ograve; sempre essere trovata in diversi formati all'indirizzo 
<A HREF="http://www.giccs.georgetown.edu/~ric/howto/Xterm-Title/">http://www.giccs.georgetown.edu/~ric/howto/Xterm-Title/</A>.
<P>
<P>Questo documento prende il posto dell'howto originario scritto da
Winfried Tr&uuml;mper.
<P>
<P>
<H2><A NAME="s2">2. Titoli statici</A></H2>

<P>Pu&ograve; essere impostato un titolo statico per qualsiasi terminale
<CODE>xterm</CODE>, <CODE>color-xterm</CODE> o <CODE>rxvt</CODE> utilizzando le opzioni
di riga di comando (switch) <CODE>-T</CODE> e <CODE>-n</CODE>:
<BLOCKQUOTE><CODE>
xterm -T "Il proprio Titolo della XTerm" -n "Il proprio Titolo dell'Icona
della XTerm"
</CODE></BLOCKQUOTE>
<P>
<P>
<H2><A NAME="s3">3. Titoli dinamici</A></H2>

<P>Molte persone ritengono utile impostare il titolo di un terminale
affinch&eacute; rifletta informazioni dinamiche, ad esempio il nome dell'host
a cui &egrave; collegato l'utente, l'attuale directory di lavoro, ecc.  
<P>
<P>
<H2>3.1 Sequenze di escape xterm </H2>

<P>I titoli della finestra e dell'icona di una xterm in esecuzione possono
essere modificati utilizzando le sequenze di escape Xterm.  Al riguardo sono
utili le seguenti sequenze:
<P>
<P>
<UL>
<LI><CODE>ESC]0;<B>stringa</B>BEL</CODE> -- Imposta il nome
dell'icona e il titolo della finestra a <B>stringa</B></LI>
<LI><CODE>ESC]1;<B>stringa</B>BEL</CODE> -- Imposta il nome
dell'icona a <B>stringa</B></LI>
<LI><CODE>ESC]2;<B>stringa</B>BEL</CODE> -- Imposta il titolo della
finestra a <B>stringa</B></LI>
</UL>
<P>dove <CODE>ESC</CODE> &egrave; il carattere <B>escape</B> (\033) e <CODE>BEL</CODE> &egrave;
il carattere <B>bell</B> (\007).
<P>
<P>La riproduzione di una di queste sequenze entro la xterm provoca la
modifica del titolo della finestra o dell'icona.
<P>
<P><B>Nota</B>: queste sequenze si applicano alla maggior parte dei
derivati xterm, ad esempio <CODE>nxterm</CODE>, <CODE>color-xterm</CODE> e
<CODE>rxvt</CODE>.  Altri tipi di terminale spesso usano sequenze di escape
diverse; si veda l'appendice per degli esempi.  Per la lista completa
delle sequenze di escape xterm si veda il file 
<A HREF="http://www.giccs.georgetown.edu/~ric/howto/Xterm-Title/ctlseq2.txt">ctlseq2.txt</A>,
incluso nella distribuzione xterm, oppure
<A HREF="http://www.giccs.georgetown.edu/~ric/howto/Xterm-Title/xterm.seq">xterm.seq</A> fornito con la distribuzione
<A HREF="http://www.rxvt.org/">rxvt</A>.
<P>
<P>
<H2>3.2 Riprodurre le sequenze di escape</H2>

<P>Per le informazioni che rimangono costanti per tutta la durata della
vita della shell, ad esempio l'host e lo username, baster&agrave; semplicemente
fare l'echo della stringa di escape nel file rc della shell:
<BLOCKQUOTE><CODE>
<PRE>
echo -n "\033]0;${USER}@${HOST}\007"
</PRE>
</CODE></BLOCKQUOTE>

dovrebbe produrre un titolo del tipo <CODE>username@hostname</CODE> assumendo
che le variabili della shell <CODE>$USER</CODE> e <CODE>$HOST</CODE> siano
impostate correttamente.  Le opzioni necessarie al comando
<CODE>echo</CODE> possono variare da shell a shell (si vedano gli esempi
che seguono).  
<P>
<P>
<P>Per le informazioni che possono cambiare durante il corso della vita
della shell, ad esempio l'attuale directory di lavoro, &egrave; necessario applicare
queste sequenze ogniqualvolta il prompt cambia.  In questo modo la stringa
viene aggiornata con ogni comando che si immette e pu&ograve; tenere traccia di
informazioni tipo l'attuale directory di lavoro, lo username, l'hostname
ecc.  A questo scopo, alcune shell mettono a disposizione delle funzioni
speciali, altre no e si devono inserire le sequenze del titolo direttamente
nella stringa del prompt.  Ci&ograve; &egrave; chiarito nella prossima sezione.
<P>
<P>
<H2><A NAME="s4">4. Esempi per shell diverse</A></H2>

<P>Di seguito forniamo una serie di esempi per alcune delle shell pi&ugrave; comuni.
Iniziamo con la <CODE>zsh</CODE> dato che fornisce parecchie facilitazioni
che rendono pi&ugrave; agevole il nostro lavoro.  Proseguiremo poi attraverso
esempi di difficolt&agrave; crescente.
<P>
<P>
<P>In tutti gli esempi esaminiamo la variabile di ambiente <CODE>$TERM</CODE>
per assicurarci di applicare le sequenze di escape solo alle
xterm.  Verifichiamo che <CODE>$TERM=xterm*</CODE>; la ragione della presenza del
metacarattere &egrave; che alcune varianti (ad esempio rxvt) possono impostare
<CODE>$TERM=xterm-color</CODE>.
<P>
<P>&Egrave; necessario fare una osservazione aggiuntiva sui derivati delle
shell C, tipo <CODE>tcsh</CODE> e <CODE>csh</CODE>.  Nelle shell C, le variabili
indefinite provocano un errore fatale (fatal error).  Perci&ograve; prima di
esaminare la variabile <CODE>$TERM</CODE> &egrave; necessario verificare la sua
esistenza cos&igrave; da non interrompere shell non interattive.  Per ottenere
ci&ograve; &egrave; necessario includere gli esempi sottostanti in qualcosa tipo:
<BLOCKQUOTE><CODE>
<PRE>
  if ($?TERM) then
      ...
  endif
</PRE>
</CODE></BLOCKQUOTE>

(A nostro avviso questa &egrave; proprio una delle molte ragioni per non
usare le shell C.  Si veda <I>
<A HREF="http://language.perl.com/versus/csh.whynot">Csh Programming Considered Harmful</A></I>
per una discussione proficua).
<P>
<P>
<P>Gli esempi che seguono dovrebbero essere utilizzati inserendoli nell'apposito
file di inizializzazione della shell; cio&egrave; un file di cui le shell
interattive fanno il source all'avvio.  Nella maggior parte dei casi il
nome del file &egrave; qualcosa tipo 
<CODE>.<I>shell</I>rc</CODE> (per esempio <CODE>.zshrc</CODE>,
<CODE>.tcshrc</CODE>, ecc). 
<P>
<P>
<H2>4.1 zsh</H2>

<P>La <CODE>zsh</CODE> fornisce alcune funzioni ed espansioni che utilizzeremo:
<BLOCKQUOTE><CODE>
<PRE>
precmd ()   funzione che viene eseguita appena prima di ogni prompt
chpwd ()    funzione che viene eseguita ogniqualvolta la directory
            viene modificata
\e          sequenza di escape per escape (ESC)
\a          sequenza di escape per bell (BEL)
%n          viene espansa in $USERNAME
%m          viene espansa nell'hostname fino al primo '.'
%~          viene espansa nella directory, sostituendo $HOME con '~'
</PRE>
</CODE></BLOCKQUOTE>

Sono disponibili molte altre espansioni: si veda la pagina di manuale 
<CODE>zshmisc</CODE>.
<P>
<P>Quanto segue imposta perci&ograve; il titolo della xterm a:
"<CODE><I>username</I>@<I>hostname</I>: <I>directory</I></CODE>":
<BLOCKQUOTE><CODE>
<PRE>
case $TERM in
    xterm*)
        precmd () {print -Pn "\e]0;%n@%m: %~\a"}
        ;;
esac
</PRE>
</CODE></BLOCKQUOTE>

Ci&ograve; potrebbe anche essere ottenuto utilizzando <CODE>chpwd()</CODE> al
posto di <CODE>precmd()</CODE>.  La primitiva <CODE>print</CODE> si comporta
come <CODE>echo</CODE>, ma ci d&agrave; la possibilit&agrave; di usare le sequenze di
escape del prompt <CODE>%</CODE>.
<P>
<P>
<H2>4.2 tcsh</H2>

<P>La <CODE>tcsh</CODE> ha delle funzioni ed espansioni simili a quelle della
<CODE>zsh</CODE>:
<BLOCKQUOTE><CODE>
<PRE>
precmd ()   funzione che viene eseguita appena prima di ogni prompt
cwdcmd ()   funzione che viene eseguita ogniqualvolta la directory
            viene modificata
%n          viene espansa in username
%m          viene espansa in  hostname
%~          viene espansa nella directory, sostituendo $HOME con '~'
%#          viene espansa in '>' per gli utenti normali,'#' per gli 
            utenti root
%{...%}     include una stringa sotto forma di sequenza di escape 
            costante
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>Sfortunatamente non c'&egrave; un comando equivalente al comando <CODE>print</CODE> della
<CODE>zsh</CODE> che permetta di usare le sequenze di escape del prompt
nella stringa del titolo, perci&ograve; la cosa migliore che si possa fare &egrave;
utilizzare le variabili della shell (in <CODE>~/.tcshrc</CODE>):
<BLOCKQUOTE><CODE>
<PRE>
switch ($TERM)
    case "xterm*":
        alias precmd 'echo -n "\033]0;${HOST}:$cwd\007"'
        breaksw
endsw
</PRE>
</CODE></BLOCKQUOTE>

In ogni modo ci&ograve; fornisce l'intero percorso della directory al posto
di far uso di <CODE>~</CODE>.  In alternativa si pu&ograve; inserire la stringa nel prompt:
<BLOCKQUOTE><CODE>
<PRE>
switch ($TERM)
    case "xterm*":
        set prompt="%{\033]0;%n@%m:%~\007%}tcsh%# "
        breaksw
    default:
        set prompt="tcsh%# "
        breaksw
endsw
</PRE>
</CODE></BLOCKQUOTE>

che imposta un prompt pari a "<CODE>tcsh% </CODE>" ed un titolo di xterm e
icona pari a
"<CODE><I>username</I>@<I>hostname</I>:<I>directory</I></CODE>".  Si noti
che "<CODE>%{...%}</CODE>" deve contenere sequenze di escape (e
non pu&ograve; essere l'ultima voce nel prompt: si veda la pagina di manuale
<CODE>tcsh</CODE> per i dettagli).
<P>
<P>
<H2>4.3 bash</H2>

<P>La <CODE>bash</CODE> mette a disposizione una variabile
<CODE>$PROMPT_COMMAND</CODE> che contiene un comando da eseguirsi prima
del prompt.  Questo esempio imposta il titolo a
"<CODE><I>username</I>@<I>hostname</I>: <I>directory</I></CODE>":
<BLOCKQUOTE><CODE>
<PRE>
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'
</PRE>
</CODE></BLOCKQUOTE>

dove <CODE>\033</CODE> &egrave; il codice carattere per <CODE>ESC</CODE> e
<CODE>\007</CODE> quello per <CODE>BEL</CODE>.
<P>
<P>Si noti che qui &egrave; importante l'uso delle virgolette: le variabili
vengono sviluppate, espanse se sono tra <CODE>"..."</CODE> e non vengono
espanse se sono tra <CODE>'...'</CODE>.  Perci&ograve;
<CODE>$PROMPT_COMMAND</CODE> &egrave; impostata ad un valore non espanso, ma le
variabili poste all'interno delle <CODE>"..."</CODE> vengono espanse nel
momento in cui <CODE>$PROMPT_COMMAND</CODE> viene utilizzata.
<P>
<P>In ogni caso, <CODE>$PWD</CODE> produce l'intero percorso della
directory.  Se si vuole usare la forma abbreviata <CODE>~</CODE>, si deve
includere la stringa di escape nel prompt, il che permette di
trarre vantaggio dalle seguenti espansioni del prompt, fornite dalla 
shell:
<BLOCKQUOTE><CODE>
<PRE>
\u          viene espansa in $USERNAME
\h          viene espansa in hostname fino al primo '.'
\w          viene espansa in directory, sostituendo $HOME with '~'
\$          viene espansa in '$' per gli utenti normali, '#' per root
\[...\]     include una sequenza di caratteri non stampabili
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>Perci&ograve;, quanto segue produce un prompt <CODE>bash$ </CODE> e un titolo di
xterm "<CODE><I>username</I>@<I>hostname</I>: <I>directory</I></CODE>":
<BLOCKQUOTE><CODE>
<PRE>
case $TERM in
    xterm*)
        PS1="\[\033]0;\u@\h: \w\007\]bash\\$ "
        ;;
    *)
        PS1="bash\\$ "
        ;;
esac
</PRE>
</CODE></BLOCKQUOTE>

Si noti l'uso di <CODE>\[...\]</CODE>, che dice alla <CODE>bash</CODE> di
ignorare i caratteri di controllo non stampabili nel calcolo della
lunghezza del prompt.  Diversamente i comandi per l'editor di linea
si confonderebbero nel posizionare il cursore.
<P>
<P>
<P>
<H2>4.4 ksh</H2>

<P>La <CODE>ksh</CODE> fornisce poco dal punto di vista delle funzioni ed
espansioni, perci&ograve; si deve inserire la stringa di escape nel prompt
affinch&eacute; venga aggiornata dinamicamente.  Questo esempio produce un
titolo <CODE>username@hostname: directory</CODE> e un prompt <CODE>ksh$ </CODE>.
<BLOCKQUOTE><CODE>
<PRE>
case $TERM in
    xterm*)
        HOST=`hostname`
        PS1='^[]0;${USER}@${HOST}: ${PWD}^Gksh$ '
        ;;
    *)
        PS1='ksh$ '
        ;;
esac
</PRE>
</CODE></BLOCKQUOTE>

Ad ogni modo, <CODE>$PWD</CODE> fornisce l'intero percorso della
directory.  Si pu&ograve; rimuovere il prefisso <CODE>$HOME/</CODE> dalla
directory usando il costrutto <CODE>${...##...}</CODE>.  Si pu&ograve; anche usare
<CODE>${...%%...}</CODE> per troncare l'hostname:
<BLOCKQUOTE><CODE>
<PRE>
HOST=`hostname`
HOST=${HOST%%.*}
PS1='^[]0;${USER}@${HOST}: ${PWD##${HOME}/}^Gksh$ '
</PRE>
</CODE></BLOCKQUOTE>

Si noti che, nella stringa del prompt, <CODE>^[</CODE> e <CODE>^G</CODE> sono
singoli caratteri per <CODE>ESC</CODE> e <CODE>BEL</CODE> (possono essere
inseriti in emacs utilizzando <CODE>C-q ESC</CODE> e <CODE>C-q C-g</CODE>).
<P>
<P>
<H2>4.5 csh</H2>

<P>Tutto ci&ograve;  &egrave; davvero molto difficile in <CODE>csh</CODE> e si finisce per
fare qualcosa del tipo:
<BLOCKQUOTE><CODE>
<PRE>
switch ($TERM)
    case "xterm*":
        set host=`hostname`
        alias cd 'cd \!*; echo -n "^[]0;${user}@${host}: ${cwd}^Gcsh% "'
        breaksw
    default:
        set prompt='csh% '
        breaksw
endsw
</PRE>
</CODE></BLOCKQUOTE>

dove si &egrave; dovuto definire un alias per il comando <CODE>cd</CODE> per
svolgere la funzione di invio delle sequenze di escape.  Si noti che,
nella stringa del prompt, <CODE>^[</CODE> e <CODE>^G</CODE> sono singoli
caratteri per <CODE>ESC</CODE> e <CODE>BEL</CODE> (possono essere inseriti in
emacs utilizzando <CODE>C-q ESC</CODE> e  <CODE>C-q C-g</CODE>).
<P>
<P>Note: su alcuni sistemi si pu&ograve; utilizzare <CODE>hostname -s</CODE> per
ottenere un hostname breve anzich&eacute; interamente specificato.  Alcuni utenti,
con collegamenti simbolici a directory, possono scoprire che
<CODE>`pwd`</CODE> (apici per eseguire il comando <CODE>pwd</CODE>) fornisce un
percorso pi&ugrave; accurato di <CODE>$cwd</CODE>.
<P>
<P>
<P>
<P>
<H2><A NAME="s5">5. Stampare il nome del job corrente</A></H2>

<P>Spesso un utente avvia un job in primo piano (in foreground) di lunga
durata tipo <CODE>top</CODE>, un editor, un client email, ecc e desidera
che il nome del job sia mostrato nel titolo.  Questo &egrave; un problema pi&ugrave;
spinoso e si risolve facilmente solo nella <CODE>zsh</CODE>. 
<P>
<H2>5.1 zsh</H2>

<P>La <CODE>zsh</CODE> fornisce una funzione primitiva ideale per questo scopo:
<BLOCKQUOTE><CODE>
<PRE>
preexec()   funzione che viene eseguita esattamente prima che un
            comando venga eseguito
$*,$1,...   argomenti passati a preexec()
</PRE>
</CODE></BLOCKQUOTE>

Perci&ograve; si pu&ograve; inserire nel titolo il nome del job nel seguente modo:
<BLOCKQUOTE><CODE>
<PRE>
case $TERM in
    xterm*)
      preexec () {
        print -Pn "\e]0;$*\a"
      }
    ;;
esac
</PRE>
</CODE></BLOCKQUOTE>

Nota: la funzione <CODE>preexec()</CODE> &egrave; apparsa attorno alla versione
3.1.2 della <CODE>zsh</CODE>, perci&ograve; una versione precedente dovr&agrave;
essere aggiornata.
<P>
<P>
<H2>5.2 Altre shell</H2>

<P>Ci&ograve; non &egrave; facile con altre shell che sono prive di una funzione
equivalente alla <CODE>preexec()</CODE>.  Se qualcuno dispone di esempi per
favore li spedisca all'autore.
<P>
<P>
<P>
<H2><A NAME="s6">6. Appendice: escape per altri tipi di terminale</A></H2>

<P>Molti terminali moderni sono discendenti di <CODE>xterm</CODE> o <CODE>rxvt</CODE>
e supportano le sequenze di escape che abbiamo utilizzato fino a
questo punto.  Alcuni terminali proprietari forniti con tipi diversi
di unix usano le proprie sequenze di escape.
<P>
<P>
<H2>6.1 IBM <CODE>aixterm</CODE></H2>

<P><CODE>aixterm</CODE> riconosce le sequenze di <CODE>escape xterm</CODE>.
<P>
<P>
<H2>6.2 SGI <CODE>wsh</CODE>, <CODE>xwsh</CODE> e <CODE>winterm</CODE></H2>

<P>Questi terminali impostano <CODE>$TERM=iris-ansi</CODE> e usano i seguenti
escape:
<UL>
<LI><CODE>ESCP1.y<I>stringa</I>ESC\     Imposta il titolo della finestra a <I>stringa</I></CODE></LI>
<LI><CODE>ESCP3.y<I>stringa</I>ESC\     Imposta il titolo dell'icona a <I>stringa</I></CODE></LI>
</UL>

Per l'intera lista degli escape di <CODE>xwsh</CODE> si veda la pagina di
manuale <CODE>xwsh(1G)</CODE>.
<P>
<P>I terminali Irix supportano gli escape <CODE>xterm</CODE> per impostare
separatamente il titolo della finestra e il titolo dell'icona ma non
l'escape per impostare entrambi.
<P>
<P>
<H2>6.3 Sun <CODE>cmdtool</CODE> e <CODE>shelltool</CODE></H2>

<P><CODE>cmdtool</CODE> e <CODE>shelltool</CODE> impostano entrambi
<CODE>$TERM=sun-cmd</CODE> e usano i seguenti escape:
<UL>
<LI><CODE>ESC]l<I>stringa</I>ESC\    Imposta il titolo della finestra a <I>stringa</I></CODE></LI>
<LI><CODE>ESC]L<I>stringa</I>ESC\    Imposta il titolo dell'icona a <I>stringa</I></CODE></LI>
</UL>

Sono davvero programmi pessimi: si usi qualcos'altro.
<P>
<P>
<H2>6.4 CDE <CODE>dtterm</CODE></H2>

<P><CODE>dtterm</CODE> imposta <CODE>$TERM=dtterm</CODE> e sembra riconoscere sia
le sequenze di escape <CODE>xterm</CODE> standard che le
sequenze di escape <CODE>cmdtool</CODE> della Sun
(verificato su Solaris 2.5.1, Digital Unix 4.0, HP-UX 10.20).
<P>
<P>
<H2>6.5 HPterm</H2>

<P><CODE>hpterm</CODE> imposta <CODE>$TERM=hpterm</CODE> e utilizza i seguenti
escape:
<UL>
<LI><CODE>ESC&amp;f0k<I>lunghezza</I>D<I>stringa</I>   Imposta il
titolo della finestra a <I>stringa</I> di lunghezza <I>lunghezza</I></CODE></LI>
<LI><CODE>ESC&amp;f-1k<I>lunghezza</I>D<I>stringa</I>  Imposta il
titolo dell'icona a <I>stringa</I> di lunghezza <I>lunghezza</I></CODE></LI>
</UL>
<P>
<P>Un programma C base per calcolare la lunghezza e fare l'echo della
stringa pu&ograve; essere questo:
<P>
<BLOCKQUOTE><CODE>
<PRE>
#include &lt;string.h>
int main(int argc, char *argv[])
{
    printf("\033&amp;f0k%dD%s", strlen(argv[1]), argv[1]);
    printf("\033&amp;f-1k%dD%s", strlen(argv[1]), argv[1]);
    return(0);
}
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>Possiamo scrivere uno shell-script simile utilizzando l'espansione
<CODE>${#stringa}</CODE> 
(<CODE>zsh</CODE>, <CODE>bash</CODE>, <CODE>ksh</CODE>) o l'espansione <CODE>${%stringa}</CODE>
(<CODE>tcsh)</CODE> per trovare la lunghezza della stringa.  Quanto
segue &egrave; per <CODE>zsh</CODE>:
<BLOCKQUOTE><CODE>
<PRE>
case $TERM in
    hpterm)
        str="\e]0;%n@%m: %~\a"
        precmd () {print -Pn "\e&amp;f0k${#str}D${str}"}
        precmd () {print -Pn "\e&amp;f-1k${#str}D${str}"}
        ;;
esac
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>
<P>
<P>
<H2><A NAME="s7">7. Appendice: esempi in altri linguaggi</A></H2>

<P>Pu&ograve; essere utile scrivere un piccolo programma per stampare un
argomento nel titolo utilizzando gli escape <CODE>xterm</CODE>.
Sotto &egrave; fornito qualche esempio.
<P>
<P>
<H2>7.1 C</H2>

<P>
<BLOCKQUOTE><CODE>
<PRE>
#include &lt;stdio.h>

int main (int argc, char *argv[]) {
  printf("%c]0;%s%c", '\033', argv[1], '\007');
  return(0);
}
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>
<H2>7.2 Perl</H2>

<P>
<BLOCKQUOTE><CODE>
<PRE>
#!/usr/bin/perl
print "\033]0;@ARGV\007";
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>
<P>
<H2><A NAME="s8">8. Ringraziamenti</A></H2>

<P>Un ringraziamento alle seguenti persone che hanno fornito consigli, errata
corrige ed esempi per questo documento.
<P>
<P>Paul D. Smith <CODE>&lt;psmith@BayNetworks.COM&gt;</CODE> e
Christophe Martin <CODE>&lt;cmartin@ipnl.in2p3.fr&gt;</CODE>
hanno entrambi fatto notare che avevo le virgolette nel modo sbagliato
nella <CODE>$PROMPT_COMMAND</CODE> della <CODE>bash</CODE>.  Averle capite
esattamente significa che le variabili <I>vengono</I> espanse dinamicamente.
<P>
<P>Paul D. Smith <CODE>&lt;psmith@BayNetworks.COM&gt;</CODE>
ha suggerito l'uso di <CODE>\[...\]</CODE> nel prompt della <CODE>bash</CODE>
per includere caratteri non stampabili.
<P>
<P>Christophe Martin <CODE>&lt;cmartin@ipnl.in2p3.fr&gt;</CODE>
ha provveduto alla soluzione per <CODE>ksh</CODE>.
<P>
<P>Keith Turner <CODE>&lt;keith@silvaco.com&gt;</CODE>
ha fornito le sequenze di escape per <CODE>cmdtool</CODE> e
<CODE>shelltool</CODE> della Sun.
<P>
<P>Jean-Albert Ferrez <CODE>&lt;ferrez@dma.epfl.ch&gt;</CODE>
ha messo in evidenza alcune incoerenze nell'uso di "<CODE>PWD</CODE>"
e "<CODE>$PWD</CODE>" e nell'uso di "<CODE>\</CODE>" in opposizione a "<CODE>\\</CODE>".
<P>
<P>Bob Ellison <CODE>&lt;papillo@hpellis.fc.hp.com&gt;</CODE> e
Jim Searle <CODE>&lt;jims@broadcom.com&gt;</CODE> hanno verificato
<CODE>dtterm</CODE> su HP-UX.
<P>
<P>Teng-Fong Seak <CODE>&lt;seak@drfc.cad.cea.fr&gt;</CODE> ha suggerito
l'opzione <CODE>-s</CODE> per <CODE>hostname</CODE>, l'uso di
<CODE>`pwd`</CODE> e l'uso di <CODE>echo</CODE> nella <CODE>csh</CODE>.
<P>
<P>Trilia <CODE>&lt;trilia@nmia.com&gt;</CODE> ha suggerito gli esempi in altri
linguaggi.
<P>
<P>Brian Miller <CODE>&lt;bmiller@telstra.com.au&gt;</CODE> ha fornito le
sequenze di escape e gli esempi per <CODE>hpterm</CODE>.
<P>
<P>Lenny Mastrototaro <CODE>&lt;lenny@click3x.com&gt;</CODE> ha spiegato
l'uso nei terminali Irix delle sequenze di escape xterm.
<P>
<P>Paolo Supino <CODE>&lt;paolo@init.co.il&gt;</CODE> ha suggerito l'uso di
<CODE>\\$</CODE> nel prompt della <CODE>bash</CODE>.
<P>
</BODY>
</HTML>