Screen + Irssi
Published on 2009-02-02 by Jesper Jarlskov
Hvorfor Screen + Irssi?
Efter at have installeret Debian og SSH på min Eee server, samt gjort klar til at hoste og teste PHP applikationer på Ubuntu/Debain LAMP serveren, er det på tide også at gøre plads til lidt pjat og chat. Meget af kommunikationen i både det danske og det internationale Ubuntucommunity foregår via IRC protokollen, og IRC er derfor et godt sted at følge med hvis man gerne vil hjælpe til i communitiet, eller hvis man bare gerne vil have hjælp i real-time. For at benytte IRC protokollen skal man have en såkaldt IRC-klient. Der findes mange af disse, både med og uden GUI. Da projektet her handler om at køre en server der kan styres via ssh vælger jeg Irssi som er en terminalbaseret IRC-klient. For at gøre det en smule mere interessant vælger jeg at køre det igennem programmet Screen. Screen er et terminal program der lader dig åbne og styre flere terminalvinduer på den maskine det kører på, selvom du kun har åbnet én session. Dvs. det giver mulighed for kun at lave én SSH-forbindelse fra klientmaskinen til serveren, der så kan åbne flere "terminalvinduer" og på den måde køre flere programmer sideløbende. Ydermere lader Screen serveren huske din session fra gang til gang. Du kan altså starte en række terminalprogrammer, lukke SSH-forbindelsen, og logge på igen via SSH, og fortsætte hvor du slap.Hvordan Screen + Irssi?
Selve opsætningen er let nok, da standardindstillingerne egentlig er fint nok til langt det meste. Begge programmer findes i både Ubuntu og Debians repositories, og kan derfor installeres som med det meste andet. Først Screen:aptitude install screenDerefter Irssi:
aptitude install irssiHerfra kører det egentlig af sig selv, og standardopsætningen skulle for de fleste være god nok langt hen af vejen. Hvis man gerne vil pille, findes Screen's opsætningsfil i:
/etc/screenrcMen jeg har aldrig haft behov for at ændre på standardindstillingerne, så jeg kender egentlig ikke rigtigt noget til den. opsætningen til Irssi findes i:
~/.irssi/configHer er der mulighed for at indstille hvilke chatnets (IRC-servere) du benytter, hvilke kanaler (chatrum) på de forskellige chatnets du bruger, samt sætte autojoin på de forskellige chatnets og/eller kanaler, samt auto identify (log-in) på dine chatnets. Dette kan også gøres fra selve programmet hvis man ikke er så glad for at sidde og fedte med config-filer, dette vil jeg komme ind på senere.
Screen
De grundlæggende ting i screen er forholdsvis lette at lave hvis man har en smule erfaring med terminalbrug (hvilken mine læsere selvfølgelig har, da det efterhånden er et stykke tid siden jeg skrev min guide til Ubuntu terminalen ;-)), eller bare en smule gåpåmod. Først startes screen med:screenDer startes så en terminal, hvor du kan starte dine programmer som normalt. Udover de normale terminalkommandoer har screen nogle shortcuts der er gode at kende når man arbejder med programmet. Disse kommandoer bruges med:
ctrl+a, [letter]Dvs. man trykker ctrl og bogstavet a samtidig, hvorefter man slipper de to knapper og trykker på det bogstav der svarer til den kommando man leder efter. Nogle gode kommandoer er:
- 0-9 - skift til vindue 0-9
- c - ny vindue
- d - Detach fra session
- n - næste vindue
- w - Vis vinduer
- k - kill, luk vindue
exitligesom alle andre terminalsessions, eller man kan bruge ctrl+a+d for at detache. Det vil sige man kobler sig fra sin screen session, men lader den køre i baggrunden så man altid kan få fat i den og arbejde videre med den, på et senere tidspunkt.
Reattach
Næste gang man vil starte screen skal man så lige overveje hvad det egentlig er man gerne vil. Man kan, ligesom i første omgang, brugescreenTil at starte en ny screen-session, eller:
screen -raAdfor at genoptage en evt. gammel screen session, som du tidligere har detachet fra.