LysKOM

Från Lysators datorhandbok, den ultimata referensen.
Hoppa till navigering Hoppa till sök

LysKOM är bra. De officiella sidorna om LysKOM finns på http://www.lysator.liu.se/lyskom/

Vad är LysKOM?

Lyskom kan ses som ett mellanting mellan irc och news (tänk usenet), eller en form av forum/bbs om ni så vill. Historiskt sett har det funnits andra KOM-system som körts tidigare, men i början av 90-talet eller så gick de KOM-system som funnits på LiU i graven pga att hårdvaran de kördes på pensionerades. Då skapades LysKOM. Eller nåt sånt. LysKOM som namn syftar dels på servermjukvaran och dels på den installation som Lysator kör. I de fall en närmare specificering krävs kan den senare kallas LysLysKOM.

Det bakomliggande konceptet

LysKOM kretsar kring begreppen "möten" och "inlägg". Möten innehåller inlägg. Ett möte kan ses lite som en sorts fora för diskussioner av vissa specifika saker, exempelvis programmeringsalgoritmer, filmer, datorarkitekturer, och så vidare. Samma inlägg kan finnas i flera möten. Det är en trevlig finess som har många fördelar, t.ex. om man vill skriva något till rootgruppen och styrelsen samtidigt. Inlägg (eller brev) är vad det låter som, inlägg som skrivs och skrivits i möten. Möten kan lite krasst delas in i ungefär tre huvudgrupper; personer, diskussionsmöten och adderingsmöten. Varje KOM-person i LysKOM har ett möte som agerar brevlåda för personen ifråga. Det är dit du skickar brev till andra KOM-personer. Även inlägg som postas i ett möte du inte är med i, men som är svar på ett inlägg du skrivit hamnar i brevlådan. Din brevlåda kan enbart du läsa. Diskussionsmöten är möten som är tänkta att diskutera saker, exempelvis Lysator, Programmering, specifika programspråk, och så vidare, och kan i regel läsas av alla (ibland är sådana möten slutna, men det går att läsa dem om man blir medlem i mötet - hur brukar kunna stå i mötespresentationen). Adderingsmöten är möten som kanske inte innehåller några intressanta diskussioner alls, utan är mer för att artbestämma inlägg. Namnen på dessa möten inleds inte helt sällan med ordet “Plötsliga”, exempelvis “Plötsliga felläsningar”, “Plötsliga Dolph”, “Plötsliga lustigheter”. Gränsen mellan diskussionsmöten och adderingsmöten kan vara lite suddig. Parenteser i mötesnamn innehåller ibland lite extra information, men finns där mest för användarnas skull. Parenteser i användarnamn används ofta som personliga texter och innehåller ofta citat eller annat, ungefär som titlar på vanliga forum. Mötesnamn kan ibland heta saker som “Presentation (av nya) medlemmar” och “Presentation (av nya) möten”. Det före parentesen fungerar där som en sorts möteskategori. Inlägg försvinner efter ett tag, de garbas. Detta görs bland annat för att nya inlägg ska kunna få plats. Vill man inte att ett visst inlägg ska försvinna, eftersom det är så bra, kan man markera det (x markera (inlägg)). Då finns det kvar istället.

Klienter

LysKOM är uppbyggt enligt klient-server-paradigmen, vilket innebär att det finns en server som körs och klienter som ansluter till servern. Det finns en hel uppsjö klienter, men den mest kompletta ur finessynpunkt är testklienten, som är skriven i emacslisp (klienten kallas populärt för elvispen), och det är den jag tänkte introducera här. Andra klienter finns beskrivna på LysKOMs webbplats, men de som kanske kan nämnas är jskom, som är skrivet i javaskript och hjälpligt ifall man är på en öde ö och inte har en emacs ens via ssh för att skicka ett brev om räddning, och #KOM som är skrivet för .NET/mono och är en av de färskare klienterna (som jag dock inte testat mer än i förbigående, men den verkade rätt så trevlig i alla fall).

Elispklienten

