Irssi, chattare da terminale

Da Guide@Debianizzati.Org.

(Differenze fra le revisioni)
 
(12 revisioni intermedie non mostrate.)
Riga 1: Riga 1:
 +
{{Versioni compatibili|Squeeze|Wheezy|Jessie|Stretch}}
==Introduzione==
==Introduzione==
-
<code>irssi</code> è un client IRC che funziona da linea di comando. E' un programma estremamente spartano, ma che ha nel suo arco molte frecce.
+
<code>irssi</code> è un client IRC che funziona da linea di comando. È un programma estremamente spartano, ma che ha al suo arco molte frecce.
 +
 
==Installazione==
==Installazione==
L'installazione di <code>irssi</code> su Debian è molto semplice:
L'installazione di <code>irssi</code> su Debian è molto semplice:
-
<pre>
+
# apt-get install irssi
-
# apt-get install irssi
+
-
</pre>
+
-
Una volta installato, il programma è già funzionante e potete lanciarlo come ogni altro programma da shell:
+
-
<pre>
+
-
$ irssi
+
-
</pre>
+
-
==Configurazione==
+
-
Una volta installato e lanciato vi troverete davanti ad una semplice console dove a prima vista non sembrano esserci comandi disponibili.<br/>
+
Una volta installato, il programma è già funzionante e potete avviarlo come ogni altro programma da shell:
 +
$ irssi
 +
 
 +
==Configurazione==
 +
Vi troverete davanti ad una semplice console dove a prima vista non sembrano esserci comandi disponibili. <br>
Per iniziare basta però digitare:
Per iniziare basta però digitare:
-
<pre>
+
/set <invio>
-
/set <invio>
+
 
-
</pre>
+
e verrete sommersi da un nugolo di opzioni da selezionare. <br>
-
e verrete sommersi da un nugolo di opzioni da selezionare.<br/>
+
Le opzioni e i parametri seguono una sintassi standard:
Le opzioni e i parametri seguono una sintassi standard:
-
<pre>
+
/set nome_opzione_da_selezionare = parametro_che_si_vuole_impostare<invio>
-
/set nome_opzione_da_selezionare = parametro_che_si_vuole_impostato<invio>
+
 
-
</pre>
+
Potete usare il completamento automatico: ossia una volta scritta una parte del comando:
Potete usare il completamento automatico: ossia una volta scritta una parte del comando:
-
<pre>
+
/set nome_opzione
-
/set nome_opz
+
 
-
</pre>
+
potete premere il tasto <code>TAB</code> per completare il comando. <br>
-
potete premere il tasto <code>TAB</code> per completare il comando.<br/>
+
Il comando /set si comporta in modo simile a grep, per cui si possono ottenere tutte le opzioni riguardanti un certo pattern:
 +
/set name <br>
 +
[dcc]
 +
dcc_autorename = OFF
 +
[lookandfeel]
 +
actlist_names = ON
 +
names_max_columns = 6
 +
names_max_width = 0
 +
show_names_on_join = ON
 +
[server]
 +
hostname =
 +
real_name = skizzhg
 +
user_name = skizzhg
 +
 
Come prima cosa conviene impostare il vostro nick name:
Come prima cosa conviene impostare il vostro nick name:
-
<pre>
+
/set nick il_mio_nick <invio>
-
/set nick il_mio_nick <invio>
+
 
-
</pre>
+
dove al posto di <code>il_mio_nick</code> dovrete scrivere il nickname con cui volete essere riconosciuti su IRC. <br>
-
dove al posto di <code>il_mio_nick</code> dovrete scrivere il nickname con cui volete essere riconosciuti su IRC.
+
Se si vuole annullare una modifica e tornare allo stato iniziale:
 +
/set -clear opzione
 +
 
 +
Data la complessità del file di configurazione è fortemente sconsigliato modificarlo manualmente tramite un editor, usate invece i comandi interni e il ricco help ottenibile con <code>/help</code> e quindi <code>/help comando</code>; ad esempio: <code>/help set</code>.
 +
 
==Collegamento ad un server IRC==
==Collegamento ad un server IRC==
-
Una volta connessi ad internet, dopo aver lanciato <code>irssi</code> digitate:
+
Digitate:
-
<pre>
+
/connect nome_server_irc <invio>
-
/connect nome_server_irc <invio>
+
 
