Irssi, chattare da terminale: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
m (nessuna modifica al pacchetto)
 
(12 versioni intermedie di 5 utenti non mostrate)
Riga 1: Riga 1:
{{Versioni compatibili|Jessie|Stretch|Buster}}
==Introduzione==
==Introduzione==
<code>irssi</code> è un client IRC che funziona da linea di comando. E' un programma estremamente spartano, ma che ha al 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. Con [[privilegi di amministrazione]] basta:
<pre>
# apt-get install irssi
# apt-get install irssi
 
</pre>
Una volta installato, il programma è già funzionante e potete avviarlo come ogni altro programma da shell:
Una volta installato, il programma è già funzionante e potete lanciarlo come ogni altro programma da shell:
$ irssi
<pre>
 
$ irssi
</pre>
==Configurazione==
==Configurazione==
Vi troverete davanti ad una semplice console dove a prima vista non sembrano esserci comandi disponibili. <br>
Per iniziare basta però digitare:
/set <invio>


Una volta installato e lanciato vi troverete davanti ad una semplice console dove a prima vista non sembrano esserci comandi disponibili.<br/>
e verrete sommersi da un nugolo di opzioni da selezionare. <br>
Per iniziare basta però digitare:
<pre>
/set <invio>
</pre>
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:19, 7 feb 2021

Debian-swirl.png Versioni Compatibili

Debian 8 "jessie"
Debian 9 "stretch"
Debian 10 "buster"

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. Con privilegi di amministrazione basta:

# 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:

  • ALT+numero (oltre le 10 finestre ci si muove con Alt+q,w,e,r...)
  • ESC+numero (premere e rilasciare ESC e quindi il numero)
  • CRTL-n / CTRL-p
  • scrivendo /window goto N (dove N è il numero della finestra o il nome del canale)

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