195 γραμμές
14 KiB
Markdown
195 γραμμές
14 KiB
Markdown
+++
|
||
title = 'Παραμετροποιώντας τον slrn'
|
||
date = '1999-03-01T00:00:00Z'
|
||
description = ''
|
||
author = 'Κώστας Κωτσοκάλης(mailto:C.Kotsokalis@ece.ntua.gr)'
|
||
issue = ['Magaz 14']
|
||
issue_weight = 2
|
||
+++
|
||
|
||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
*Εισαγωγικά: Ο slrn είναι ένας news (usenet) reader. \'Αλλοι news readers που ενδεχομένως έχετε υπόψη και χρησιμοποιείτε είναι το γνωστό module του Netscape
|
||
Communicator, ο knews, ο krn του KDE, ο tin, ο nn, ο News Peruser και άλλοι. Ο slrn ανήκει στον κατηγορία των text-based news readers, δηλαδή μπορείτε να τον
|
||
χρησιμοποιείτε στην κονσόλα ή σε κάποιο xterm. Παρ\'όλο που αυτό εκ πρώτης όψεως είναι απωθητικό στον σημερινό everything-should-be-graphical κόσμο των
|
||
υπολογιστών, στην πραγματικότητα ο slrn είναι εξαιρετικά εργονομικός και χρησιμοποιεί menus τα οποία δεν θα πρέπει να δυσκολέψουν κανέναν. Ο slrn είναι η
|
||
συνήθως η επιλογή των linux users που θέλουν έναν ελαφρύ σε απαιτήσεις news reader, με όλη τη λειτουργικότητα που μπορεί να απαιτεί κανείς αλλά χωρίς τα
|
||
\`\`bells and whistles\'\' των περισσότερων γραφικών news readers. Είναι προφανές πως κάποιοι δεν θα θέλουν να αφήσουν τον γραφικό news reader τους, όμως μια
|
||
δοκιμή νομίζω πως θα τους πείσει ότι ο slrn είναι όλα όσα χρειάζονται.*
|
||
|
||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
**1. Κάτι ακόμα\...**
|
||
--------------------------------------------
|
||
|
||
**2. Λειτουργία offline**
|
||
------------------------------------------------
|
||
|
||
**3. Πολλαπλοί servers**
|
||
-----------------------------------------------
|
||
|
||
**4. Κλείνοντας**
|
||
----------------------------------------
|
||
|
||
|
||
### [1. Κάτι ακόμα\...]{#s1}
|
||
|
||
Στο άρθρο αυτό πρόκειται να μιλήσουμε για το πώς θα κάνουμε τον slrn να υποστηρίζει offline reading \-- πράγμα αναγκαίο με τα εξωφρενικά τιμολόγια του (π)ΟΤΕ
|
||
\-- και επιπλέον πως θα υποστηρίζει πολλαπλούς news servers. Ακόμα θα δώσουμε κάποια hints για την πιο αποδοτική χρήση του και μερικά configuration directives.
|
||
|
||
Για να χρησιμοποιήσετε τον slrn κατ\'αυτόν τον τρόπο θα πρέπει να πάρετε και να κάνετε compile τον slrn καθώς και μια αναγκαία βιβλιοθήκη, την slang. Αυτά
|
||
έρχονται μαζί με τα περισσότερα distributions, αλλά στη RedHat τουλάχιστον που χρησιμοποιώ εγώ λείπουν αναγκαία πράγματα, ενώ οι εκδόσεις του slrn και της slang
|
||
που περιέχονται είναι σχετικά παλιές.
|
||
|
||
Τον πηγαίο κώδικα για αυτά τα δύο θα βρείτε στα:
|
||
|
||
1. <ftp://space.mit.edu/pub/davis/slang/slang1.2.2.tar.gz> ή <ftp://ftp.ntua.gr/pub/lang/slang/slang/slang1.2.2.tar.gz>
|
||
2. <ftp://space.mit.edu/pub/davis/slrn/slrn0.9.5.4.tar.gz> ή <ftp://ftp.ntua.gr/pub/lang/slang/slrn/slrn0.9.5.4.tar.gz>
|
||
|
||
|
||
### [2. Λειτουργία offline]{#s2}
|
||
|
||
Για να διαβάσετε τα newsgroups που σας ενδιαφέρουν offline, πρέπει να εγκαταστήσετε και το slrnpull που συνοδεύει τον slrn (τα sources του βρίσκονται στο ίδιο
|
||
αρχείο με αυτά του slrn). Αφού κάνετε compile και εγκαταστήσετε την slang, τον slrn και το slrnpull (οδηγίες για αυτά θα βρείτε στα READMEs, INSTALLs κλπ που
|
||
συνοδεύουν τον πηγαίο κώδικα), πρέπει να κάνετε τα παρακάτω.
|
||
|
||
Έστω ότι έχετε ένα μόνο news server από τον οποίο διαβάζετε άρθρα. Τότε, φτιάχνετε τον κατάλογο /var/spool/slrnpull και μέσα σε αυτόν φτιάχνετε ένα αρχείο με
|
||
όνομα slrnpull.conf με την παρακάτω μορφή:
|
||
|
||
# default: katebase ews 2000 articles apo ton news server, krathse
|
||
# ta 30 meres prin to expire.
|
||
default 2000 30
|
||
|
||
# newsgroup entries
|
||
newsgroup1
|
||
newsgroup2
|
||
newsgroup3
|
||
|
||
\...όπου αντί για newsgroup\[1,2,3\] βάζετε τα ονόματα των newsgroups που σας ενδιαφέρουν, π.χ. comp.os.linux.kernel, comp.lang.c, soc.culture.greek,
|
||
comp.unix.programmer κ.ο.κ. Στη συνέχεια φτιάχνετε στο home directory σας ένα αρχείο με το όνομα .slrnrc στο οποίο βάζετε τις εξής επιλογές:
|
||
|
||
set spool_inn_root "/var/spool/slrnpull"
|
||
set spool_root "/var/spool/slrnpull/news"
|
||
set spool_nov_root "/var/spool/slrnpull/news"
|
||
set use_slrnpull 1
|
||
set read_active 1
|
||
set server_object "spool"
|
||
|
||
Αυτά δεν είναι τα μόνα options που μπορείτε να βάλετε στο .slrnrc σας, υπάρχουν πάρα πολλά ακόμα που ρυθμίζουν την συμπεριφορά του slrn σχεδόν όσο εσείς θέλετε.
|
||
Στη συνέχεια του άρθρου θα δώσουμε κάποια τέτοια options που ο υπογράφων έχει βρει χρήσιμα.
|
||
|
||
Αν έχετε κάνει τα παραπάνω, τρέξτε
|
||
|
||
slrnpull -d /var/spool/slrnpull -h {news_server}
|
||
|
||
, όπου {news\_server} το hostname του news server σας. Τότε θα έρθουν για πρώτη φορά όλα τα άρθρα που περιλαμβάνονται στα newsgroups που ορίσατε στο
|
||
slrnpull.conf, ενώ από εκεί και πέρα κάθε φορά που θα δίνετε την παραπάνω εντολή θα έρχονται μόνο τα καινούργια άρθρα. Μην ξεχνάτε που και που να τρέχετε την
|
||
εντολή ` slrnpull -d /var/spool/slrnpull --expire` που αναλαμβάνει να σβήσει τα άρθρα που είναι παλαιότερα από τον αριθμό των ημερών
|
||
που έχετε ορίσει στο slrnpull.conf. Αφού τρέξετε το slrnpull, δώστε \`\`slrn -create\'\' και μετά \`\`slrn -C\'\' και θαυμάστε τα αποτελέσματα.
|
||
|
||
Προτείνουμε να διαβάσετε και λίγο παρακάτω πριν τρέξετε τον slrn, για να δείτε τι άλλες επιλογές μπορείτε να βάλετε στο .slrnrc και επομένως να τον
|
||
χρησιμοποιήσετε από τον αρχή με όλη του τη λειτουργικότητα.
|
||
|
||
|
||
### [3. Πολλαπλοί servers]{#s3}
|
||
|
||
Για να διαβάζετε από πολλούς news servers πρέπει να κάνετε τα εξής:
|
||
|
||
1. Αντί για ένα μόνο directory κάτω από το /var/spool φτιάχνετε ένα για κάθε news server. Έτσι θα πρέπει να έχετε τα directories /var/spool/newsserver1,
|
||
/var/spool/newsserver2, κλπ, όπου αντί για newsserver1, newsserver2 μπορείτε να βάλετε τα ονόματα που θέλετε.
|
||
2. Σε κάθε ένα από αυτά τα directories φτιάχνετε ένα slrnpull.conf αρχείο όπως πιο πάνω, με τα groups που θέλετε κάθε φορά και ανάλογα με τον news server στον
|
||
οποίο αντιστοιχεί το configuration file.
|
||
3. Φτιάχνετε περισσότερα από ένα .slrnrc αρχεία στο home direstory σας, π.χ. .slrnrc.ns1, .slrnrc.ns2, κλπ, οπού και πάλι αντί για ns1, ns2,\... μπορείτε να
|
||
έχετε όποιο όνομα επιθυμείτε (για μνημονικούς λόγους). Σε κάθε ένα από αυτά αλλάζετε μόνο τα spool\_inn\_root, spool\_root και spool\_nov\_root ανάλογα με
|
||
τον news server στον οποίο αντιστοιχεί το configuration file. Επίσης φτιάχνετε κενά αρχεία με ονόματα .jnewsrc.ns1, .jnewsrc.ns2, κοκ.
|
||
4. Εάν επιθυμείτε και για λόγους ταχύτητας φτιάχνετε aliases όπως τα παρακάτω:
|
||
1. `alias sp "slrnpull -d /var/spool/newsserver1 -h news_server1_hostname; slrnpull -d /var/spool/newsserver2 -h news_server2_hostname"`
|
||
(προφανώς βάζετε ένα entry για κάθε news server, οπότε δίνοντας απλά \`\`sp\'\' έρχονται τα νέα άρθρα από όλους τους news servers σας\... Εναλλακτικά
|
||
μπορείτε να φτιάξετε και κάποιο script για αυτή τη δουλειά).
|
||
2. `alias ns1 "cd $HOME; \cp .slrnrc.ns1 .slrnrc; \cp .jnewsrc.ns1 .jnewsrc; slrn -C; \cp .jnewsrc .jnewsrc.ns1"`
|
||
3. `alias ns2 "cd $HOME; \cp .slrnrc.ns2 .slrnrc; \cp .jnewsrc.ns2 .jnewsrc; slrn -C; \cp .jnewsrc .jnewsrc.ns2"`
|
||
4. `alias ns3 "cd $HOME; \cp .slrnrc.ns3 .slrnrc; \cp .jnewsrc.ns3 .jnewsrc; slrn -C; \cp .jnewsrc .jnewsrc.ns3"`
|
||
|
||
Στη συνέχεια, δίνοντας τα παραπάνω aliases, έχετε κάτι σαν \`\`έναν slrn για κάθε news server\'\'.
|
||
|
||
|
||
### [4. Κλείνοντας]{#s4}
|
||
|
||
Έχοντας κάνει τα παραπάνω θα πρέπει να έχετε τον slrn παραμετροποιημένο για offline reading και πολλαπλούς news servers. Ακόμα όμως και αν δεν σας ενδιαφέρουν
|
||
αυτά τα δύο (leased line? direct internet connection?), μπορείτε να χρησιμοποιήσετε τον slrn για να διαβάζετε news. Απλά φτιάχτε ένα .slrnrc file και τρέξτε
|
||
slrn.
|
||
|
||
Έτσι ή αλλιώς, θα χρειαστείτε κάποια επιπλέον configuration options στο .slrnrc σας. Κάποια τέτοια είναι τα παρακάτω:
|
||
|
||
# Oi parakatw tesseris grammes einai gia na orisete to onoma sas kai na
|
||
# mhn fainetai san root@localhost.localdomain
|
||
hostname "ece.ntua.gr"
|
||
set username "C.Kotsokalis"
|
||
set replyto "C.Kotsokalis@ece.ntua.gr"
|
||
set realname "Constantinos A. Kotsokalis"
|
||
|
||
# O xairetismos sta follow-ups
|
||
set followup "On %d, %r wrote:"
|
||
|
||
# Oi browsers pou tha anoigoun analoga me to pws trexete
|
||
# ton slrn. Gia ta deite ta URLs pou periexontai se ena
|
||
# article, patate ``U'' (kefalaio).
|
||
set Xbrowser "netscape -remote 'openURL(%s)' &"
|
||
set non_Xbrowser "lynx %s"
|
||
|
||
# Apo poy erxeste...
|
||
set organization "National Technical University of Athens"
|
||
|
||
# Opws prin, gia offline reading. An den to xrhsimopoieite,
|
||
# oi epomenes 6 grammes mporoun na fygoun apo edw.
|
||
set spool_inn_root "/var/spool/slrnpull"
|
||
set spool_root "/var/spool/slrnpull/news"
|
||
set spool_nov_root "/var/spool/slrnpull/news"
|
||
set use_slrnpull 1
|
||
set read_active 1
|
||
set server_object "spool"
|
||
|
||
# MIME & swsta charsets
|
||
set use_mime 1
|
||
set mime_charset "iso-8859-7"
|
||
|
||
# Gia na epitrepei na stelnete articles me grammes pou exoun
|
||
# perissoteres apo 80 sthles
|
||
set reject_long_lines 2
|
||
|
||
# Gia na mhn baraei synexeia to bell alla na kanei flash
|
||
set beep 2
|
||
|
||
# Gia na deixnei belos anti gia mpara
|
||
set display_cursor_bar 0
|
||
|
||
# Gia na mhn sas rwtaei gia OTI pate na kanete
|
||
set confirm_actions 0
|
||
|
||
# Sorting method: Prwta kanei to threading twn articles,
|
||
# kai meta ta ta3inomei me bash thn hmeromhnia apostolhs,
|
||
# to pio palio paei prwto sth lista.
|
||
set sorting_method 11
|
||
|
||
# Gia na mhn rwtaei posa arthra na ferei, an o ari8mos tous
|
||
# 3epernaei to noumero pou orizete edw. An orisete otidhpote
|
||
# ektos apo 0, estw X, kai ta nea ar8ra se kapoio group einai
|
||
# perissotera apo X, tha sas rwthsei posa na ferei (me default
|
||
# X). Bazontas 0 fernei ola ta nea ar8ra, osa kai an einai.
|
||
set query_read_group_cutoff 0
|
||
|
||
# Automath xrhsh tou metamail otan xreiazetai, prepei
|
||
# na to exete egkatasthsei.
|
||
set use_metamail 1
|
||
|
||
# An diabazete news ws root, prepei na balete thn parakatw
|
||
# grammh gia na trexei to metamail swsta.
|
||
set metamail_command "metamail -r"
|
||
|
||
Υπάρχουν ακόμα πάρα πολλά options που μπορείτε να χρησιμοποιήσετε, και θα τα βρείτε στα sample files που συνοδεύουν τον slrn. Για παράδειγμα, μπορείτε να
|
||
ορίσετε ότι χρώματα θέλετε, όπως επίσης και τον τρόπο με τον οποίο ο slrn κάνει scoring στα άρθρα που διαβάζει. Το scoring είναι μια μέθοδος για να
|
||
κατηγοριοποιεί τα άρθρα ανάλογα με τη σημασία τους, και με βάση διάφορα κριτήρια που εσείς ορίζετε. Πρόκειται για ένα από τα πιο δυνατά σημεία του slrn, το
|
||
οποίο όμως είναι κάπως πιο προχωρημένο. Όταν με το καλό εντρυφήσετε στα υπόλοιπα, ρίχτε του μια ματιά.
|
||
|
||
Καλή ανάγνωση!!!
|
||
|