Come Usare Emacs Come Lettore USENET Con Gnus

Lettore Usenet Emacs Gnus

USENET è un sistema di messaggistica globale decentralizzato. È considerato il primo social network globale con oltre 100.000 gruppi che discutono vari argomenti e specializzazioni. Questo rende USENET un repository particolarmente buono di conoscenza e discussione per il lettore interessato.

Indice dei Contenuti

  • Cos’è gnus?
  • Perché usare un lettore di notizie in Emacs?
  • Installazione di gnus
  • Configurazione di gnus per leggere i gruppi USENET
  • Uso di base
  • Domande Frequenti

Leggi anche: Come Usare Emacs per Suonare Musica con EMMS

Cos’è gnus?

Nonostante il declino di USENET negli ultimi anni, ci sono ancora persone che lo usano per ospitare discussioni e condividere notizie. La maggior parte degli utenti di USENET al giorno d’oggi interagisce con la rete attraverso il sito web di Google Gruppi. Se stai usando Emacs, tuttavia, c’è un modo per visualizzare i gruppi di notizie USENET attraverso di esso.

Lettore Gnus 01 Elenco Gruppi di Notizie

Gnus è un pacchetto di Emacs progettato per leggere i gruppi di notizie. È un programma ricco che ha molte funzionalità potenti che rendono la lettura delle notizie facile e conveniente. Inoltre, essendo all’interno di Emacs, l’utente può facilmente manipolare il testo all’interno dei post e usarlo con il resto del sistema Emacs.

Perché usare un lettore di notizie in Emacs?

Emacs è sempre stato pubblicizzato come il lavandino della versatilità. Non solo perché ha molti pacchetti e funzionalità extra, ma è anche molto facile estendere le funzioni di base di Emacs al di fuori della modifica del testo.

Emacs opera sull’idea di interoperabilità. Questa idea consente a Emacs di utilizzare i suoi pacchetti per formare un ambiente completo in cui puoi creare testo e modificarlo in modi diversi.

Lettore Gnus 02 Interoperabilità Emacs

Ad esempio, Emacs viene fornito con il proprio gestore di file: dired, un semplice pacchetto Emacs che ti consente di attraversare una struttura di directory e aprire file. Tuttavia, a differenza di altri gestori di file, dired visualizza i suoi risultati come testo.

Se stai anche usando Org Mode per il journaling, puoi copiare quel testo e creare collegamenti elaborati da dired all’interno dei tuoi file Org.

Lettore Gnus 03 Dired

Con la capacità di Emacs di utilizzare l’output di testo di un pacchetto come input in un altro pacchetto, rende un lettore di notizie come gnus inestimabile per l’ecosistema di Emacs.

Questo ti consente, ad esempio, di copiare un passaggio di testo da un post di notizie, quindi inserire quel testo in Org Mode e aggiungerlo come voce di diario, post in agenda o cattura di idee.

Leggi anche: 5 Pacchetti Emacs Utili per Maggiore Produttività

Installazione di gnus

Gnus è incluso in ogni installazione predefinita di Emacs dalla Versione 19.32. Se stai usando una versione recente di Emacs, è probabile che venga già fornito con gnus.

Lettore Gnus 04 Gnus Integrato

Puoi controllare se gnus è installato nel sistema premendo Alt + X e digitando gnus. Questo caricherà una versione bare e non configurata di gnus.

Configurazione di gnus per leggere i gruppi USENET

La configurazione iniziale per gnus è relativamente semplice. Devi solo impostare un paio di opzioni nel tuo file init.el per creare un file .newsrc.

Il file .newsrc è un file standard per i lettori di gruppi di notizie situato nella tua directory home. Il suo scopo principale è registrare tutti i gruppi disponibili e sottoscritti in un server USENET.

Inoltre, il file .newsrc funge anche da file di stato che tiene traccia di tutti i post che hai già letto.

Lettore Gnus 05 Elenco Gruppi Usenet

Per creare un file .newsrc, esegui il seguente comando:

touch/home/$USER/.newsrc

Leggi anche: Come Configurare Leafnode come Server USENET Offline

Configurazione Iniziale

Una volta fatto, puoi iniziare a configurare il file init.el, il file di configurazione per Emacs. Per impostazione predefinita, puoi trovare questo file sia in “/home/$USER/.emacs.d/” che in “/home/$USER/.config/emacs.”

Per inizializzare correttamente gnus, devi aggiungere le seguenti righe al file init.el:

