GNU Screen - How to mod it
4 partecipanti
GNU Screen - How to mod it
Come specificato in un altro topic, ho intenzione di inserirvi in questo fantastico mondo, quello di GNU screen. Penso che la sezione sia adatta, se non dovesse essere, spostate pure ^^.
Cominciamo dicendo che screen è un programma che gestisce diverse sessioni di terminale contemporaneamente, quindi potremo avere aperti irc, msn, shell, musica, htop, insomma, quello che ci pare, in un unico programma, tutto da tastiera, senza l'uso del mouse. Questa è la caratteristica principale, ma arriviamo ai backticks, ossia quei codici in lingua araba tra ` e ` che ci permettono di controllare su screen molti dati, quali temperatura cpu, temperatura in città, RAM, up/down, memoria usata, data, ora, e molto ancora: tutto sta nel saper organizzarsi e saper utilizzare al meglio i programmi via terminale di Linux, niente di più.
Tutti i backticks andranno inseriti in ~/.screenrc, il file di configurazione di screen. Diamogli un'occhiata, soffermandoci sulle righe "caption string" e "hardstatus string": esse contengono i vari backticks da visualizzare e lo stile in cui devono esser visualizzati, i colori, le posizioni.
Dichiareremo un backtick all'interno del nostro file di configurazione con la seguente sintassi:
id sta a indicare l'id del nostro backtick, che decideremo noi. Lifespan è un numero che identifica il numero di secondi di validità del backtick, dopo il quale il programma specificato verrà rieseguito, e autorefresh indica il numero di secondi che dovranno trascorrere per aggiornare l'output del backtick. Ad esempio, dobbiamo visualizzare la temperatura della CPU, ma questa cambierà, e impostando l'autorefresh a 2, ogni 2 secondi la temperatura sarà calcolata, e in caso di cambiamento, visualizzata ^^. Ogni backtick si usa nelle caption indicate prima, tramite il comando % seguito dall'id del backtick.
Cominciamo con qualcosa di semplice, visualizzare data e ora nella caption string, ossia la riga in cui sono indicati i nomi delle finestre aperte:
Basterà aggiungere il codice alla fine della riga. Vediamo come funziona:
%= : indica il posizionamento a fine riga(a destra)
%{r} : colore rosso
%d-%m-%Y : vi lascio immaginare
Il resto è facilmente comprensibile con le nozioni appena apprese.
Passiamo ora a qualcosa di più interessante, qualcosa che ci renderà fighi!(stronzata, xD).
Creiamo ad esempio un backtick che ci mostra il tipo di kernel, come sapete il comando è "uname -r", quindi la cosa è abbastanza semplice:
Inseriremo poi il backtick nell'hardstatus string in questo modo(in questo caso, colore rosso):
Passiamo ora a qualcosa di più complesso, come il rilevamento della temperatura della cpu tramite il tool "sensors", e quindi l'uso di grep e awk.
Come riuscire a catturare il solo +61.0°C ? La cosa è semplice, tramite grep prima isoliamo CPU, poi la riga con Temp, e come output avremo la linea precedente. Poi tramite awk, ci stampiamo il terzo argomento della linea di prima(1: CPU, 2: temp, 3: 61.0°C). Facciamo qualche test da terminale, alla fine dovremmo ottenere:
Perfetto, ora creiamo il backtick:
Per visualizzarlo nell'hardstatus:
Bene, io vi ho dato le basi, ora sta a voi scovare i comandi della shell più nascosti per ottenere le informazioni più svariate e più utili da inserire nel nostro screen. Il mio, al momento(screen vecchio, ma la conf è la stessa) si presenta in questo modo:
https://2img.net/r/ihimizer/img197/3269/imghx.png
Divertitevi!
Cominciamo dicendo che screen è un programma che gestisce diverse sessioni di terminale contemporaneamente, quindi potremo avere aperti irc, msn, shell, musica, htop, insomma, quello che ci pare, in un unico programma, tutto da tastiera, senza l'uso del mouse. Questa è la caratteristica principale, ma arriviamo ai backticks, ossia quei codici in lingua araba tra ` e ` che ci permettono di controllare su screen molti dati, quali temperatura cpu, temperatura in città, RAM, up/down, memoria usata, data, ora, e molto ancora: tutto sta nel saper organizzarsi e saper utilizzare al meglio i programmi via terminale di Linux, niente di più.
Tutti i backticks andranno inseriti in ~/.screenrc, il file di configurazione di screen. Diamogli un'occhiata, soffermandoci sulle righe "caption string" e "hardstatus string": esse contengono i vari backticks da visualizzare e lo stile in cui devono esser visualizzati, i colori, le posizioni.
Dichiareremo un backtick all'interno del nostro file di configurazione con la seguente sintassi:
- Codice:
backtick id ifespan autorefresh command [args]
id sta a indicare l'id del nostro backtick, che decideremo noi. Lifespan è un numero che identifica il numero di secondi di validità del backtick, dopo il quale il programma specificato verrà rieseguito, e autorefresh indica il numero di secondi che dovranno trascorrere per aggiornare l'output del backtick. Ad esempio, dobbiamo visualizzare la temperatura della CPU, ma questa cambierà, e impostando l'autorefresh a 2, ogni 2 secondi la temperatura sarà calcolata, e in caso di cambiamento, visualizzata ^^. Ogni backtick si usa nelle caption indicate prima, tramite il comando % seguito dall'id del backtick.
Cominciamo con qualcosa di semplice, visualizzare data e ora nella caption string, ossia la riga in cui sono indicati i nomi delle finestre aperte:
- Codice:
%=[%{r}%d-%m-%Y %{w}%c:%s %{g}]
Basterà aggiungere il codice alla fine della riga. Vediamo come funziona:
%= : indica il posizionamento a fine riga(a destra)
%{r} : colore rosso
%d-%m-%Y : vi lascio immaginare
Il resto è facilmente comprensibile con le nozioni appena apprese.
Passiamo ora a qualcosa di più interessante, qualcosa che ci renderà fighi!(stronzata, xD).
Creiamo ad esempio un backtick che ci mostra il tipo di kernel, come sapete il comando è "uname -r", quindi la cosa è abbastanza semplice:
- Codice:
backtick 1 0 0 uname -r
Inseriremo poi il backtick nell'hardstatus string in questo modo(in questo caso, colore rosso):
- Codice:
[%{r}kernel: %1`]
Passiamo ora a qualcosa di più complesso, come il rilevamento della temperatura della cpu tramite il tool "sensors", e quindi l'uso di grep e awk.
- Codice:
sudo apt-get lm-sensors
sensors detect
- Codice:
CPU Temp: +61.0°C (high = +80.0°C, hyst = +75.0°C) sensor = diode
Come riuscire a catturare il solo +61.0°C ? La cosa è semplice, tramite grep prima isoliamo CPU, poi la riga con Temp, e come output avremo la linea precedente. Poi tramite awk, ci stampiamo il terzo argomento della linea di prima(1: CPU, 2: temp, 3: 61.0°C). Facciamo qualche test da terminale, alla fine dovremmo ottenere:
- Codice:
echo -n `sensors | grep CPU | grep Temp | awk '{print $3}'`
Perfetto, ora creiamo il backtick:
- Codice:
backtick 2 5 5 echo -n `sensors | grep CPU | grep Temp | awk '{print $3}'`
Per visualizzarlo nell'hardstatus:
- Codice:
[%{w}CPU Temp: %2`]
Bene, io vi ho dato le basi, ora sta a voi scovare i comandi della shell più nascosti per ottenere le informazioni più svariate e più utili da inserire nel nostro screen. Il mio, al momento(screen vecchio, ma la conf è la stessa) si presenta in questo modo:
https://2img.net/r/ihimizer/img197/3269/imghx.png
Divertitevi!
Re: GNU Screen - How to mod it
Uh, davvero interessante. Credo sia arrivato il momento di provare screen
!R~- Messaggi : 11
Data d'iscrizione : 24.09.09
Re: GNU Screen - How to mod it
Bellina questa guida ^^
È interessante come tu riesca a trollare e produrre cose utili al mondo allo stesso momento...quasi come Gesù
È interessante come tu riesca a trollare e produrre cose utili al mondo allo stesso momento...quasi come Gesù
Re: GNU Screen - How to mod it
Mooooolto interessante ^^È interessante come tu riesca a trollare e produrre cose utili al mondo allo stesso momento...quasi come Gesù
Re: GNU Screen - How to mod it
Ho visto che da un po' di tempo sono molto usati questi tipi di tools.
Almeno c'è gente che ama il terminale
Almeno c'è gente che ama il terminale
Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.