Der Newsreader knews

zum Vergrößern bitte auf das Bild klicken

Inhaltsverzeichnis des Beitrags

What is knews?

"knews - Karl's threaded newsreader for X" (laut Manpage).

knews ist ein grafischer Online-Newsreader für das X Window Interface unter UNIX/Linux. knews liegt als Open Source vor, ist aber auch als fertiges Binary über den Paketmanager verschiedener Linux-Systeme beziehbar.
knews wurde von Karl-Johan Johnsson geschrieben; die letzte verfügbare Version ist die 1.0b.1.
Da der Code von knews relativ alt ist, funktionieren nicht mehr alle heute verfügbare Usenet-Features. Dazu weiter unten mehr.

Systemvoraussetzungen

knews kann im Prinzip unter jedem unioxiden System installiert werden, in dem X11 läuft.

Installation

Wie oben bereits angemerkt, kann zwar knews direkt über das Paketmanagement vieler Linux-System bezogen werden. Jedoch gibt es mit diesen Versionen einige Probleme:

  1. Sender-Header
  2. keine X-Face-Anzeige
 zu 1: da in den Paketmanagerversionen keine individuellen Einstellungen 
       einkompiliert sind, fügen diese Versionen einen Sender-Header 
       in der Form "Sender: Linux-Anmeldename@Hostname" in die Postings ein,
 zu 2: in den Paketmanagementversionen ist meist die Bibliothek für die 
       X-Face-Anzeige nicht mit einkompiliert.

Aus diesen genannten Gründen ist es ratsam, knews aus dem Quelltext zu kompilieren.
Hier folgend die dazu erforderlichen Angaben:

Nach Herunterladen und Auspacken des Quelltextes unter Beibehaltung der Ordnerstruktur im Archiv sollte zuerst die Datei "configure.h" im Hauptverzeichnis des Quelltextes angepaßt werden: Aus folgenden Zeilen sollten die Kommentarzeichen entfernt werden, so dass diese Zeile wie folgt aktiv werden:

  #define MAIL_COMMAND "/usr/sbin/sendmail -t"

  #define DOMAIN_FILE "~/domainfile.knews"

  #define DEFAULT_EDIT_COMMAND "xterm -e vim -c 'set tw=72' +s"

  #define HAVE_JPEG	1
  #define HAVE_PNG	0
  #define HAVE_COMPFACE	1

Die erste Zeile ("...sendmail...") ist zwingend erforderlich, ohne diese schlägt ein Compile fehl. In der Zeile "...DOMAIN_FILE..." definieren wir eine Datei mit exaktem Pfad, in der wir die Domain für die From-EMail-Adresse ablegen. Diese Datei soll in unserem Beispiel im Homeverzeichnis liegen und soll den Domain-Teil der E-Mail-Adresse enthalten. Dadurch wird in Verbindung mit den entsprechenden Einstellungen (weiter unten genannt) der Sender-Header vermieden. In der Zeile "...EDIT_COMMAND..." legen wir "vim" als Editor fest und stellen gleichzeitig die Zeilenlänge für unsere Postings auf 72 Zeichen ein. Die letzten 3 Zeilen erfordern die vorherige Installation von entsprechenden Bibliotheken, zum Beispiel "libxt-dev" und "libcompfaceg1-dev". Überhaupt erfordert die Kompilation von knews die vorherige Installation vieler Development-Bibliotheken. Sollten also bei der Übersetzung mehr oder wenige Fehlermeldungen auftreten, so deutet das auf fehlende Bibliotheken hin.

Des weiteren muß die Datei "knews.tmpl" angepaßt werden. Hier ein Konfigurationsbeispiel:

  [...]
  JPEG_LIB	= -ljpeg
  PNG_LIB	= -lpng -lz -lm
  COMPFACE_LIB	= -lcompface
  KNEWS_INCLUDES= /usr/include/X11

Anschliessend kann der Kompiliervorgang entsprechend der Datei "INSTALL" wie folgt durchgeführt werden:

  xmkmf
  make Makefiles
  make clean
  make all

Wenn "make all" fehlerfrei durchgelaufen ist, kann das fertige Binary, dass jetzt im src-Verzeichnis abgelegt wurde, mit folgendem Kommando installiert werden:

  sudo make install
  sudo install.man

Rotkraut-Patches

Es gibt eine kleine Sammlung von Patches (-> Link [4]), die erlauben, die Absenderadresse in einer normalen X-Resource "mailAddress" zu setzen, und beheben ein paar QP-Probleme.
Allerdings hat knews auch mit diesen Patches Probleme mit Umlauten im Subject (und mit UTF-8 sowieso).

Konfiguration