-
</pre>
+
e <code>irssi</code> cercherà immediatamente di collegarsi. Un esempio:
-
e <code>irssi</code> cerchera' immediatamente di collegarsi. Un esempio:
+
/connect irc.azzurra.org <invio>
-
<pre>
+
 
-
/connect irc.azzurra.org <invio>
+
-
</pre>
+
Una volta collegati al server potrete raggiungere un canale. Se non conoscete a priori il nome del canale o se volete sfogliare la lista dei canali disponibili, il comando irc <code>list</code>, magari specificando l'argomento di interesse, ad esempio <code>linux</code>, è quello che fa per voi:
Una volta collegati al server potrete raggiungere un canale. Se non conoscete a priori il nome del canale o se volete sfogliare la lista dei canali disponibili, il comando irc <code>list</code>, magari specificando l'argomento di interesse, ad esempio <code>linux</code>, è quello che fa per voi:
-
<pre>
+
/list #linux*
-
/list #linux*
+
 
-
</pre>
+
Sarà elencata una serie di canali inerenti questo tema. Per entrare in un canale usate il comando <code>join</code>:
-
Sara' elencata una serie di canali inerenti questo tema. Per entrare in un canale usate il comando <code>join</code>:
+
/join #debianizzati
-
<pre>
+
 
-
/join #debianizzati
+
Si aprirà un'altra finestra con l'elenco delle persone collegate e il topic del canale; per iniziare a chattare basta digitare quello che volete comunicare e poi premere invio. <br>
-
</pre>
+
-
Si aprira' un'altra console con l'elenco delle persone collegate e il topic del canale; per iniziare a chattare basta digitare quello che volete comunicare e poi premere invio.<br/>
+
Se volete ritornare alla finestra iniziale del server a cui siete collegati basta premere <code>ALT+1</code>.
Se volete ritornare alla finestra iniziale del server a cui siete collegati basta premere <code>ALT+1</code>.
 +
 +
Automatizziamo la connessione al server e il join al canale:
 +
/server add -ssl -auto -network azzurra irc.azzurra.org 9999
 +
/network add -nick skizzhg -user skizzhg -realname skizzhg azzurra
 +
 +
aggiungere la seguente stringa solo se si ha un nick registrato sostituendo mia_password con la propria password:
 +
/network add -autosendcmd "/quote nickserv identify mia_password; wait 3000" azzurra
 +
 +
quindi l'autojoin
 +
/channel add -auto #debianizzati azzurra
 +
 +
e infine salviamo il tutto (le impostazioni verranno scritte nel file <code>~/.irssi/config</code>)
 +
/save
 +
==All'interno di un canale==
==All'interno di un canale==
-
Una volta entrati in un canale, se volete aprire una finestra privata col vostro interlocutore dovete digitare il comando:
+
Quando si è in un canale, se volete aprire una finestra privata col vostro interlocutore dovete digitare il comando:
-
<pre>
+
/query nick_con_cui_volete_parlare <invio>
-
/query nome_persona_con_cui_volete_parlare <invio>
+
 
-
</pre>
+
Per passare da una finestra ad un'altra è possibile utilizzare varie combinazioni di tasti:
-
Ricordatevi che per passare da una finestra ad un'altra è possibile utilizzare la combinazione di tasti <code>ALT+N</code>.<br/>
+
* <code>ALT+numero</code> (oltre le 10 finestre ci si muove con Alt+q,w,e,r...)
 +
* <code>ESC+numero</code> (premere e rilasciare ESC e quindi il numero)
 +
* <code>CRTL-n / CTRL-p</code>
 +
* scrivendo <code>/window goto N</code> (dove N è il numero della finestra o il nome del canale)
 +
mentre premere <code>ALTt+a</code> porta alla prima finestra dove c'è attività.
 +
 
Se invece volete spedire un file ad un utente usate:
Se invece volete spedire un file ad un utente usate:
-
<pre>
+
/dcc send nick_destinatario file_da_spedire<invio>
-
/dcc send nome_persona file_da_spedire<invio>
+
 
-
</pre>
+
Per ricevere un file:
Per ricevere un file:
-
<pre>
+
/dcc get nick_che_spedisce file_da_ricevere <invio>
-
/dcc get nome_persona file_da_ricevere file_da_ricevere <invio>
+
 