Som tidigare sagt är elispklienten den funktionsmässigt mest kompletta LysKOM-klienten.

Installation

Om du inte har Emacs installerat på den dator som du tänkt KOMma från är det förslagsvis det första steget du bör ta. Använd $PAKETHANTERARE för din $*NIX eller en win32-build för Emacs. Ett alternativ som kan vara lämpligt för Winodwsanvändare är EmacsW32 som är en paketering av Emacs med diverse anpassningar som gör att den beter sig mer som vanliga Windowsprogram. Själv föredrar och använder jag GNU Emacs, och det jag tar upp senare kan eventuellt skilja sig om du väljer XEmacs, till exempel. När du har din Emacs installerad är nästa steg klienten. På elispklientens webbplats finns det beskrivet hur man installerar. Tycker man att en X år gammal version är lite dammig kan man välja att använda git. Använder du gentoo finns det en ebuild. Debian och liknande kan ha LysKOM i sina pakethanteringssystem redan, så kolla där först.

För de som inte kan bygga från git så finns, i skrivande stund, ett dagligt cron-job som lägger upp en färdig .el-fil på https://www.lysator.liu.se/~jonass/lyskom.el , ladda hem och kör M-x byte-compile-file i din Emacs.

Från git på Linux/Unix

Kör nåt i stil med detta i din fina terminal:

git clone https://git.lysator.liu.se/lyskom-elisp-client/lyskom-elisp-client.git
cd lyskom-elisp-client
make EMACS=emacs
cp src/lyskom.elc /usr/share/emacs/site-lisp
Från git på Windows

För tillfället (2013-08-08) är 0.48 den senaste släppta elispklienten och den är mycket gammal och fungerar inte så bra med Emacs 23 och 24. Det går dock att ladda ned en mycket nyare version från git-repositoryt. (Tidigare användes CVS, men där finns inte längre de aktuella filerna.)

En kompilerad lyskom direkt från git repositoryt kan laddas ned från:

Kompilerad elispklient för Windows

Man kan också bygga den själv genom att göra något i stil med följande:

  • För att kunna bygga en elispklient av filerna du laddat ned behöver du kommandot "make" samt en git-klient. Det kan man få via cygwin, så om du inte redan har cygwin med make installerat bör du installera cygwin. Här är länken till cygwin: http://www.cygwin.com/
  • Klicka på "Install or update cygwin now" uppe i högra hörnet.
  • Spara setup.exe på lämpligt ställe och kör den.
  • Välj "Install from Internet".
  • Det kommer en massa frågor om var man ska installera cygwin och vilken katalog nedladdade filer ska läggas i. Välj som du finner lämpligt.
  • Om du sitter i Sverige är nog ftp://ftp.sunet.se en bra "download site".
  • Under rubriken "Devel" ska du kryssa för att du vill installera "make" och "git".
  • Under rubriken "Editors" ska du välja emacs (24.3 eller vad det nu kan vara för version som gäller). Denna emacs behöver du bara för att cygwin ska kunna kompilera lyskomklienten, inte för att senare köra lyskom, även om det naturligtvis också går att göra från cygwin.
  • Välj även andra paket om du vill. Det går att köra setup.exe många gånger för att lägga till eller ta bort olika paket i cygwin.
  • Starta cygwin. Du får upp ett skalfönster.
  • Gör
cd /cygdrive/c/download/lyskom om du vill ha filerna från git där.
  • Ladda ned från git:
git clone https://git.lysator.liu.se/lyskom-elisp-client/lyskom-elisp-client.git
  • Ändra i den Makefile som ligger i lyskom-elisp-client/src så att det står EMACS = emacs (inte xemacs som det förmodligen står från början).
  • Kör "make" i katalogen lyskom-elisp-client (från cygwin-prompten)
  • Nu kan du lämna cygwin om du vill.
  • Nu bör du ha en lyskom.elc i src-katalogen. Lägg den i sökvägen för din windows-emacs.
  • Kanske vill du lägga något av följande i din .emacs:
(autoload 'lyskom "lyskom.elc" "Köra LysKom" t)
;; Use environment variables KOMNAME and KOMSERVER
(add-hook 'lyskom-mode-hook 
  (lambda () 
    (set-language-environment "Latin-1")
    (setq kom-preferred-charsets '(latin-1 iso-8859-1 utf-8))))
(setq kom-emacs-knows-iso-8859-1 t)
(defun kom ()
  (interactive)
  (lyskom "kom.lysator.liu.se" "ditt namn i lyskom"))
  • Starta sedan lyskom genom att trycka "M-x kom".

Konfigurering Elispklienten

Nu när klienten är installerad är det dags för lite inställningar som gör livet som KOM-person lite enklare. Något i stil med detta platsar bra i din .emacs:

(autoload 'lyskom "lyskom" "Start LysKOM" t)

(defvar kom-server-aliases
 '(("kom.lysator.liu.se" . "LysKOM")))

(setq-default kom-default-language 'sv)
(setq kom-default-server "kom.lysator.liu.se")
(setq kom-default-user-name "Ditt Användarnamn Här")

Den första raden är helt enkelt för att det ska vara enkelt att starta lyskom genom att bara göra M-x lyskom Efter det kommer ser vi till att adressen till Lysators KOM-server finns som alternativ så att det går att tabb-komplettera sig fram till den. Därefter sätter vi standardspråk på gränssnittet till svenska, bara för säkerhets skull sådär. Kortkommandon och annat har helt andra namn på engelska (doh). De sista två raderna sätter den default-server som du vill ska stå som server att ansluta sig till som standard, samt det användarnamn du använder dig av. Allt för att spara några tangenttryckningar.

Logga in

Nu när du har klienten installerad (elvispen) och inställd är det bara att logga in. Gör M-x lyskom <enter> (M-x betyder då vanligtvis alt nertryckt, tryck ner x, motsvarande med control nertryckt är C-x. Är du nybörjare på emacs finns det hjälp att få på internet - här är t.ex. en “fusklapp”). Du blir nu först tillfrågad vilken server du vill ansluta till. Eftersom du nyss ställde in att kom.lysator.liu.se skulle stå där som default är det bara att trycka enter. Nu vill den ha ett användarnamn. Skriv in det användarnamn (ditt riktiga namn är att rekommendera, det underlättar dina relationer med andra KOM-personer) du vill ha och tryck enter. Finns inte namnet sedan tidigare har du nu möjlighet att registrera dig.

Nu då?

En av de första saker du bör göra är att skapa en presentation av dig själv. tryck ä p. En buffer där du kan skriva dyker upp. Skriv om dig själv. Tryck C-c C-c för att spara.

Gå med i möten!

skriv x bli medlem i möte <enter> Skriv in mötesnamn. Tabba två gånger för att få upp en lista över 11000 möten. Nehej, det var väl kanske inte helt lyckat, nej. De flesta mötesnamn har en logisk struktur. Säg att du t.ex. vill bli medlem i ett möte om programmering. Du kan då börja skriva program och tabba två gånger (en gång för att komplettera så långt det går). Du får då upp en lista över möten vars namn börjar på “program” därefter grottar du bara ner dig ytterligare tills du får ett “sole completion”. Därefter blir du tillfrågad om hur många olästa du vill ha i mötet från början. Det kan vara bra att bara lämna fältet tomt, så att alla inlägg i mötet är olästa (det räknas som lite fult att hoppa rakt in i en diskussion utan att läsa allt som föranlett exempelvis senaste inlägget), men ibland kan man vilja skriva in ett datum istället, t.ex. 2008-08-01 för alla inlägg som skrivits sedan första augusti 2008. Därefter kommer en fråga om prioritet på mötet. Detta är hur viktigt det mötet är i jämförelse med andra. Standard är 100. Kommer ett nytt inlägg i ett möte med högre prioritet än det du läser kommer klienten att vilja gå till mötet med högre prioritet så fort du läst ut det möte du för närvarande är i. Slutligen kommer en fråga om du vill ta emot gruppmeddelanden till $MÖTE. Gruppmeddelanden är en sorts snabbmeddelande som är adresserat till ett möte (eller en person). Om du tror att eventuella meddelanden som eventuellt kan skickas till det mötet du är på väg att bli medlem i kan vara intressanta kan du ju svara ja på den frågan. Vill du veta vad ett möte handlar om innan du går med, tryck å p $MÖTESNAMN <enter>

Traversera trådar

För att läsa nästa meddelande i en tråd, tryck mellanslag. Egentligen utför mellanslag ett standardkommando, som beroende på situation kan vara byta möte, läs nästa inlägg, läs kommentar, se tiden (när man “spelat ut” lyskom). För att återse det inlägg som nuvarande inlägg kommenterar, å k För att återse det första inlägget i en tråd, å u

Skriva inlägg

För att kommentera ett redan skrivet inlägg, tryck k och börja skriv. C-c C-c för att skicka, C-c å k för att få upp inlägget du kommenterar i en annan buffer, C-c C-y för att få in kommenterat inlägg indenterat i det inlägg du håller på att skriva, exempelvis om du vill kommentera en specifik bit av inlägget. För att starta en ny tråd, tryck b, skriv vilket möte du vill skicka brevet till och börja skriv. Se till att det finns en rubrik nu bara, och resten är ganska självförklarande.

Bra möten att vara med i

Fråga två KOM-personer och du har minst tre svar på frågan om vilka möten man bör vara med i. Min högst personliga åsikt är att du som Lysit bör vara med i åtminstone dessa (samt se till att läsa dem!) (kommentarer i kursivt):

  • Nyheter om LysKOM Info om nertid för lyskomsystemet och liknande
  • LysKOM för nybörjare Guld värd om du är ny
  • LysKOM frågor (och) svar Se ovan
  • Lysator Diskussioner om föreningen
  • Lysators Anslagstavla Viktiga viktigheter annonseras här.
  • Lysators lokaler (Pul-17, FOO, Q, ~) Saker som har med lokalerna att göra - notera även att lokalgruppen har ett möte ifall det är något som ska tas upp med dem; “Lysators lokalgrupp”
  • Lysators (alla) datorsystem (-) frågor och felrapporter Vad det låter som, mer eller mindre.

Möten som inte är nödvändiga att vara med i, men som det absolut inte skadar att ta del av är t.ex.:

  • KOMpisklubben Här kan t.ex. gemensamma biobesök och grillfester planeras - jättebra om man vill vara social i verkligheten också.
  • Bargain! LysKOMs egna fyndhörna. Möjlighet till riktiga klipp finnes (varför berättar jag det här för er?)
  • Pryltorget, allmänt (diverse I/O av prylar och ting) Vill du köpa eller sälja är det här ett bra möte för sådant.
  • Pryltorget, böcker (livets nödtorft) Böcker böcker böcker böcker
  • Våffelätning i ~ och liknande aktiviteter För det är gott med våfflor
  • Infosystem (@) Lysator (WWW, FTP och liknande) Diskussion om webb- och ftp-servrar.
  • Universitetet (och) LiTH i Stort och Smått Diskussioner som gäller universitetet - kan kanske aldrig skada
  • (De) bästa inläggen i LysKOM! Adderingsmöte för jättebra inlägg
  • (De) näst bästa inläggen i LysKOM! Samma som ovan, men för inlägg som bara är nästan jättebra
  • Hört i ~ (tilde) Roliga saker som sagts i ~ och här förevigats (tills det att inläggen garbas)
  • Fritt forum Allt som inte passar någon annanstans, och sånt som säkert också passat någon annanstans
  • Varningar (i) Linköping Tv-pejlare? Jehovas? LysKOM kan bli din räddning.
  • (Att bo och leva i) Ryd (-) erfarenhetsutbyte Om du bor i Ryd. För extra bonus finns t.ex. mötet “Rydsligister”

Mer läsning