knews bezieht automatisch die Postings von demjenigen Newsserver, der in der Systemvariable "NNTPSERVER" hinterlegt wurde.
Dies wird am einfachsten in der Datei ~/.bashrc (falls die Shell Bash benutzt wird) wie folgt getätigt:

  # Variable fuer News
  # bei Benutzung eines lokalen Servers wie leafnode
  export NNTPSERVER=localhost

bzw.

  # Variable für News
  # der T-Online-Server wird direkt abgefragt
  export NNTPSERVER=news.t-online.de

Des weiteren kann der zu verwendete Newsserver auch in den X Ressources angegeben werden, wobei diese die Angaben aus der Datei NNTPSERVER überschreiben:

  [Datei ~/.Xresources]

  Knews.nntpServer: news.t-online.de

Sollten Probleme nach dem Anlegen der Datei "~/.Xresources" bei knews auftreten, hilft das einmalige Kommando

  sudo xrdb -merge ~/.Xresources

Am besten funktioniert knews in einer reinen 8859-1-Umgebung. Da nämlich die Benutzung von Umlauten mit diesem Reader besondere Beachtung benötigt.
Die beiden Haupt-Konfigurationsdateien sind Folgende:

  • ~/.knews/config-%s
  • /etc/X11/app-defaults/Knews

%s=der Name des verwendeten Newsservers (kann auch localhost sein bei Verwendung eines lokalen Newsservers)

Diese werden bei der Installation automatisch mit angelegt, für eine individuelle Konfiguration ist aber nur die
"config-%s" von Belang. Bei Benutzern von lokalen Newsservern wie z.B. leafnode heißt diese Datei "config-localhost" Hier eine Beispielkonfiguration für diese Datei:

  *attribution:		Am %d %y um %t Uhr schrieb %r:
  *signatureFile:	~/.signature
  *organization:        private
  *fullName:		$Vorname $Nachname
  *mailName:            $E-Mail-From-Adresse
  *extraHeaders:	Content-Type: text/plain; charset=iso-8859-1\nX-Face: $X-Face-Code
  *defaultCharset:	iso-8859-1

Zur Erklärung:

  • attribution: Die Einleitungszeile wird hierdurch so festgelegt:
    "Am 22 Nov 2009 um 15:52:31 Uhr schrieb Uwe Premer:"
    Dazu unten mehr...
  • in der Datei .signature im Homeverzeichnis sollte eine bis zu 4-zeilige Signatur hinterlegt werden
  • organization: hiermit wird der Organization-Header festgelegt
  • fullName: hiermit wird der Realname des Froms festgelegt
  • mailName: dies legt die E-Mail-Adresse im From fest
  • extraHeaders: hier wird die Zeichensatz-Kodierung festgelegt sowie können hier eigene, zusätzliche Header festgelegt werden wie z. B. der X-Face-Header. Dieser muß im übrigen wie folgt escaped werden: " und \ müssen mit \ (davor) maskiert werden. Jede neue Headerzeile wird durch ein "\n" davor per Zeilenumbruch später im Posting in eine neue Zeile geschrieben.
  • der "defaultCharset" sollte wie oben angegeben "iso-8859-1" sein, kann aber während des Postens noch manuell geändert werden. Benutzt man eine UTF-8-Umgebung für das Linux-System, kann man beim Posten im Body Umlaute benutzen und den Charset-Header auf UTF-8 ändern. Jedoch darf das Subjekt nie Umlaute enthalten.

Einleitungszeile

für die Einleitungszeile stehen viele Variablen zur Verfügung:

  \n    ein Zeilenumbruch,
  %%    %
  %d    Das Datum des Bezugsartikels in der Form "01 Jan",
  %f    Das From von dem Bezugsartikel,
  %i    Die Initialen des Vorposters,
  %I    Die Initialen des Vorposters in Großbuchstaben,
  %m    Die Message-ID des Bezugsartikels,
  %n    Die aktuelle Newsgruppe,
  %r    Der Realname des Vorposters,
  %s    Das Subjekt des Bezugsartikels,
  %t    Die Zeitangabe des Bezugsartikels in der Form "18:24:02",
  %w    Der Wochentag des Bezugsartikels,
  %y    Das Jahr des Bezugsartikels,
  Folgendes '%w, %d %y %t GMT' ergibt das Datum im Standard rfc822 format.

(Quelle: übersetzt aus der knews-Manpage)

Weiters von Belang ist die Datei "~/.Xresources", hier wird der Lokalpart der From-E-Mail-Adresse wie folgt eingetragen:

  Knews.mailName: $Email-Lokalpart

Alternativ kann für diesen Zweck auch eine Datei "~/.Xdefaults" verwendet werden (je nach Linux-System).
Erst mit diesen Einstellungen und Einkompilierung des Domainparts des E-Mail-Froms erzeugt knews keinen häßlichen Senderheader mehr.