-
</pre>
+
Per chiudere una qualsiasi finestra è sufficiente trovarsi nella finestra che si vuol chiudere e digitare:
Per chiudere una qualsiasi finestra è sufficiente trovarsi nella finestra che si vuol chiudere e digitare:
-
<pre>
+
/wc (ovvero window close)<invio>
-
/win k <invio>
+
 
-
</pre>
+
Tutti i comandi standard di IRC funzionano sotto <code>irssi</code>. <br>
-
==Comandi vari==
+
Per uscire utilizzate il comando:
-
Tutti i comandi standard di IRC funzionano sotto <code>irssi</code>.
+
/quit<invio>
-
Per uscire da <code>irssi</code> utilizzate il comando:
+
 
-
<pre>
+
==Alias==
-
/exit <invio>
+
Come per qualsiasi altro client IRC possiamo creare tanti alias quanto le esigenze e la fantasia ci suggeriscono, ecco qualche esempio. <br>
-
</pre>
+
Innanzitutto dobbiamo creare gli alias per i service dell'Ircd perché irssi, al contrario di altri, non interpreta le consuete abbreviazioni:
-
<br/><br/>
+
/alias CS quote chanserv
-
--[[Utente:Ferdybassi|Ferdybassi]] 16:03, 10 mar 2010 (CET)
+
/alias NS quote nickserv
-
----
+
/alias MS quote memoserv
-
[[Categoria:Shell]] [[Categoria:Networking]]
+
/alias HS quote helpserv
 +
/alias SEEN quote seenserv seennick
 +
 
 +
Spesso irssi viene usato insieme a [[GNU/Screen]] per restare connessi a lungo, in questo caso non vogliamo uscire per sbaglio:
 +
/alias quit echo ^C5 sei sicuro? usa //quit
 +
 
 +
<code>^C5</code> significa premere e rilasciare <code>CTRL-c</code> e quindi <code>5</code> per ottenere il testo colorato di rosso, lo stesso si ottiene con
 +
/alias quit echo \0035 sei sicuro? usa //quit
 +
 
 +
D'ora in poi per chiudere realmente si userà il comando <code>//quit</code>. È bene anche eliminare gli altri alias predefiniti che rimandano a <code>quit</code>:
 +
/unalias BYE
 +
/unalias EXIT
 +
/unalias SIGNOFF
 +
 
 +
È possibile dividere orizzontalmente la finestra per visualizzare più canali contemporaneamente, in questo caso prendiamo l'esempio della finestra di status (la 1) dove finiscono ad esempio i notice, i memo e altri messaggi che altrimenti possiamo facilmente non notare; creiamo una piccola porzione (11 righe) dello status sopra la finestra solita:
 +
/alias SPLIT window show 1; window shrink 11
 +
 
 +
e un altro in caso volessimo tornare allo stato iniziale (espanderlo per quante finestre occorrono):
 +
/alias UNSPLIT window goto 1; window stick off; window goto 2; window stick off; window goto 3; window stick off; \<br>
 +
window goto 4; window stick off; window goto 5; window stick off; window goto 1; window hide
 +
 
 +
Stanchi di scrivere sempre la ragione per cui si è away? Mettiamone una fissa:
 +
/alias A away non sono al pc
 +
 
 +
e con questo torniamo:
 +
/alias B away
 +
 
 +
Capita di dimenticarsi finestre aperte, controlliamo cosa c'è:
 +
/alias WL window list
 +
 
 +
Uno dei punti forti di irssi è la ricerca di pattern nel buffer della finestra, proprio come se usassimo grep:
 +
 
 +
normale, cerca qualsiasi cosa, ad esempio <code>/ll debian</code> mostrerà tutte le righe che contengono la parola debian:
 +
/alias LL lastlog
 +
 
 +
mostra tutte le righe nelle quali si è stati nominati:
 +
/alias LLH lastlog -hilight
 +
 
 +
pulisce i risultati, elimina quindi le righe mostrate in precedenza:
 +
/alias LLC lastlog -clear
 +
 
 +