(setq user-full-name '"yourusername")  
(setq user-mail-address '"[email protected]")  
(setq gnus-select-method '(nntp "news.eternal-september.org"))
  • Il user-full-name è un’opzione generale che imposta il tuo nome utente in Emacs. Questo sarà il nome che gnus visualizzerà nell’intestazione “Da” quando invii post di notizie.
  • L’user-mail-address è anche un’opzione generale. Simile a user-full-name, dice a gnus di visualizzare questa email nell’intestazione “Da”. Nel mio caso, ho usato un indirizzo email non valido.
  • L’ultima opzione, gnus-select-method, è un’opzione specifica di gnus che dice al lettore di notizie a quale servizio e server connettersi. Nel mio caso, ho selezionato il servizio nntp con “news.eternal-september.org” come mio server.

Lettore Gnus 06 Emacs Init El

Leggi anche: 8 Prompt Bash Utili e Interessanti

Autenticazione Remota USENET

Una cosa importante da notare è che se stai usando un fornitore USENET che richiede autenticazione, devi fornire i dettagli del tuo account in un file authinfo. Questo è il file in cui gnus leggerà i dettagli del server USENET così come il tuo nome utente e password.

Lettore Gnus 07 Emacs Authinfo

Per crearne uno, puoi premere Ctrl + X, Ctrl + F e digitare /home/$USER/.authinfo in Emacs. Questo comando creerà un file .authinfo nella tua directory home e lo aprirà in un buffer.

La sintassi generale del file .authinfo appare così:

machine news.domain.name login yourusername force yes password yourpasswordgoeshere
  • La variabile machine indica che ti stai connettendo a un’altra macchina o server.
  • Il campo domain dice a gnus che questo è l’indirizzo della macchina a cui vuoi connetterti.
  • Il campo login è dove metterai il nome utente del tuo account USENET.
  • L’opzione “force yes” dice a gnus di autenticarti anche se il server non lo richiede.
  • Infine, la variabile password contiene la password del tuo account USENET.

Utilizzo di Server USENET Locali

Inoltre, gnus può anche prendere le sue fonti da un file di spool locale. Questo è utile se hai un servizio che scarica automaticamente i tuoi gruppi di notizie sulla tua macchina locale.

Per farlo, dovrai cambiare l’impostazione nntp nella funzione “gnus-select-method”:

(setq gnus-select-method '(nnspool ""))

Tuttavia, se stai usando Leafnode come tuo server USENET locale, dovrai configurarlo come server NNTP. Questo perché Leafnode si comporta più come un server USENET piuttosto che come una normale directory “/var/spool/”.

Per utilizzare un server Leafnode che sta funzionando nella stessa macchina, puoi digitare quanto segue:

(setq gnus-select-method '(nntp "localhost"))

Fatto ciò, esegui gnus premendo Alt + x e digitando gnus nel buffer dei comandi. Questo caricherà gnus e recupererà tutti i gruppi disponibili nel tuo server USENET remoto.

Leggi anche: Come Ripristinare la Password di Root in Linux

Uso di Base

Una volta che gnus si carica, verrai accolto da uno schermo vuoto. Questo perché, per impostazione predefinita, gnus nasconde tutti i gruppi di notizie che non sono sottoscritti e letti.

Puoi visualizzare un elenco di tutti i gruppi di notizie disponibili nel server USENET premendo Shift + 6. Questo porterà alla schermata del Server per gnus. Nel mio caso, questo ha mostrato tutti i gruppi di notizie disponibili da Eternal September.

Lettore Gnus 08 Gruppi di Notizie Usenet

Sottoscrizione ai Gruppi USENET

Da qui, puoi premere U per iscriverti o disiscriverti a un particolare gruppo di notizie. Questo metterà quel gruppo nella schermata di atterraggio quando avvii gnus per la prima volta.

Ad esempio, mi sono iscritto sia a “alt.religion.emacs” che a “alt.folklore.computers” nella schermata del Server. Una volta ricaricato gnus, ha messo quei due gruppi nella schermata principale per me da sfogliare.

Lettore Gnus 09 Schermata Principale Gnus

Leggi anche: Come Configurare un Server SFTP su Linux

Movimento del Buffer

Da lì, premi Invio per entrare nel gruppo di notizie e usa i tasti di movimento standard di Emacs, come Ctrl + N e Ctrl + P, per scorrere i diversi post nel gruppo.

Lettore Gnus 10 Folklore dei Computer

Puoi anche premere il tasto Invio o Tab per aprire un post e i tasti Backspace e Spazio per scorrere su e giù all’interno del post.

Usa la funzione di ricerca di Emacs (Ctrl + S e Ctrl + R) per passare rapidamente attraverso i post per trovare ciò che desideri.

Pubblicazione e Risposta ai Post USENET

Per creare un nuovo post all’interno di un gruppo di notizie, premi A per aprire un editor di messaggi dove puoi scrivere i dettagli per il tuo post.

Lettore Gnus 11 Nuovo Post

Premi Ctrl + C due volte quando hai finito per inviare il messaggio a quel particolare gruppo di notizie.

Ma se vuoi rispondere a un post in un gruppo, puoi premere Shift + S, Shift + F. Questo avvierà un buffer “Followup” dove gnus ti porterà a un editor di messaggi con il post originale già citato per te.

Lettore Gnus 12 Nuovo Followup

Simile alla pubblicazione di un nuovo messaggio, puoi premere Ctrl + C due volte per inviare il followup a quel post.

Suggerimento: Scopri come puoi usare l’email all’interno di Emacs.

Filtraggio attraverso i File di Punteggio

Gnus ha anche un potente ma semplice sistema di filtraggio che utilizza file di punteggio. È diverso da un normale killfile in cui i post vengono automaticamente “uccisi” quando si colpisce un particolare modello o criterio.

I file di punteggio consentono all’utente di ridurre o aumentare progressivamente il punteggio interno di un particolare post, il che dice a gnus quali post dare priorità e quali nascondere o non estrarre dal server remoto.

Tipi di Filtraggio

Inoltre, gnus ha anche un sistema di filtraggio ricco di funzionalità. Consente all’utente di controllare e perfezionare le varie parti di un particolare filtro.

Lettore Gnus 13 Proprietà del Filtro 1

Ad esempio, se voglio abbassare il punteggio di un particolare post. Posso semplicemente evidenziarlo e premere L. Questo aprirà un piccolo menu nel buffer dei comandi che mi chiederà quale proprietà del post voglio utilizzare come base per il punteggio.

L’elenco delle proprietà è ampio, ma quelle più importanti sono:

  • A per punteggiare in base al nome dell’autore.
  • S per punteggiare in base al testo dell’oggetto.
  • L per punteggiare in base al numero di righe.
  • B per punteggiare in base al corpo del testo.

Nel mio caso, voglio punteggiare questo post in base all’autore del post, quindi ho premuto A.

Metodi per Corrispondere al Filtro

Da lì, gnus ti chiederà il tipo di corrispondenza di stringhe che desideri implementare in questo punteggio. Puoi scegliere tra esatto, sottostringa, fuzzy e espressioni regolari:

  • Esatto utilizza l’intera stringa per corrispondere al testo.
  • Sottostringa utilizza pezzi della stringa per corrispondere al testo. Questo significa che il post non deve avere l’intero testo corrispondente per colpirlo.
  • Fuzzy utilizza un modello predittivo basato sui post precedenti disponibili per il gruppo di notizie. Questo è particolarmente utile per i poster creativi che cercano di eludere la corrispondenza delle sottostringhe utilizzando simboli, numeri e qualsiasi forma di oscuramento del loro testo.
  • Regexp utilizza le più tradizionali espressioni regolari per filtrare il testo.

Lettore Gnus 14 Tipo di Filtro

Nel mio caso, ho selezionato sottostringa quindi ho premuto S.

Leggi anche: 5 Ottimi Helper AUR per Arch Linux

Durata del Filtro

Infine, gnus ti chiederà se desideri che questo punteggio sia temporaneo, permanente o immediato.

  • Temporaneo significa che il punteggio scadrà in una data prestabilita. È utile quando vuoi solo abbassare o aumentare il punteggio di un particolare post o poster per un periodo di tempo limitato.
  • Permanente significa che il punteggio non scadrà. Questo è utile per filtrare gli spammer che potrebbero irrompere nel gruppo.
  • Immediato significa che gnus applicherà il punteggio al buffer corrente senza aggiungerlo al file di punteggio. Questo è utile se vuoi solo filtrare i post ora ma non vuoi punteggiarli in modo persistente.

Lettore Gnus 15 Tempo di Filtro

Nel mio caso, volevo che questo filtro fosse permanente quindi ho premuto P.

Congratulazioni! Hai ora una comprensione di base di come usare gnus come lettore di notizie in Emacs. Inoltre, hai anche un’idea di base di come connetterti a un server USENET autenticato e di come utilizzare correttamente i file di punteggio e il filtraggio.

Tuttavia, se tutta questa conversazione ti ha interessato a saperne di più su Emacs, allora dovresti imparare come installare Doom Emacs.

Leggi anche: Cos’è Doom Emacs e Come Installarlo

Domande Frequenti

Ho scritto un messaggio e non voglio più inviarlo. Come posso annullare il mio post o followup?

Non è noto, ma potrebbe essere possibile annullare il post corrente che stai scrivendo. Per farlo, puoi premere Ctrl + C, Ctrl + D.

È possibile aggiungere più server USENET in gnus?

Sì! Devi solo aggiungere un’altra variabile “gnus-select-method” nel tuo file init.el.

Ad esempio, il tuo file init.el potrebbe apparire così:

(setq user-full-name '"ramcesred") (setq user-mail-address '"[email protected]") (setq gnus-select-method '(nntp "news.eternal-september.org")) (setq gnus-select-method '(nntp "nntp.aioe.org")) (setq gnus-select-method '(nntp "localhost"))

Una volta fatto, basta ricaricare Emacs per ricaricare la tua configurazione di gnus.

Ho letto un articolo, e ora è scomparso dalla mia lista principale. È possibile per me fissare un particolare post quando lo sto seguendo attivamente?

Sì! Puoi farlo utilizzando la funzione gnus-summary-tick-article-forward. Puoi accedere a questa funzione premendo il tasto U mentre quel post è selezionato.

È importante notare, tuttavia, che questo “fisserà” solo questo articolo. Tutte le altre risposte all’interno di quel thread non appariranno per impostazione predefinita. Per farlo, premi Shift + A, Shift + T per ricostruire l’intero thread per quell’argomento.