www.ntnu.no *
INFOWEB >  programmer >  unix  > Lese news med gnus
Tasks
You may add comments
Or e-mail this article
Read articles written by henrikau
User rating
How much did this article help you?
Much Some Little
Print preview
You do not need a 'printer-friendly page' to print this page. Here's why
Contents

Lese news med gnus

Gnus er en tekstbasert newsklient i teksteditoren emacs. Du kan enten starte det i konsollmodus eller i xmodus. For å starte det i xmodus må du ha en xserver.

Generelt

Gnus er en pakke til teksteditoren emacs for lesing og posting på news. Programmet har et grensesnitt basert på kommandoer fra tastaturet som for alle andre programmer i emacs. Mange vil i sitt første møte med gnus kunne føle at de har problemer med å få gjort det de ønsker, samtidig som programmet oppleves som lite intuitivt. Dette er imidlertid et temporært problem, og mitt inntrykk er at de fleste etterhvert får det samme forhold til gnus som til emacs, nemlig at det er et fantastisk verktøy som en ikke ville vært foruten.

Det kommandobaserte grensesnittet vil av noen kunne oppleves som et pluss, av andre som et minus. Fordelen er at du effektivt får gjort det du vil når du først er kjent med de vanligste kommandoene , og i tillegg gjør det tekstbaserte grensesnittet at du kun trenger et terminalvindu fra f.eks. en ssh-forbindelse for å lese news.

Starte og avslutte gnus

Du må starte emacs først, med kommandoen emacs, og deretter gnus med kommandoen M-x gnus. Mer om syntaks i emacs kan du lese om her. Et godt tips er at dersom du skulle komme til å gjøre noe du ikke hadde tenkt til, kan du ofte komme deg ut av problemene ved å trykke CTRL+G, som er en avbryt-funksjon i emacs.

For å avslutte gnus kan du trykke q eller gi kommandoen M-x gnus-group-exit. Merk at gnus må avsluttes på denne måten for at du ikke skal miste forandringer i newsrc filen din, slik at du må avslutte gnus før du f.eks. avslutter emacs. Gnus lagrer av og til en midlertidig newsrc fil, slik at alt håp likevel ikke er ute dersom emacs skulle kræsje, og gnus vil da ved oppstart spørre om du ønsker å benytte den temporære kopien fremfor den originale newsrc filen.

Informasjon om gnus

Informasjon om gnus finnes i GNU Info Tree, som kan startes med kommandoen C-h i. Dette er en komplett dokumentasjon av programmet, og der skal du kunne finne ut alt du ønske å vite. I dette dokumentet er det svært begrenset hva jeg får beskrevet, så du blir nødt til å bruke info dersom du ønsker å lære mer om programmet.

Det kan også være nyttig å bruke kommandoen C-h m når du er inne i gnus og lurer på fullstendig navn for en kommando. Dette henter opp en liste over de kommandoer som er tilgjengelig i den major mode som emacs er inne i, for dette tilfellet gnus.

Det vil også kunne være nyttig å foreta søk blant gnus-kommandoene dersom du har en idé om hva kommandoen heter med M-x apropos som kjører et regexp-søk [1]. For eksempel vil et søk på ^gnus-.*mail.*$ liste opp alle gnus-kommandoer som inneholder strengen mail. C-h f kan som ellers benyttes til å beskrive kommandoer du vil vite betydningen av.

Melde seg på og av grupper

Noen kommandoer som er kjekke å kunne:

Kommando Funksjon
C-u 5 L Lister opp alle gruppene du har meldt deg på
A k Lister opp alle gruppene som har blitt 'killed'
A z Lister opp alle gruppene som er i 'zombie' modus
l Lister de gruppene det har kommet nye meldinger i
A M Lister opp tilgjengelige grupper på serveren. Kan kjøre regexp-søk. Mer om dette under tabellen.
u Brukes etter å ha listet ut grupper. Melder deg av eller på den markerte gruppen.

Eksempel på regexp-søk i forbindelse med A M er ^no\..*$ , dette vil liste opp alle grupper i no.*hierarkiet. ^ntnu\..*$ vil liste opp alle grupper i ntnu.*hierarkiet.

Søkefunksjonaliteten med regexp er i seg selv en god grunn til å velge gnus til å lese news, og er praktisk og behagelig å jobbe med når du først blir vant til den. For fullt ut å kunne utnytte denne, må en beherske regexp, som er ganske lett å lære seg.

Mer om grupper i gnus