Una volta che abbiamo trovato una certa riga con <code>/lastlog</code> vogliamo anche risalire a quel punto per leggere un certo pezzo di conversazione o altro, il comando <code>/scrollback</code> fa proprio questo:
 +
 
 +
normale, per il gusto di digitare meno lettere:
 +
/alias SB scrollback
 +
 
 +
va all'inizio del buffer:
 +
/alias SBH scrollback home
 +
 
 +
va alla fine del buffer:
 +
/alias SBE scrollback end
 +
 
 +
va in un punto preciso secondo determinati pattern che spaziano dal numero di riga al timestamp, ad esempio <code>/sbg 21:33</code> risalirà in prossimità della prima corrispondenza dell'orario richiesto, mentre <code>/sbg -1 21:33</code> alla stessa ora ma del giorno precedente, <code>/sbg -11</code> invece scrollerà in su di 11 righe:
 +
/alias SBG scrollback goto
 +
 
 +
A questo proposito consiglio di aumentare visibilmente il buffer:
 +
/set scrollback_time 3day
 +
 
 +
Tramite il comando <code>/exec</code> possiamo invocare comandi esterni, e qui ci si può davvero sbizzarrire.
 +
 
 +
grep:
 +
/alias GREP exec - grep
 +
 
 +
tail:
 +
/alias TAIL exec - tail
 +
 
 +
controllo del volume (down, up, mute, normal, valore impostabile)
 +
/alias VD exec - echo "\033[35mvolume: $$(amixer set Master 1- | grep -m 1 -Eo '[0-9]+%')"
 +
/alias VU exec - echo "\033[35mvolume: $$(amixer set Master 1+ | grep -m 1 -Eo '[0-9]+%')"
 +
/alias VM exec - echo "\033[35mvolume: $$(amixer set Master 0 | grep -m 1 -Eo '[0-9]+%')"
 +
/alias VN exec - echo "\033[35mvolume: $$(amixer set Master 19% | grep -m 1 -Eo '[0-9]+%')"
 +
/alias VS exec - echo "\033[35mvolume: $$(amixer set Master '$*'% | grep -m 1 -Eo '[0-9]+%')"
 +
 
 +
pastebinit, l'opzione <code>-o</code> manda l'output in canale:
 +
/alias PB exec - -o pastebinit
 +
/alias PBC exec - -o $* | pastebinit
 +
/alias PBG exec - -o grep $* | pastebinit
 +
 
 +
URL shrinker:
 +
/alias US exec - -o w3m -no-cookie -dump <nowiki>'http://2tu.us/?save=y&url=$*'</nowiki> | awk '/Your tight URL is/ {print $$5}'
 +
 
 +
Il comando <code>/alias</code> senza argomenti mostra tutti quelli impostati, mentre <code>/alias w</code> tutti quelli che iniziano con la lettera <code>w</code>.
 +
 
 +
==Collegamenti Esterni==
 +
* http://irssi.org/documentation
 +
* https://irssi-import.github.io/themes/
 +
* http://scripts.irssi.org/
 +
* http://wouter.coekaerts.be/site/irssi/aliases
 +
* https://github.com/shabble/irssi-docs/wiki
 +
 
 +
{{Autori
 +
|Autore=[[Utente:Ferdybassi|Ferdybassi]] 16:03, 10 mar 2010 (CET)
 +
}}
 +
 
 +
[[Categoria:Shell]]
 +
[[Categoria:Instant Messaging]]

Versione attuale delle 10:47, 21 giu 2017

Debian-swirl.png Versioni Compatibili
Debian 6 "Squeeze"
Debian 7 "Wheezy"
Debian 8 "Jessie"
Debian 9 "Stretch"
Verificala con Buster

Indice

Introduzione

irssi è un client IRC che funziona da linea di comando. È un programma estremamente spartano, ma che ha al suo arco molte frecce.

Installazione

L'installazione di irssi su Debian è molto semplice:

# apt-get install irssi

Una volta installato, il programma è già funzionante e potete avviarlo come ogni altro programma da shell:

$ irssi

Configurazione

Vi troverete davanti ad una semplice console dove a prima vista non sembrano esserci comandi disponibili.
Per iniziare basta però digitare:

/set <invio>

e verrete sommersi da un nugolo di opzioni da selezionare.
Le opzioni e i parametri seguono una sintassi standard:

