In molti in giro, vedendo qualche screenshot del mio terminale, mi hanno chiesto come personalizzarlo come me.
Provvedo quindi con una piccola guida alla personalizzazione del proprio terminale, per renderlo uno strumento di lavoro completo.
Innanzitutto:
- Uso di screen. screen un'utility GNU storica che consente di eseguire varie sessioni di terminale nella stessa finestra di terminale, e gestirle tutte in modo semplice, personalizzando anche il layout della sessione. Questo il mio ~/.screenrc per la configurazione:
In questo modo, avviato screen avvio anche, ognuno in una diversa sessione di terminale
- weechat (client IRC)
- mutt (client di posta)
- ncmpc (client di mpd, per la musica)
- gtmess (client MSN)
- due sessioni di terminale libere
Creo quindi, in .screenrc, la hardstatus, ovvero la barra personalizzata che, in questo caso, mostrer in basso nella propria finestra di terminale
- sessioni aperte con relativi nomi
- memoria RAM disponibile
- temperatura della CPU
- numero di email non lette
- ora e data di sistema
Per avere informazioni sulla RAM disponibile, temperatura della CPU e numero di mail non lette, si ricorre allo stratagemma dei backtick, ovvero l'esecuzione di comandi esterni ogni tot. In questo caso i comandi sono piazzati in $HOME/bin.
~/bin/mem:
~/bin/temp:
~/bin/mail:
fetchmail deve essere ovviamente configurato per prelevare la posta dalla vostra casella. Questo il mio ~/.fetchmailrc:
A questo punto avete un terminale completo pronto all'uso che vi far dimenticare l'uso di qualsiasi utility grafica ^^
Provvedo quindi con una piccola guida alla personalizzazione del proprio terminale, per renderlo uno strumento di lavoro completo.
Innanzitutto:
- Uso di screen. screen un'utility GNU storica che consente di eseguire varie sessioni di terminale nella stessa finestra di terminale, e gestirle tutte in modo semplice, personalizzando anche il layout della sessione. Questo il mio ~/.screenrc per la configurazione:
Codice:
vbell on
autodetach on
startup_message off
pow_detach_msg "Screen session of \$LOGNAME \$:cr:\$:nl:ended."
defscrollback 1000
termcap xterm hs@:cs=\E[%i%d;%dr:im=\E[4h:ei=\E[4l
terminfo xterm hs@:cs=\E[%i%p1%d;%p2%dr:im=\E[4h:ei=\E[4l
termcapinfo xterm Z0=\E[?3h:Z1=\E[?3l:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l
termcapinfo xterm* OL=100
termcapinfo xterm 'VR=\E[?5h:VN=\E[?5l'
termcapinfo xterm 'k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~'
termcapinfo xterm 'kh=\EOH:kI=\E[2~:kD=\E[3~:kH=\EOF:kP=\E[5~:kN=\E[6~'
termcapinfo xterm 'hs:ts=\E]2;:fs=\007:ds=\E]2;screen\007'
termcapinfo xterm 'vi=\E[?25l:ve=\E[34h\E[?25h:vs=\E[34l'
termcapinfo xterm 'XC=K%,%\E(B,[\304,\\\\\326,]\334,{\344,|\366,}\374,~\337'
termcapinfo xterm* be
termcapinfo wy75-42 xo:hs@
termcapinfo wy* CS=\E[?1h:CE=\E[?1l:vi=\E[?25l:ve=\E[?25h:VR=\E[?5h:VN=\E[?5l:cb=\E[1K:CD=\E[1J
termcapinfo hp700 'Z0=\E[?3h:Z1=\E[?3l:hs:ts=\E[62"p\E[0$~\E[2$~\E[1$}:fs=\E[0}\E[61"p:ds=\E[62"p\E[1$~\E[61"p:ic@'
termcap vt100* ms:AL=\E[%dL:DL=\E[%dM:UP=\E[%dA:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC
terminfo vt100* ms:AL=\E[%p1%dL:DL=\E[%p1%dM:UP=\E[%p1%dA:DO=\E[%p1%dB:LE=\E[%p1%dD:RI=\E[%p1%dC
termcapinfo linux C8
bind k
bind ^k
bind .
bind ^\
bind \\
bind ^h
bind h
bind 'K' kill
bind 'I' login on
bind 'O' login off
bind '}' history
register [ "\033:se noai\015a"
register ] "\033:se ai\015a"
bind ^] paste [.]
backtick 1 5 5 $HOME/bin/mem
backtick 2 5 5 $HOME/bin/temp
backtick 3 120 120 $HOME/bin/mail
hardstatus alwayslastline
hardstatus string '%{= kG}[%= %{=kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][mem: %1`][temp: %2`][mail: %3`][%{B}%d-%m-%Y %{W}%c:%s %{g}]'
screen -t IRC 0 weechat-curses
screen -t Mutt 1 mutt
screen -t Music 2 ncmpc -c
screen -t MSN 2 Gtmess
screen -t shell1 3
screen -t shell2 4
In questo modo, avviato screen avvio anche, ognuno in una diversa sessione di terminale
- weechat (client IRC)
- mutt (client di posta)
- ncmpc (client di mpd, per la musica)
- gtmess (client MSN)
- due sessioni di terminale libere
Creo quindi, in .screenrc, la hardstatus, ovvero la barra personalizzata che, in questo caso, mostrer in basso nella propria finestra di terminale
- sessioni aperte con relativi nomi
- memoria RAM disponibile
- temperatura della CPU
- numero di email non lette
- ora e data di sistema
Per avere informazioni sulla RAM disponibile, temperatura della CPU e numero di mail non lette, si ricorre allo stratagemma dei backtick, ovvero l'esecuzione di comandi esterni ogni tot. In questo caso i comandi sono piazzati in $HOME/bin.
~/bin/mem:
Codice:
echo -n `free -m | grep - | awk {'print $4'}` && echo -n '/' && free -m | grep Mem | awk {'print $2'}
~/bin/temp:
Codice:
cat /proc/acpi/thermal_zone/THR1/temperature | awk {'print $2 $3'}
~/bin/mail:
Codice:
echo -n `fetchmail 2> /dev/null | grep reading | wc -l` && echo -n '/' && echo -n `fetchmail 2> /dev/null | grep messages | awk {'print $1;'}`
fetchmail deve essere ovviamente configurato per prelevare la posta dalla vostra casella. Questo il mio ~/.fetchmailrc:
Codice:
poll imap.gmail.com
protocol IMAP
user "[email protected]"
there with password "miapass"
nofetchall
keep ssl
A questo punto avete un terminale completo pronto all'uso che vi far dimenticare l'uso di qualsiasi utility grafica ^^