Ved siden av hvert gruppenavn skal det normalt stå et tall som angir hvor mange uleste artikler du har i gruppen. I tillegg vil du i gruppelister kunne se bokstavkodene U, K og Z, eventuelt ingen bokstavkode. Manglende bokstav betyr at du abonnerer på gruppen, en U betyr at du ikke abonnerer, mens K betyr Killed og Z betyr Zombie. De tre siste vil i praksis bety det samme for deg som bruker av news. Bokstavkodene henger sammen med at gnus opererer med såkalte subscribtion levels som angir i hvor stor grad du er påmeldt en gruppe. Et tall fra en til fem betyr at en er påmeldt, seks og syv betyr ikke påmeldt, åtte betyr zombie, og ni betyr killed.

Subscribtion level kan settes med S-l for en gruppe, og default verdi for en påmeldt gruppe er tre. I utgangspunktet behøver du ikke bekymre deg over denne inndelingen, men det kan være kjekt til mer avansert bruk. Det er blant annet mulig å få gnus til å sortere grupper etter subscribtion level og bruke ulike fargekoder, noe som kan være kjekt dersom du ønsker å holde god oversikt og rette fokus mot grupper du anser som viktigere enn andre. Grupper for fag du tar vil du kanskje finne naturlig å gi nivå en, mens grupper med større volum og som du leser mer for moro skyld kanskje kunne få nivå fem. Mer om hva du kan bruke dette til finner du i info-filen.

Den tidligere nevnte kommando C-u 5 L ber gnus om å vise alle grupper med subscribtion level fem eller lavere, hvilket betyr samtlige grupper en er meldt på. Dersom fem ble erstattet med åtte, ville det bety at gnus ville liste opp absolutt alle grupper på serveren.

Lesing av news

Du kan lese news ved å flytte markøren over den aktuelle gruppen og trykke enter. Dette vil flytte deg inn i et såkalt summary buffer som enten inneholder en liste over artiklene du ikke har lest, eller, dersom du har lest alle artiklene, en liste over samtlige artikler som befinner seg på news serveren.

For å lese en artikkel er det bare å flytte markøren over den aktuelle artikkelen og trykke enter. Inne i selve artikkelen kan du bla framover ved å trykke mellomromstasten og bakover ved å bruke delete-tasten. Dersom du trykker mellomromstasten når du har kommet til slutten av artikkelen, vil gnus hoppe over til neste uleste artikkel. Dette vil også skje dersom du trykker n. Ved trykk på entertasten vil artikkelen rulle ei linje framover. Dersom artikkelen er svar på en annen artikkel, kan du bla deg til denne med å trykke ^ såfremt denne fortsatt befinner seg på news-serveren (den behøver mao. ikke befinne seg i summary-vinduet).

Når du vil hoppe ut av summary buffer, kan du trykke q. Dette vil bevare status for alle artikler om hvorvidt de er lest eller ei. Dersom du ønsker å markere alle uleste artikler som lest med catchup-kommandoen, kan du trykke c. Avhengig av hvordan gnus er satt opp på maskinen du kjører på, vil du da enten hoppe tilbake til listen over grupper eller gå inn i neste gruppe med uleste artikler.

I summary buffer har du noen muligheter til å merke artikler. Dersom du trykker ! når du står på en artikkel, vil denne huskes spesielt og listes opp hver gang du går inn i summary-bufferet for denne gruppen. Dersom du markerer med ?, vil artikkelen vises dersom det kommer et svar på den, noe som kan være spesielt nyttig dersom det postes et spørsmål om moe du lurer på selv.

Artikler lagres på news-serveren for en begrenset tidsperiode for deretter å forsvinne. Dersom du ønsker å ta vare på en artikkel, kan du trykke * når du står på artikkelen. Den blir da lagt i en lokal cache slik at gnus finner den selv om den skulle fjernes fra news-serveren. Det finnes også flere kommandoer for å lagre artikler til filer eller inn i mail foldere.

Poste på news

Dersom du ønsker å svare på et innlegg, kan dette gjøres med f. Dersom du i tillegg ønsker å sitere innlegget du svarer på, kan du trykke F istedenfor. Hvis du istedenfor ønsker å svare privat, kan dette gjøres med de tilsvarende kommandoer r og R for å sende svaret i mail til forfatteren av artikkelen.

For å poste en artikkel til en gruppe gir du kommandoen a med markøren over gruppen eller mens du er i et summary buffer for den aktuelle gruppen.