/set nome_opzione_da_selezionare = parametro_che_si_vuole_impostare<invio>

Potete usare il completamento automatico: ossia una volta scritta una parte del comando:

/set nome_opzione

potete premere il tasto TAB per completare il comando.
Il comando /set si comporta in modo simile a grep, per cui si possono ottenere tutte le opzioni riguardanti un certo pattern:

/set name 
[dcc] dcc_autorename = OFF [lookandfeel] actlist_names = ON names_max_columns = 6 names_max_width = 0 show_names_on_join = ON [server] hostname = real_name = skizzhg user_name = skizzhg

Come prima cosa conviene impostare il vostro nick name:

/set nick il_mio_nick <invio>

dove al posto di il_mio_nick dovrete scrivere il nickname con cui volete essere riconosciuti su IRC.
Se si vuole annullare una modifica e tornare allo stato iniziale:

/set -clear opzione

Data la complessità del file di configurazione è fortemente sconsigliato modificarlo manualmente tramite un editor, usate invece i comandi interni e il ricco help ottenibile con /help e quindi /help comando; ad esempio: /help set.

Collegamento ad un server IRC

Digitate:

/connect nome_server_irc <invio>

e irssi cercherà immediatamente di collegarsi. Un esempio:

/connect irc.azzurra.org <invio>

Una volta collegati al server potrete raggiungere un canale. Se non conoscete a priori il nome del canale o se volete sfogliare la lista dei canali disponibili, il comando irc list, magari specificando l'argomento di interesse, ad esempio linux, è quello che fa per voi:

/list #linux*

Sarà elencata una serie di canali inerenti questo tema. Per entrare in un canale usate il comando join:

/join #debianizzati

Si aprirà un'altra finestra con l'elenco delle persone collegate e il topic del canale; per iniziare a chattare basta digitare quello che volete comunicare e poi premere invio.
Se volete ritornare alla finestra iniziale del server a cui siete collegati basta premere ALT+1.

Automatizziamo la connessione al server e il join al canale:

/server add -ssl -auto -network azzurra irc.azzurra.org 9999
/network add -nick skizzhg -user skizzhg -realname skizzhg azzurra

aggiungere la seguente stringa solo se si ha un nick registrato sostituendo mia_password con la propria password:

/network add -autosendcmd "/quote nickserv identify mia_password; wait 3000" azzurra

quindi l'autojoin

/channel add -auto #debianizzati azzurra

e infine salviamo il tutto (le impostazioni verranno scritte nel file ~/.irssi/config)

/save

All'interno di un canale

Quando si è in un canale, se volete aprire una finestra privata col vostro interlocutore dovete digitare il comando:

/query nick_con_cui_volete_parlare <invio>

Per passare da una finestra ad un'altra è possibile utilizzare varie combinazioni di tasti:

mentre premere ALTt+a porta alla prima finestra dove c'è attività.

Se invece volete spedire un file ad un utente usate:

/dcc send nick_destinatario file_da_spedire<invio>

Per ricevere un file:

/dcc get nick_che_spedisce file_da_ricevere <invio>

Per chiudere una qualsiasi finestra è sufficiente trovarsi nella finestra che si vuol chiudere e digitare:

/wc (ovvero window close)<invio>

Tutti i comandi standard di IRC funzionano sotto irssi.
Per uscire utilizzate il comando:

/quit<invio>

Alias

Come per qualsiasi altro client IRC possiamo creare tanti alias quanto le esigenze e la fantasia ci suggeriscono, ecco qualche esempio.
Innanzitutto dobbiamo creare gli alias per i service dell'Ircd perché irssi, al contrario di altri, non interpreta le consuete abbreviazioni:

/alias CS quote chanserv
/alias NS quote nickserv
/alias MS quote memoserv
/alias HS quote helpserv
/alias SEEN quote seenserv seennick

Spesso irssi viene usato insieme a GNU/Screen per restare connessi a lungo, in questo caso non vogliamo uscire per sbaglio:

/alias quit echo ^C5 sei sicuro? usa //quit

^C5 significa premere e rilasciare CTRL-c e quindi 5 per ottenere il testo colorato di rosso, lo stesso si ottiene con

/alias quit echo \0035 sei sicuro? usa //quit

