Irssi, chattare da terminale: differenze tra le versioni
S3v (discussione | contributi) Nessun oggetto della modifica |
m (nessuna modifica al pacchetto) |
||
(11 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. | <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: | ||
# apt-get install irssi | |||
# apt-get install irssi | |||
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 | $ irssi | ||
$ irssi | |||
==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> | |||
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: | ||
/set nome_opzione_da_selezionare = parametro_che_si_vuole_impostare<invio> | |||
/set nome_opzione_da_selezionare = | |||
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: | ||
/set nome_opzione | |||
/set | |||
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: | ||
/set nick il_mio_nick <invio> | |||
/set nick il_mio_nick <invio> | |||
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== | ||
Digitate: | |||
/connect nome_server_irc <invio> | |||
/connect nome_server_irc <invio> | |||
e <code>irssi</code> cercherà immediatamente di collegarsi. Un esempio: | |||
e <code>irssi</code> | /connect irc.azzurra.org <invio> | ||
/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 <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: | ||
/list #linux* | |||
/list #linux* | |||
Sarà elencata una serie di canali inerenti questo tema. Per entrare in un canale usate il comando <code>join</code>: | |||
/join #debianizzati | |||
/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> | ||
Si | |||
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== | ||
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> | |||
/query | |||
Per passare da una finestra ad un'altra è possibile utilizzare varie combinazioni di tasti: | |||
* <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: | ||
/dcc send nick_destinatario file_da_spedire<invio> | |||
/dcc send | |||
Per ricevere un file: | Per ricevere un file: | ||
/dcc get nick_che_spedisce file_da_ricevere <invio> | |||
/dcc get | |||
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: | ||
/wc (ovvero window close)<invio> | |||
/ | |||
Tutti i comandi standard di IRC funzionano sotto <code>irssi</code>. <br> | |||
Per uscire utilizzate il comando: | |||
Tutti i comandi standard di IRC funzionano sotto <code>irssi</code>. | /quit<invio> | ||
Per uscire | |||
< | ==Alias== | ||
/ | Come per qualsiasi altro client IRC possiamo creare tanti alias quanto le esigenze e la fantasia ci suggeriscono, ecco qualche esempio. <br> | ||
</ | 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 | ||
--[[Utente:Ferdybassi|Ferdybassi]] 16:03, 10 mar 2010 (CET) | /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 | |||
<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:Shell]] | ||
[[Categoria:Instant Messaging]] | [[Categoria:Instant Messaging]] |
Versione attuale delle 10:19, 7 feb 2021
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
- 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
Guida scritta da: Ferdybassi 16:03, 10 mar 2010 (CET) | Debianized 20% |
Estesa da: | |
Verificata da: | |
Verificare ed estendere la guida | Cos'è una guida Debianized |