Features

knews bietet trotz des veralteten Programmcodes eine Menge nützlicher Features, die durchaus heute noch aktuell sind. Diese Features sind größtenteils über die Programm-Menü-Buttons "Post" und "Misc" erreichbar.

        Menü "Misc": Menü "Post":

Doch zunächst folgendes Features:

Threading

knews kann Threads dementsprechend anzeigen, wenn in der Nachrichtenliste das OP angeklickt wurde und dann der Button "View Thread" gedrückt wird. Das sieht dann so aus:

ignore subthread

Dies ist eine sehr praktische Funktion in längeren Threads, in denen ein Unterfaden thematisch uninteressant wird und allzusehr abschweift. Einstellbar über:
Artikelansicht, Button "Kill" und dann Scope "Subthread". Setzt dann alle Artikel, die in den References von dem gerade gelesenen abhängen, auf "ignore".

X-Face-Unterstützung

knews kann sowohl X-Faces anzeigen (bei entsprechender Kompilieroption) als auch Solche senden. Die Anzeige von X-Faces beherrscht allerdings nur die selbstkompilierte Version, wenn, wie oben bereits aufgeführt, die Library "COMPFACE_LIB" mit einkompiliert wurde.
Das Senden von X-Faces im Header wurde oben bereits beschrieben.

Canceln

Eigene Artikel können über den Button "Post" mit dem Menüpunkt "Cancel article" gecancelt werden. Eine Cancel-Message enthält dann folgende Angaben:

  [Header]
  Subject: cmsg cancel <MID>

  [body]
  Article canceled from within knews.  [put reason here]

Supersedes

Eigene Artikel können überschrieben werden mittels Button "Post" und anschliessendem Menüpunkt "Supersede article".

Anzeige aller Headerzeilen

Dort, wo knews den Inhalt eines Postings anzeigt, kann er auch die kompletten Header anzeigen.
Dies geschieht per Button "Misc" und Menüpunkt "Full Header"

ROT13

EntROTen einer Textpassage eines vorhandenen Postings ist ganz einfach: zuerst das Posting anklicken und anzeigen lassen, dann auf den Button "Misc" und anschliessend auf den Menüpunkt "ROT13" klicken. Hier wird dann allerdings das komplette Postings inkl. der angezeigten Header entROTet.

Das ROTen in einem zu sendenden Posting hängt ab vom verwendeten Editor.
Hier die ROT13-Beschreibung für vim:

Du drückst auf "g" drueckst, dann auf ? und dann einen Bewegungsbefehl eingibst. Vim ROTet dann von der aktuellen Cursorposition bis zum Ziel des Bewegungsbefehls. Dieses {motion} wird Dir in den Helpfiles noch Öfter begegnen.

Beispiele:

        Bis zum naechsten Satzende:     g?)
        Ein Wort:                       g?w
        Ein Absatz:                     g?}
        Bis zum Ende des Files:         g?G 

Artikelsuche per Message-ID

Innerhalb einer Newsgroup ist es möglich, mittels Message-ID nach einem Artikel dort zu suchen und sich dieses Posting anzeigen zu lassen: -> Button "Misc"->Menüpunkt "Message-ID Lookup". Dieser Menüunkt unter "Misc" steht nur nach dem Öffnen einer Gruppe zur Verfügung.

Allgemeine Artikelsuche

Ebenfalls nur nach Öffnen einer Gruppe steht die Allgemeine Artikelsuche zur Verfügung mittels Button "Search..."; ansonsten ist dieser ausgegraut. Hier stehen dann einige Suchoptionen zur Verfügung. Sollten mehrere Ergebnisse existieren, wird das erste mögliche Ergebnis angezeigt und mittels nochmaligen Klick auf den "Search"-Button werden die weiteren Ergebnisse angezeigt.
Der folgende Screenshot zeigt alle Suchmöglichkeiten:

Killfile/Scoring

knews beherrscht Killfiling für die aktuelle Newsgruppe. Hierzu gibt es den Button "Kill..". Vorher solltest du auf einen betreffenden Artikel klicken und diesen öffnen. Dann auf den oben genannten Button klicken, der ein folgendes Popup öffnet:

Hier gibt es die Möglichkeit für folgende Filterkriterien:

Support für mehrere Newsserver

knews unterstützt die Abfrage mehrerer Newsserver.

Weiterführende Links

» Zu knews gibt es auch eine passende deutsch-sprachige Newsgroup:

Autor: Uwe Premer - 25.11.2009

ABC-Wiki-Team » Kompendium » Newsreader » knews


Kategorie(n):
Bewerte diesen Artikel

4 stars Bewertung 4.0/5 aus 3 Bewertungen


Facebook Besuche uns bei Facebook, um unsere Artikel zu kommentieren