D'ora in poi per chiudere realmente si userà il comando //quit. È bene anche eliminare gli altri alias predefiniti che rimandano a quit:

/unalias BYE
/unalias EXIT
/unalias SIGNOFF

È possibile dividere orizzontalmente la finestra per visualizzare più canali contemporaneamente, in questo caso prendiamo l'esempio della finestra di status (la 1) dove finiscono ad esempio i notice, i memo e altri messaggi che altrimenti possiamo facilmente non notare; creiamo una piccola porzione (11 righe) dello status sopra la finestra solita:

/alias SPLIT window show 1; window shrink 11

e un altro in caso volessimo tornare allo stato iniziale (espanderlo per quante finestre occorrono):

/alias UNSPLIT window goto 1; window stick off; window goto 2; window stick off; window goto 3; window stick off; \
window goto 4; window stick off; window goto 5; window stick off; window goto 1; window hide

Stanchi di scrivere sempre la ragione per cui si è away? Mettiamone una fissa:

/alias A away non sono al pc

e con questo torniamo:

/alias B away

Capita di dimenticarsi finestre aperte, controlliamo cosa c'è:

/alias WL window list

Uno dei punti forti di irssi è la ricerca di pattern nel buffer della finestra, proprio come se usassimo grep:

normale, cerca qualsiasi cosa, ad esempio /ll debian mostrerà tutte le righe che contengono la parola debian:

/alias LL lastlog

mostra tutte le righe nelle quali si è stati nominati:

/alias LLH lastlog -hilight

pulisce i risultati, elimina quindi le righe mostrate in precedenza:

/alias LLC lastlog -clear

Una volta che abbiamo trovato una certa riga con /lastlog vogliamo anche risalire a quel punto per leggere un certo pezzo di conversazione o altro, il comando /scrollback fa proprio questo:

normale, per il gusto di digitare meno lettere:

/alias SB scrollback

va all'inizio del buffer:

/alias SBH scrollback home

va alla fine del buffer:

/alias SBE scrollback end

va in un punto preciso secondo determinati pattern che spaziano dal numero di riga al timestamp, ad esempio /sbg 21:33 risalirà in prossimità della prima corrispondenza dell'orario richiesto, mentre /sbg -1 21:33 alla stessa ora ma del giorno precedente, /sbg -11 invece scrollerà in su di 11 righe:

/alias SBG scrollback goto

A questo proposito consiglio di aumentare visibilmente il buffer:

/set scrollback_time 3day

Tramite il comando /exec possiamo invocare comandi esterni, e qui ci si può davvero sbizzarrire.

grep:

/alias GREP exec - grep

tail:

/alias TAIL exec - tail

controllo del volume (down, up, mute, normal, valore impostabile)

/alias VD exec - echo "\033[35mvolume: $$(amixer set Master 1- | grep -m 1 -Eo '[0-9]+%')"
/alias VU exec - echo "\033[35mvolume: $$(amixer set Master 1+ | grep -m 1 -Eo '[0-9]+%')"
/alias VM exec - echo "\033[35mvolume: $$(amixer set Master 0 | grep -m 1 -Eo '[0-9]+%')"
/alias VN exec - echo "\033[35mvolume: $$(amixer set Master 19% | grep -m 1 -Eo '[0-9]+%')"
/alias VS exec - echo "\033[35mvolume: $$(amixer set Master '$*'% | grep -m 1 -Eo '[0-9]+%')"

pastebinit, l'opzione -o manda l'output in canale:

/alias PB exec - -o pastebinit
/alias PBC exec - -o $* | pastebinit
/alias PBG exec - -o grep $* | pastebinit

URL shrinker:

/alias US exec - -o w3m -no-cookie -dump 'http://2tu.us/?save=y&url=$*' | awk '/Your tight URL is/ {print $$5}'

Il comando /alias senza argomenti mostra tutti quelli impostati, mentre /alias w tutti quelli che iniziano con la lettera w.

Collegamenti Esterni




Guida scritta da: Ferdybassi 16:03, 10 mar 2010 (CET)

Swirl-auth20.png Debianized 20%

Estesa da:
Verificata da:

Verificare ed estendere la guida | Cos'è una guida Debianized

Strumenti personali
Namespace
Varianti
Azioni
Navigazione
Risorse
Strumenti