Irssi F.A.Q. - czyli często zadawane pytania.


Autor: Dariusz "dareios" Sowiński <dareios@irssi.org.pl>
Ostatnia aktualizacja: 4/04/2014 14:28
Aktualna wersja zawsze znajduje się pod adresem http://faq.irssi.org.pl

Valid XHTML 1.1 Valid CSS!


Spis treści:


1. O F.A.Q.


1.1 Czym jest Irssi F.A.Q.?

Irssi F.A.Q. jest zbiorem pytań często zadawanych przez nowych użytkowników na kanale #irssi.pl w sieci IRCnet.

Część treści jest tłumaczeniem oficjalnego F.A.Q. dostępnego w języku angielskim pod adresem http://irssi.org/documentation/

F.A.Q. to jest kontynuacją porzuconego projektu Irssi F.A.Q. dostępnego kiedyś pod adresem http://faq.irssi.pl i część informacji zawartej w mojej wersji może być podobna do starego F.A.Q.

1.2 Jaki jest cel tego F.A.Q.?

Celem niniejszego F.A.Q. jest zebranie wszelkich informacji pomocnych przy zapoznawaniu się z instalacją, konfiguracją i użytkowaniem klienta Irssi tak, aby każdy początkujący użytkownik znalazł w nim odpowiedź na swoje pytanie. Należy mieć na uwadze, iż nie jest to poradnik dla początkującego użytkownika IRC, tylko dla początkującego użytkownika klienta IRC o nazwie Irssi. Jeśli dopiero zaczynasz przygodę z IRC-em, powinieneś najpierw udać się na stronę http://www.irc.pl aby dowiedzieć się o co w tym wszystkim chodzi.

1.3 Kto tworzy F.A.Q.?