Når du er i buffer for å skrive news-posting eller mail, anbefales det å ta en titt på aktuelle kommandoer med C-h m. For å sende postingen trykker du C-c C-c. Når du prøver dette for første gang, bruk en av testgruppene som er satt av til dette slik som no.test eller ntnu.test, alt annet er meget upopulært. Post heller ikke uten å ha satt deg inn i nettiketten, og dersom news er nytt for deg bør du nøye deg med å lese noen dager eller uker for å komme mer inn i de uskrevne regler som gjelder for denne formen for kommunikasjon.

Dersom du finner ut at du har kommet til å skrive eller gjøre noe slik at ditt innlegg ikke burde ha vært postet, for eksempel dersom du kommer til å poste et innlegg om katolisismens fortrinn på no.alt.katter, kan du prøve å fjerne artikkelen ved å velge denne og så trykke C. Ikke alle news-servere har støtte for en slik cancel-funksjon, så det kan være servere den ikke blir fjernet fra, men prøv likevel.

Konfigurering av gnus

Gnus kan i stor grad konfigureres etter eget ønske, noe som gjøres med innstillinger i en fil .gnus på hjemmekatalogen. Det å skrive en slik fil krever kjennskap til emacs lisp da det skjer i form av kommandoer til emacs. Under er et eksempel på en .gnus fil. Det er fullt mulig at denne ikke vil fungere med den versjonen av gnus som du bruker eller at den inneholder konfigurasjoner som ikke passer for deg. For å se hva de ulike innstillinger betyr, bruk info og/eller bruk C-h f pluss kommandonavn fra gnus.

kode #1
                        ;; GNUS configuration
 
                        (or (featurep 'gnus)
                        (require 'gnus))
 
                        (setq gnus-use-generic-from "stud.ntnu.no"
                              gnus-your-domain "stud.ntnu.no"
                              gnus-user-full-name "Ola Nordmann"
                              user-mail-address "olanor@stud.ntnu.no"
                              gnus-local-organization ""
                              gnus-signature-file (expand-file-name "~/.signature")
                              gnus-nntp-server nil
                              gnus-select-method '(nntp "news.ntnu.no")
                              gnus-author-copy nil
                              gnus-auto-select-next 'quietly
                              gnus-novice-user nil
                              gnus-cite-face-list 'dark
                              gnus-check-new-newsgroups'ask-server
                              gnus-use-dribble-file 't
                              gnus-large-newsgroup '1000
                              gnus-keep-same-level 't
                              gnus-thread-ignore-subject 't
                              gnus-summary-exit-hook 'gnus-summary-bubble-group
                              gnus-group-sort-function (list
                                                        'gnus-group-sort-by-alphabet
                                                        'gnus-group-sort-by-level
                                                        )
                              gnus-prompt-before-saving nil
                              gnus-cite-face-list (list
                                                   'custom-face-PaleTurquoise-default-default-nil-nil-nil
                                                   )
                              gnus-cite-hide-absolute '10
                              gnus-article-display-hook (list
                                                         'gnus-article-hide-headers-if-wanted
                                                         'gnus-article-hide-boring-headers
                                                         'gnus-article-treat-overstrike
                                                         'gnus-article-maybe-highlight
                                                         'gnus-article-highlight-citation
                                                         'gnus-article-hide-citation-maybe
                                                         )
                              )
 
                        (fset 'gnus-button-url 'w3-fetch)
 
                

Dersom du kjører en grafisk emacs med vinduer, kan du ved i gnus å velge Customize fra Help menyen også sette farger for ulike typer markering av f.eks. header-felter i artikler.

Annet om gnus

En av grunnene til at mange velger gnus, er at det er et system med scoring, noe du kan lese mer om i info. Dette er et system som lar deg sette opp kriterier for artikler du har lyst til å lese og artikler du har mindre lyst til lese. Konseptet går ut på at artikler får tallverdier, scores, etter de oppsatte kriteriene. Dersom de er lei av søppel på USENET[2], er antageligvis scoring noe for deg.

Det kan være en idé av og til å gi kommandoen b, som vil sørge for at grupper som ikke lenger finnes på serveren blir fjernet fra newsrc-filen. Merk at dette kan ta litt tid.

Footnotes

[1]: regexp: regular expression

[2]: USENET: news-nettverket


Languages: no Comments: 0 Aid: 122 User rating:
 
 
Last updated: 2007-03-26 Author: henrikau Read: 6840 times