W chwili obecnej F.A.Q. tworzy jedna osoba: Dariusz "dareios" Sowiński. Jeśli chcesz przyczynić się do rozwoju tego F.A.Q. skontaktuj się ze mną pod powyższym adresem e-mail lub na IRC-u (dareios@IRCnet/#irssi.pl). Jeśli znalazłeś błąd w tym F.A.Q. również proszę o skontaktowanie się ze mną i wskazanie go.



2. Instalacja


2.1 Skąd wziąć Irssi?

Z działu download na stronie www.irssi.org. Możesz zainstalować Irssi używając managera paczek systemu operacyjnego którego używasz:

jeśli masz w nim prawa administratora, a jeśli nie, to możesz poprosić administratora o zrobienie tego dla ciebie. Jeśli się nie zgodzi lub jeśli manager paczek w twoim systemie nie posiada Irssi w swoim repozytorium, pozostaje ci skompilowanie źródeł i zainstalowanie samemu.

2.2 Czy Irssi potrzebuje innych programów/bibliotek aby się zainstalować/działać?

Tak, Irssi wymaga zainstalowania bibliotek GLIB w wersji 2.0 lub wyższej. Opcjonalnie należy zainstalować interpreter języka Perl, aby można było dodawać nowe funkcjonalności za pomocą skryptów napisanych w tym języku.

2.3 Jak skompilować Irssi?

1. Ściągnij źródła z działu download oficjalnej strony:

wget http://irssi.org/files/irssi-0.8.15.tar.gz

2. Rozpakuj je:

tar -zxf irssi-0.8.15.tar.gz

3. Wejdź do katalogu:

cd irssi-0.8.15

4. Uruchom configure, który sprawdzi czy w systemie zainstalowane są wszystkie wymagane biblioteki, itp.:

./configure

Tutaj mała uwaga: dostępne są różne dodatkowe opcje konfiguracyjne, takie jak obsługa IPv6, SSL, Proxy, itp. Musisz właśnie w tym momencie sprecyzować które z nich mają być skompilowane wraz z klientem. Listę tych opcji otrzymasz wykonując polecenie:

./configure --help

5. Jeśli configure nie zwróciło żadnych błędów pozostaje skompilować źródła:

make

6. Następnie zainstalować skompilowany program:

make install

2.4 Czy możliwe jest zainstalowanie Irssi w katalogu domowym?

Tak, jest to możliwe. Należy uruchomić configure z opcją

--prefix=$HOME/irssi

przed kompilacją i instalacją opisaną punkt wyżej.

2.5 Czy istnieje wersja Irssi dla systemów Microsoft Windows?

Tak, istnieje i można pobrać ją z oficjalnej strony projektu w dziale download, sekcji Binaries. Niestety jest to starsza wersja niż aktualna stabilna wersja na systemy Unixowe (na chwilę obecną 0.8.12, gdy ostatnia stabilna wersja to 0.8.15). Instalacja taka oferuję uruchomienie Irssi w jednym z dwóch trybów. Pierwszy bazuje na cmd (wiersz poleceń Windows), a drugi na puttycyg (tekstowa powłoka poleceń bazująca na popularnym kliencie telnet/SSH PuTTY), który generalnie wygląda o wiele lepiej niż cmd.

2.6 Czy istnieje wersja GUI?

Tak, ale jedynie na Mac OS X - nazywa się macIrssi. Jest to odrębny projekt nie zarządzany przez deweloperów projektu Irssi i niestety bazuje na dość starej już wersji 0.8.6. Strona projektu: www.sysctl.co.uk/projects/macIrssi/.

2.7 Jak uruchomić Irssi?

Wystarczy wydać polecenie:

irssi

Jeśli chcesz aby klient automatycznie połączył się z wybranym serwerem, wydaj polecenie:

irssi -c serwer.irc

Aby połączyć się z serwerem używając wybranego wirtualnego hosta (vhost), wydaj polecenie:

irssi -c serwer.irc -h twoj.wybrany.vhost.pl

2.8 Czy muszę zamknąć Irssi i uruchomić od nowa jeśli w systemie została zainstalowana nowsza wersja?

Nie, wystarczy wykonać polecenie:

/upgrade

dzięki któremu zamkniemy starą wersję i uruchomimy nową nie tracąc połączenia z serwerem IRC oraz otwartych kanałów.

2.9 Jak zostawić sesję w tle, aby dalej działała po wylogowaniu się z konta shell?

Skorzystaj z programu screen wydając polecenie:

screen irssi

Aby pozostawić sesję w tle wciśnij CTRL+A+D

Aby ją przywołać wydaj polecenie:

screen -r



3. Konfiguracja


Należy pamiętać, aby po skonfigurowaniu klienta wykonać polecenie:

/save

aby cała konfiguracja została zapisana w pliku:

~/.irssi/config

dzięki czemu twoje ustawienia będą automatycznie wczytywane podczas uruchamiania Irssi.

3.1 Jak dodać sekundy do znacznika czasu?

Poleceniem:

/set timestamp_format %X

3.2 Dlaczego Irssi nie wyświetla kolorów mimo, że inne klienty IRC np. epic lub ircii wyświetlają?

Te programy wymuszają kolory ANSI nawet jeśli terminal ich nie wspiera. Irssi domyślnie wyświetla kolory jedynie jeśli terminfo/termcap je obsługuje. Poprawną metodą naprawienia tej sytuacji jest odpowiednie skonfigurowanie środowiska terminala (TERM), np. xterm-color lub color_xterm (np. TERM=xterm-color irssi). Jeśli to nie pomaga, wydaj komendę:

/set term_force_colors on

3.3 Jak dodać serwer do listy serwerów i jak ustawić automatyczne łączenie się z nim?

Poleceniem:

/server add -auto -network sieć_irc server

Przykład:

/server add -auto -network IRCnet krakow.irc.pl

3.4 Jak ustawić nicka jeśli ma być inny niż nazwa użytkownika w systemie?

Poleceniem:

/set nick twój_nick

3.5 Jak zrobić aby Irssi reagował na mojego nicka kiedy pojawia się on gdziekolwiek w zdaniu, a nie tylko na jego początku?

Służy do tego polecenie:

/hilight

Przykład:

/hilight nick - reaguje na słowo "nick"
/hilight -color %G -mask *!*@*.pl - wyróżnia na zielono nick osoby pasującej do maski *!*@*.pl

Dodatkowo dostępne są opcje konfiguracyjne:

/set hilight_color kolor - kolor w jakim będzie podświetlane zdefiniowane słowo (standardowo: żółty - %Y)
/set hilight_level level - poziom z którego Irssi będzie wyszukiwał słów (standardowo: PUBLIC DCCMSGS - lista poziomów: /help levels)

3.6 Jak ustawić informację, która jest widoczna we /whois - tzw. ircname/realname?

Poleceniem:

/set real_name twoje realname

3.7 Dlaczego po zmianie realname i ponownym połączeniu się poprzez pozostaje ono niezmienione?

Irssi próbuje być zbyt mądre i stara się przywrócić konfigurację z jaką było wykonane poprzednie połączenie do serwera IRC. Należy wykonać polecenie:

/disconnect

aby się rozłączyć, a następnie:

/connect serwer_irc

aby nawiązać nowe połączenie z nową konfiguracją. Podobno miało to być naprawione ale do dnia dzisiejszego (tj. 0.8.14) nadal problem ten występuje.

3.8 Jak ustawić automatyczne wchodzenie na kanały po uruchomieni Irssi?

Należy dopisać je do listy kanałów używając polecenia

/channel add -auto #kanał sieć_irc np.

Przykład:

/channel add -auto #irssi.pl IRCnet

3.9 Jak zrobić aby Irssi wysyłało żądanie opa do bota zaraz po wejściu na kanał?

Dopisać go z opcjami

-bots "*!ident@host *!ident@host2 ..." i -botcmd "^msg $0 op hasło"

Przykład:

/channel add -auto -bots "*!bot1@host *!bot2host" -botcmd "^msg $0 op mojehasełko" #irssi.pl IRCnet

3.10 Jak zrobić, aby wszystkie kanały dodane do automatycznego wchodzenia zawsze pojawiały się w tych samych oknach?

Należy ustawić kolejność okien, przenosząc je komendą

/win move numer_okna

wykonaną w obecnym oknie, które chce się przenieś pod inny numer. Następnie należy wykonać polecenie

/layout save

które zapisze twój układ okien.

3.11 W jaki sposób dodać na pasku ilości opów/voice'ów/etc.. na kanale?

Należy pobrać i zainstalować skrypt usercount.pl, według instrukcji z rozdziału piątego, a następnie wydać polecenie:

/statusbar window add usercount -alignment left (aby ustawić po lewej stronie, lub right aby po prawej)

Dostępne opcje konfiguracyjne:

/set usercount_show_zero on/off (pokazuj, lub nie, zero jeśli brak użytkowników danego typu)
/set usercount_show_ircops on/off (pokazuj, lub nie, liczbę IRC operatorów na kanale)
/set usercount_show_halfops on/off (pokazuj, lub nie, liczbę half-opów (nie wszystkie sieci obsługują).

3.12 Jak ustawić, aby wszystkie wiadomości prywatne msg i dcc pojawiały się w jednym oknie?

Należy zmienić ustawienia na:

/set autocreate_own_query off
/set autocreate_query_level none
/set use_msgs_window on

Następnie utworzyć okno, w którym mają się pojawiać wiadomości poleceniem:

/window new hide

po czym wpisać:

/window level msgs

3.13 Jak ustawić aby whois, invite, notice i żądania ctcp pojawiały się w aktywnym oknie?

Należy przełączyć się na okno status (ALT+1), po czym wyłączyć je komendą:

/set use_status_window off

Następnie zamknąć je wydając polecenia:

/window immortal off
/window clode

3.14 Jak zmusić Irssi do korzystania z kodowania UTF-8?

Najpierw upewnij się, że twój LC_CTYPE wskazuje na pl_PL.UTF-8. Jeśli nie to wydaj polecenie:

export LC_CTYPE=pl_PL.UTF-8

Następnie upewnij się, że twój terminal wspiera UTF-8 (np. xterm -u8). Jeśli używasz programu screen, musisz uruchomić go z opcją uruchamiającą wsparcie dla UTF-8:

screen -U irssi

Następnie w Irssi ustaw:

/set term_charset UTF-8

Dla wersji 0.8.9 i starszych:

/set term_type utf-8

3.15 Jak zmienić wygląd Irssi (theme)?

Należy pobrać odpowiednią skórkę z www.irssi.org/themes, umieścić ją w katalogu

~/.irssi

a następnie załadować komendą

/set theme nazwa_pliku.theme

3.16 Jakie są komendy zarządzające userlistą i shitlistą?

Należy ściągnąć i zainstalować odpowiedni skrypt według instrukcji z rozdziału piątego.
Do wyboru mamy dwie opcje:

3.17 Dlaczego moja sesja nie kopie użytkownika dopisanego do shitlisty?

Najpierw sprawdź czy poprawnie zapisałeś hosta. Jeśli host jest poprawny, sprawdź czy nie masz załadowanego skryptu kicks.pl, który znany jest z powodowania konfliktów z innymi skryptami używającymi komendy /kick. Najlepiej będzie pozbyć się skryptu kicks.pl, ale jeśli chcesz go używać, to otwórz do edycji plik skryptu zarządzającego shitlistą (czy też innego, który ma opisywany problem) i zmień /kick na /quote kick.

3.18 Jak włączyć automatyczne logowanie?

Komendą:

/set autolog on

Można też zmienić układ struktury katalogów i plików według którego logi będą zapisywane dla poszczególnych sieci i kanałów. W tym celu zapoznaj się z opcją autolog_path, dla przykładu:

/set autolog_path ~/.irclogs/$tag/$0/${0}-%Y%m%d.log

spowoduje zapisywanie wszystkich logów w katalogu

/home/login/.irclogs/Nazwa_sieci_IRC/#kanał/#kanał-rok-miesiąc-dzień.

Można też ustawić typ informacji jaka będzie zapisywana. Służy do tego opcja autolog_level. Więcej informacji:

/help levels

3.19 Jak dopisać automatyczne wykonanie komend podczas uruchamiania Irssi?

Dodaj je do pliku

~/.irssi/startup

pamiętając, że każda komenda musi mieć osobną linię. Wstawianie poprzedzającego '/' nie jest konieczne.

3.20 Jak ustawić automatyczne powracanie na kanał po wykopaniu (autorejoin)?

To bardzo zła praktyka i nie powinieneś tego robić. Jeśli zostałeś wykopany z kanału, powinieneś trzymać się z daleka przynajmniej do momentu, aż operatorzy zapomną, że coś nabroiłeś - inaczej skutkiem zapewne będzie ban. Na większości kanałów jest jakiś bot lub sesja ze skryptem, który automatycznie banuje i wykopuje osoby z autorejoinem ustawionym w swoim kliencie. Jeśli przebywasz na kanałach, gdzie operatorzy kopią dla zabawy i dlatego potrzebujesz autorejoina, to prawdopodobnie powinieneś zmienić kanały, a nie konfigurację swojego klienta.

Jeśli nadal bardzo chcesz mieć autorejoina mimo powyższego ostrzeżenia, to musisz ściągnąć skrypt autorejoin.pl z http://scripts.irssi.org i załadować go do klienta według instrukcji z rozdziału piątego. Następnym krokiem jest skonfigurowanie na których kanałach ma działać, służy do tego komenda:

/set autorejoin_channels #chan1 #chan2 (można zostawić puste aby działał na wszystkich).

3.21 Jak ogłaszać na wszystkich kanałach kiedy ustawiam status away lub back?

To jest jeszcze gorsze niż autorejoin. Nikt nie chce byc informowany za każdym razem kiedy cię nie ma lub jesteś. Na zdecydowanej większości kanałów jest to nieakceptowane i skutkuje banem. Naucz się poprawnie korzystać z komendy /away i informuj o niej innych, którzy nie wiedzą o jej istnieniu. Komenda /wii nick pokazuje powód away ludziom których to naprawdę interesuje czy jesteś czy cię nie ma.

3.22 Jak zmienić wirtualny host (vhost)?

Wydaj polecenie:

/set hostname twoj.nowy.vhost.pl

3.23 Jak połączyć się z serwerem używając IPv6?

Zakładając, że twoje Irssi zostało skompilowane z obsługą IPv6, wydaj polecenie

/set resolve_prefer_ipv6 on

po czym ustaw wirtualny host IPv6 w ten sam sposób jak punkt wyżej, a następnie połącz się z serwerem.

3.24 Co muszę ustawić aby Irssi łączyło się poprzez proxy?

Najpierw włącz obsługę proxy (o ile jest wkompilowana) komendą:

/set use_proxy yes

A następnie ustaw parametry:

/set proxy_address 1.2.3.4 - adres IP/host
/set proxy_port 1234 - port na którym słucha
/set proxy_password hasło - hasło, jeśli wymagane


Po czym połącz się z serwerem.

Warto nadmienić, że ustawienia te umożliwiają korzystanie z HTTP proxy, a nie z SOCKS. Obecnie Irssi nie wspiera proxy typu SOCKS4/5.

Opcjonalne ustawienia:

/set proxy_string
/set proxy_string_after



4. Interfejs użytkownika


4.1 Jak wyświetlić listę osób na kanale?

Należy użyć polecenia:

/names

lub jego skrótu

/n

Jeśli przyzwyczaiłeś się do /sc z LiCe wpisz:

/alias sc names

Od tej pory działa /sc, /n oraz /names.

Jeśli chcesz zobaczyć listę osób wraz z adresami, wydaj polecenie /who lub skrót /w.

4.2 Jak przełączać się pomiędzy oknami?

Możemy to zrobić na kilka sposobów: Meta-1, Meta-2, .. Meta-0 - przechodzenie do okien od 1 do 10. Meta-Q .. Meta-O - przechodzenie do okien od 11 do 19. /window numer_okna - zmiana na okno określone numerem. /window last - okno aktywne przed ostatnim przejściem do innego okna. Ctrl-P, Ctrl-N - zmiana na poprzednie/następne okno. Meta-A - przejście na okno najbardziej/ostatnio aktywne. Jako klawisz Meta najczęściej jest używany Alt.

4.3 Jak zmieniać pozycję okien?

/window move left/right/numer - przeniesienie danego okna w lewo/prawo/pod dany numer.

4.4 Jak w prosty sposób napisać linię zaczynającą się od znaku '/'?

Poprzedzając tekst dodatkowym '/' oraz spacją.

Przykład:

/ /tekst

4.5 Jak w prosty sposób edytować obecny temat kanału?

Wpisz polecenie:

/topic

a następnie wciśnij spację, a na koniec tab.

4.6 Próbowałem połączyć się do serwera, który nie odpowiada, a teraz Irssi cały czas próbuje się do niego połączyć! Jak to zatrzymać?

Są dwa sposoby. Pierwszy (dobry) sposób to wykonanie polecenia

/disconnect

Najpierw sprawdź tagi serwerów wykonując polecenie

/server

bez podawania żadnych parametrów. Próby ponownego połączenia mają tag zaczynający się tekstem "recon", więc prawdopodobnie będzie trzeba wykonać polecenie:

/disconnect recon-1

Drugi sposób to wykonanie polecenia

/rmreconns

Jest ono łatwiejsze, ale może usunąć próby ponownego połączenia do serwerów, do których mogłeś chcieć się połączyć (jeśli łączysz się do kilku serwerów z jednej sesji).

4.7 Czemu Irssi automatycznie wchodzi na kanały po otrzymaniu zaproszenia?

Po otrzymaniu zaproszenia Irssi wchodzi automatycznie jedynie na kanały dopisane do twojej listy kanałow z autrybutem -auto, a nie na wszystkie (nie ma w ogóle takiej opcji w standardowym kliencie, ale zapewne istnieje jakiś skrypt dodający tą funkcjonalność). Możesz to wyłączyć wykonując komendę

/set join_auto_chans_on_invite off

jeśli naprawdę ci się to nie podoba, ale jest to przydatne na kanałach z +i, gdzie musisz najpierw wysłać komendę do bota aby otrzymać zaproszenie albo jeśli zostałeś pomyłkowo wykopany z kanału i osoba ta od razu wysłała ci zaproszenie.

Opcja ta jest domyślnie włączona gdyż twórca Irssi nie widzi nic złego w jej działaniu. Oczywiście ktoś mógłby dla zabawy zacząć w kółko cię kopać i zapraszać, ale raczej nie spowoduje odłączenia cię od serwera IRC z powodu flood'u, a jedynie nabałagani na kanale. Nie powinieneś przebywać na kanałach, których operatorzy zachowują się tak niedojrzale.

4.8 Czy w Irssi będzie coś takiego jak /detach w BitchX?

Być może. Kod do detach już jest napisany, ale attach jeszcze nie. Developer uważa, że jest to zbędne dlatego zaprzestał rozwoju tej funkcjonalności, gdyż uważa, że programy screen i dtach doskonale nadają się do zostawiania sesji w tle.

4.9 Jak skonfigurować klawisze F1-F12 aby wykonywały różne komendy?

Najpierw musisz sprawdzić jaki rezultat daje wciśnięcie danego klawisza w terminalu, którego używasz. Wykonaj komendę:

cat

i wciśnij ten klawisz. Poniżej przykład sprawdzania klawisza F1:

sun:dareios {~} > cat
^[[11~

Teraz należy wykonać polecenie:

/bind ^[[11~ key F1
/bind F1 /ECHO F1 pressed.

Teraz po wciśnięciu klawisza F1 pojawi się komunikat o treści "F1 pressed.".



5. Skrypty


5.1 Czy Irssi uruchamia skrypty IrcII, EPIC, BitchX itp.?

Nie, Irssi nie potrafi uruchamiać skryptów napisanych dla tych klientów, ani skryptów w Tclu (dla eggdropa). Irssi jest jednak bardzo wygodnie programowalne za pomocą skryptów w Perlu.

5.2 Gdzie mogę znaleźć skrypty do Irssi?

Na stronie http://scripts.irssi.org.

5.3 Jak uruchamiać skrypty i czemu /load zwraca błąd?

Wersja 0.8.14 i nowsze umożliwiają ładowanie zarówno skryptów jak i modułów komendą /load, natomiast starsze wersje nie. Należy używać komendy

/script load skrypt.pl

aby załadować skrypt.

5.4 Jak dopisać skrypty aby ładowały się automatycznie po uruchomieniu Irssi?

Przenieść wszystkie do katalogu

~/.irssi/scripts/autorun

Jeśli go nie ma to należy go utworzyć. Możesz też trzymać skrypty w katalogu

~/.irssi/scripts

a w autorun umieścić jedynie powiązania symboliczne dla wybranych skryptów.

5.5 Próbowałem skonfigurować skrypt keepnick ale zwraca błąd "Unable to find a chatnet". Co robić?

Aby skrypt ten działał poprawnie należy dopisać serwer z którym się łączymy ze zdefiniowaną nazwą sieci IRC do której on należy. Jeśli sieć ta nie jest standardowo zdefiniowana w Irssi, również należy ją dopisać. Następnie trzeba rozłączyć się z serwerem i połączyć na nowo. Aby dopisać nową sieć wykonaj polecenie:

/network add sieć_irc

Następnie należy dodać serwer do tej sieci poleceniem:

/server add -network sieć_irc serwer_irc

Kolejnym krokiem jest rozłączenie się i połączenie na nowo:

/disconnect
/connect krakow.irc.pl

Teraz można wykonać polecenie:

/keepnick nick

aby skrypt zaczął funkcjonować. Błąd nie powinien się już więcej pojawić. Należy pamiętać, że jeśli korzysta się z kilku sieci, każdą trzeba odpowiednio dopisać.



6. Przydatne linki