Computer >> คอมพิวเตอร์ >  >> ระบบ >> Linux

วิธีใช้ Emacs เป็นโปรแกรมอ่าน USENET ด้วย Gnus

วิธีใช้ Emacs เป็นโปรแกรมอ่าน USENET ด้วย Gnus

USENET เป็นระบบการส่งข้อความทั่วโลกที่กระจายอำนาจ ถือเป็นเครือข่ายโซเชียลระดับโลกแห่งแรกที่มีกลุ่มมากกว่า 100,000 กลุ่มที่พูดคุยเกี่ยวกับหัวข้อและความเชี่ยวชาญพิเศษต่างๆ ทำให้ USENET เป็นคลังความรู้และการอภิปรายที่ดีเป็นพิเศษสำหรับผู้อ่านที่สนใจ

รับไฟล์ข้อความและไบนารีหลายพันล้านไฟล์ กลุ่มข่าวกว่า 110,000 กลุ่ม ประหยัด 58% สำหรับ NewsHosting ตอนนี้!

Gnus คืออะไร

แม้ว่า USENET จะลดลงในช่วงไม่กี่ปีที่ผ่านมา แต่ก็ยังมีคนที่ใช้เพื่อปิดบังการสนทนาและแบ่งปันข่าวสาร ผู้ใช้ USENET ส่วนใหญ่ในปัจจุบันติดต่อกับเครือข่ายผ่านทางเว็บไซต์ Google Groups หากคุณกำลังใช้ Emacs มีวิธีดูกลุ่มข่าว USENET ผ่านมัน

วิธีใช้ Emacs เป็นโปรแกรมอ่าน USENET ด้วย Gnus

Gnus เป็นแพ็คเกจ Emacs ที่ออกแบบมาเพื่ออ่านกลุ่มข่าว เป็นโปรแกรมที่เพียบพร้อมด้วยคุณสมบัติอันทรงพลังมากมายที่ทำให้การอ่านข่าวเป็นเรื่องง่ายและสะดวก นอกจากนี้ เมื่ออยู่ภายใน Emacs ผู้ใช้สามารถจัดการข้อความภายในโพสต์และใช้กับส่วนที่เหลือของระบบ Emacs ได้อย่างง่ายดาย

เหตุใดจึงควรใช้โปรแกรมอ่านข่าวใน Emacs

Emacs ได้รับการขนานนามว่าเป็นอ่างล้างจานในครัวที่มีความสามารถในการขยายได้ ไม่เพียงเพราะมันมีแพ็คเกจและคุณสมบัติพิเศษมากมาย แต่ยังง่ายต่อการขยายฟังก์ชันพื้นฐานของ Emacs นอกเหนือจากการแก้ไขข้อความ

Emacs ดำเนินการตามแนวคิดของการทำงานร่วมกัน แนวคิดนี้ทำให้ Emacs ใช้แพ็คเกจเพื่อสร้างสภาพแวดล้อมที่สมบูรณ์ ซึ่งคุณสามารถสร้างข้อความและเปลี่ยนแปลงได้หลายวิธี

วิธีใช้ Emacs เป็นโปรแกรมอ่าน USENET ด้วย Gnus

ตัวอย่างเช่น Emacs มาพร้อมกับตัวจัดการไฟล์:dired ซึ่งเป็นแพ็คเกจ Emacs แบบง่ายที่ให้คุณสำรวจโครงสร้างไดเรกทอรีและเปิดไฟล์ได้ อย่างไรก็ตาม ไม่เหมือนกับตัวจัดการไฟล์อื่น ๆ ที่ dired จะแสดงผลลัพธ์เป็นข้อความ

หากคุณใช้ Org Mode สำหรับการทำเจอร์นัล คุณสามารถคัดลอกข้อความนั้นและสร้างลิงก์ที่ซับซ้อนจาก dired ภายในไฟล์ Org ของคุณได้

วิธีใช้ Emacs เป็นโปรแกรมอ่าน USENET ด้วย Gnus

ด้วยความสามารถของ Emacs ในการใช้เอาต์พุตข้อความของแพ็คเกจเป็นอินพุตในแพ็คเกจอื่น มันทำให้ผู้อ่านข่าวอย่าง gnus มีค่าต่อระบบนิเวศของ Emacs

ตัวอย่างเช่น ช่วยให้คุณสามารถคัดลอกข้อความจากโพสต์ข่าว จากนั้นใส่ข้อความนั้นในโหมดองค์กร และเพิ่มเป็นรายการบันทึกประจำวัน โพสต์กำหนดการ หรือการจับภาพไอเดีย

กำลังติดตั้ง gnus

Gnus มาในการติดตั้งเริ่มต้นของ Emacs ทุกครั้งตั้งแต่เวอร์ชัน 19.32 หากคุณกำลังใช้ Emacs เวอร์ชันล่าสุด เป็นไปได้ว่าโปรแกรมดังกล่าวจะมาพร้อมกับ gnus อยู่แล้ว

วิธีใช้ Emacs เป็นโปรแกรมอ่าน USENET ด้วย Gnus

คุณสามารถตรวจสอบว่ามีการติดตั้ง gnus ในระบบหรือไม่โดยกด Alt + X แล้วพิมพ์ gnus . การดำเนินการนี้จะโหลด gnus เวอร์ชันเปล่าที่ไม่ได้กำหนดค่า

การตั้งค่า gnus เพื่ออ่านกลุ่ม USENET

การตั้งค่าเริ่มต้นสำหรับ gnus ค่อนข้างตรงไปตรงมา คุณต้องตั้งค่าสองสามตัวเลือกในไฟล์ init.el เพื่อสร้างไฟล์ .newsrc

ไฟล์ .newsrc เป็นไฟล์มาตรฐานสำหรับผู้อ่านกลุ่มข่าวสารที่อยู่ในโฮมไดเร็กทอรีของคุณ วัตถุประสงค์หลักคือเพื่อบันทึกกลุ่มที่มีอยู่และสมัครรับข้อมูลทั้งหมดในเซิร์ฟเวอร์ USENET

นอกจากนี้ ไฟล์ .newsrc ยังทำหน้าที่เป็นไฟล์สถานะที่ติดตามโพสต์ทั้งหมดที่คุณอ่านแล้ว

วิธีใช้ Emacs เป็นโปรแกรมอ่าน USENET ด้วย Gnus

ในการสร้างไฟล์ .newsrc ให้รันคำสั่งต่อไปนี้:

touch /home/$USER/.newsrc

การกำหนดค่าเริ่มต้น

เมื่อเสร็จแล้ว คุณสามารถเริ่มตั้งค่าไฟล์ init.el ซึ่งเป็นไฟล์กำหนดค่าสำหรับ Emacs โดยค่าเริ่มต้น คุณสามารถค้นหาไฟล์นี้ได้ใน “/home/$USER/.emacs.d/” หรือ “/home/$USER/.config/emacs”

ในการเริ่มต้น gnus อย่างถูกต้อง คุณต้องเพิ่มบรรทัดต่อไปนี้ในไฟล์ init.el:

  (setq user-full-name '"yourusername")
  (setq user-mail-address '"yourname@email.invalid")
  (setq gnus-select-method '(nntp "news.eternal-september.org"))
  • ชื่อผู้ใช้เต็ม เป็นตัวเลือกทั่วไปที่กำหนดชื่อผู้ใช้ของคุณใน Emacs นี่จะเป็นชื่อที่ gnus จะแสดงในส่วนหัว "จาก" ของคุณเมื่อคุณส่งโพสต์ข่าวสาร
  • ที่อยู่อีเมลผู้ใช้ ยังเป็นทางเลือกทั่วไป คล้ายกับชื่อผู้ใช้เต็ม มันบอกให้ gnus แสดงอีเมลนี้ในส่วนหัว "จาก" ของคุณ ในกรณีของฉัน ฉันส่งที่อยู่อีเมลที่ไม่ถูกต้อง
  • ตัวเลือกสุดท้าย gnus-select-method เป็นตัวเลือกเฉพาะของ gnus ที่จะบอกผู้อ่านข่าวว่าต้องเชื่อมต่อบริการและเซิร์ฟเวอร์ใด ในกรณีของฉัน ฉันเลือกบริการ nntp ที่มี “news.eternal-september.org” เป็นเซิร์ฟเวอร์ของฉัน
วิธีใช้ Emacs เป็นโปรแกรมอ่าน USENET ด้วย Gnus

การตรวจสอบสิทธิ์ USENET ระยะไกล

สิ่งสำคัญประการหนึ่งที่ควรทราบคือ หากคุณใช้ผู้ให้บริการ USENET ที่ต้องการการรับรองความถูกต้อง คุณต้องระบุรายละเอียดบัญชีของคุณในไฟล์ authinfo นี่คือไฟล์ที่ gnus จะอ่านรายละเอียดเซิร์ฟเวอร์ USENET รวมทั้งชื่อผู้ใช้และรหัสผ่านของคุณ

วิธีใช้ Emacs เป็นโปรแกรมอ่าน USENET ด้วย Gnus

ในการสร้าง คุณสามารถกด Ctrl + X , Ctrl + F และพิมพ์ /home/$USER/.authinfo ในอีแมค คำสั่งนี้จะสร้างไฟล์ .authinfo ในโฮมไดเร็กตอรี่ของคุณและเปิดขึ้นมาในบัฟเฟอร์

ไวยากรณ์ทั่วไปของไฟล์ .authinfo มีลักษณะดังนี้:

machine news.domain.name login yourusername force yes password yourpasswordgoeshere
  • เครื่อง เครื่อง ตัวแปรระบุว่าคุณกำลังเชื่อมต่อกับเครื่องหรือเซิร์ฟเวอร์อื่น
  • โดเมน ฟิลด์ชื่อจะบอก gnus ว่านี่คือที่อยู่ของเครื่องที่คุณต้องการเชื่อมต่อ
  • การเข้าสู่ระบบ ฟิลด์เป็นที่ที่คุณจะใส่ชื่อผู้ใช้ของบัญชี USENET ของคุณ
  • The “บังคับใช่” ตัวเลือกบอกให้ gnus ตรวจสอบสิทธิ์คุณแม้ว่าเซิร์ฟเวอร์จะไม่ต้องการมันก็ตาม
  • สุดท้าย รหัสผ่าน ตัวแปรมีรหัสผ่านสำหรับบัญชี USENET ของคุณ

การใช้เซิร์ฟเวอร์ USENET ในเครื่อง

นอกจากนี้ gnus ยังสามารถดึงแหล่งที่มาจากไฟล์สปูลในเครื่องได้ สิ่งนี้มีประโยชน์หากคุณมีบริการที่ดาวน์โหลดกลุ่มข่าวของคุณไปยังเครื่องในพื้นที่ของคุณโดยอัตโนมัติ

ในการทำเช่นนั้น คุณจะต้องเปลี่ยนการตั้งค่า nntp ในฟังก์ชัน “gnus-select-method”:

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

อย่างไรก็ตาม หากคุณใช้ Leafnode เป็นเซิร์ฟเวอร์ USENET ในเครื่อง คุณจะต้องตั้งค่าเป็นเซิร์ฟเวอร์ NNTP เนื่องจาก Leafnode มีลักษณะการทำงานเหมือนเซิร์ฟเวอร์ USENET มากกว่าไดเร็กทอรี “/var/spool/” ปกติ

หากต้องการใช้เซิร์ฟเวอร์ Leafnode ที่ทำงานอยู่ในเครื่องเดียวกัน คุณสามารถพิมพ์ดังต่อไปนี้:

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

เมื่อเสร็จแล้ว ให้เรียกใช้ gnus โดยกด Alt + x แล้วพิมพ์ gnus ในบัฟเฟอร์คำสั่ง การดำเนินการนี้จะโหลด gnus และดึงข้อมูลกลุ่มทั้งหมดที่มีอยู่ในเซิร์ฟเวอร์ USENET ระยะไกลของคุณ

การใช้งานพื้นฐาน

เมื่อโหลด gnus แล้ว คุณจะพบกับหน้าจอว่างเปล่า นี่เป็นเพราะโดยค่าเริ่มต้น gnus จะซ่อนกลุ่มข่าวทั้งหมดที่ไม่ได้สมัครรับข้อมูลและอ่านแล้ว

คุณสามารถดูรายชื่อกลุ่มข่าวทั้งหมดที่มีอยู่ในเซิร์ฟเวอร์ USENET ได้โดยกด Shift + 6 . นี่จะแสดงหน้าจอเซิร์ฟเวอร์สำหรับ gnus ในกรณีของฉัน กลุ่มข่าวที่มีอยู่ทั้งหมดเริ่มตั้งแต่เดือนกันยายนเป็นต้นไป

วิธีใช้ Emacs เป็นโปรแกรมอ่าน USENET ด้วย Gnus

สมัครสมาชิกกลุ่ม USENET

จากที่นี่คุณสามารถกด U เพื่อสมัครหรือยกเลิกการสมัครกลุ่มข่าวเฉพาะ สิ่งนี้จะทำให้กลุ่มนั้นอยู่ในหน้าจอเชื่อมโยงไปถึงเมื่อคุณเริ่ม gnus ครั้งแรก

ตัวอย่างเช่น ฉันสมัครรับข้อมูลทั้ง “alt.religion.emacs” และ “alt.folklore.computers” ในหน้าจอเซิร์ฟเวอร์ เมื่อฉันโหลด gnus ใหม่ มันจะทำให้ทั้งสองกลุ่มนั้นอยู่ในหน้าจอหลักเพื่อให้ฉันเรียกดู

วิธีใช้ Emacs เป็นโปรแกรมอ่าน USENET ด้วย Gnus

การเคลื่อนที่ของบัฟเฟอร์

จากนั้นกด Enter เพื่อเข้าสู่กลุ่มข่าว และใช้ปุ่มการเคลื่อนไหว Emacs มาตรฐาน เช่น Ctrl + ไม่มี และ Ctrl + เพื่อเลื่อนดูโพสต์ต่างๆ ในกลุ่ม

วิธีใช้ Emacs เป็นโปรแกรมอ่าน USENET ด้วย Gnus

คุณยังสามารถกด Enter หรือ แท็บ กุญแจ. เพื่อเปิดโพสต์และ Backspace และ Space แป้นเลื่อนขึ้นลงภายในโพสต์

ใช้ฟังก์ชันการค้นหาของ Emacs (Ctrl + และ Ctrl + R ) เพื่อค้นหาสิ่งที่คุณต้องการอย่างรวดเร็วผ่านโพสต์

การโพสต์และตอบกลับโพสต์ USENET

หากต้องการสร้างโพสต์ใหม่ภายในกลุ่มข่าว ให้กด A เพื่อเปิดโปรแกรมแก้ไขข้อความที่คุณสามารถเขียนรายละเอียดสำหรับโพสต์ของคุณ

วิธีใช้ Emacs เป็นโปรแกรมอ่าน USENET ด้วย Gnus

กด Ctrl + C สองครั้งเมื่อคุณส่งข้อความไปยังกลุ่มข่าวนั้นเสร็จแล้ว

แต่ถ้าจะตอบกระทู้ในกลุ่มก็กด Shift ได้เลย + , Shift + F . การดำเนินการนี้จะเริ่มต้นบัฟเฟอร์ "ติดตามผล" โดยที่ gnus จะนำคุณไปยังโปรแกรมแก้ไขข้อความพร้อมกับโพสต์เดิมที่เสนอราคาให้คุณแล้ว

วิธีใช้ Emacs เป็นโปรแกรมอ่าน USENET ด้วย Gnus

คล้ายกับการโพสต์ข้อความใหม่ คุณสามารถกด Ctrl + C สองครั้งเพื่อส่งการติดตามไปยังโพสต์นั้น

การกรองผ่าน Scorefiles

Gnus ยังมีระบบการกรองที่ทรงพลังแต่ใช้งานง่ายซึ่งใช้ไฟล์ score แตกต่างจาก killfile ปกติที่โพสต์จะถูก "ฆ่า" โดยอัตโนมัติเมื่อกดปุ่มรูปแบบหรือเกณฑ์เฉพาะ

Scorefiles อนุญาตให้ผู้ใช้ลดหรือเพิ่มคะแนนภายในของโพสต์นั้นๆ ทีละน้อย ซึ่งจะบอกให้ gnus ทราบว่าโพสต์ใดควรจัดลำดับความสำคัญ และรายการใดควรซ่อนหรือไม่ดึงจากเซิร์ฟเวอร์ระยะไกล

ประเภทของการกรอง

นอกจากนี้ gnus ยังมีระบบการกรองที่มีคุณลักษณะหลากหลาย ซึ่งช่วยให้ผู้ใช้สามารถควบคุมและปรับแต่งส่วนต่างๆ ของตัวกรองเฉพาะได้

วิธีใช้ Emacs เป็นโปรแกรมอ่าน USENET ด้วย Gnus

ตัวอย่างเช่น ถ้าฉันต้องการลดคะแนนของโพสต์หนึ่งๆ ไฮไลต์ได้เลยแล้วกด L . นี่จะแสดงเมนูเล็กๆ ในบัฟเฟอร์คำสั่ง ซึ่งจะถามฉันว่าฉันต้องการใช้คุณสมบัติใดของโพสต์เป็นฐาน

รายการคุณสมบัติมีมากมาย แต่สิ่งที่สำคัญที่สุดคือ:

  • ให้คะแนนกับชื่อผู้เขียน
  • ให้คะแนนเทียบกับหัวข้อเรื่อง
  • แอล เพื่อทำคะแนนเทียบกับจำนวนบรรทัด
  • ให้คะแนนเทียบกับเนื้อความของข้อความ

ในกรณีของฉัน ฉันต้องการให้คะแนนโพสต์นี้โดยอิงจากเจ้าของโพสต์ ฉันจึงกด A .

วิธีการจับคู่ตัวกรอง

จากนั้น gnus จะถามคุณถึงประเภทของการจับคู่สตริงที่คุณต้องการใช้ในคะแนนนี้ คุณสามารถเลือกจากนิพจน์ที่แน่นอน สตริงย่อย คลุมเครือ และนิพจน์ทั่วไป:

  • แน่นอน ใช้สตริงทั้งหมดเพื่อจับคู่ข้อความ
  • สตริงย่อย ใช้ส่วนของสตริงเพื่อให้ตรงกับข้อความ ซึ่งหมายความว่าโพสต์ไม่จำเป็นต้องมีข้อความที่ตรงกันทั้งหมดจึงจะเข้าถึงได้
  • คลุมเครือ ใช้แบบจำลองการคาดการณ์ตามโพสต์ก่อนหน้าที่มีให้สำหรับกลุ่มข่าว สิ่งนี้มีประโยชน์อย่างยิ่งสำหรับผู้โพสต์เชิงสร้างสรรค์ที่พยายามหลีกเลี่ยงการจับคู่สตริงย่อยโดยใช้สัญลักษณ์ ตัวเลข และรูปแบบใดๆ ในการบดบังข้อความ
  • Regexp ใช้นิพจน์ทั่วไปแบบดั้งเดิมมากขึ้นในการกรองข้อความ
วิธีใช้ Emacs เป็นโปรแกรมอ่าน USENET ด้วย Gnus

ในกรณีของฉัน ฉันเลือกสตริงย่อยดังนั้นฉันจึงกด S .

ระยะเวลาของตัวกรอง

สุดท้าย gnus จะถามคุณว่าคุณต้องการให้คะแนนนี้ชั่วคราว ถาวร หรือทันที

  • ชั่วคราว หมายความว่าคะแนนจะหมดอายุในวันที่กำหนด มีประโยชน์เมื่อคุณต้องการลดหรือเพิ่มคะแนนของโพสต์หรือโปสเตอร์เฉพาะในช่วงเวลาที่จำกัด
  • ถาวร หมายความว่าคะแนนจะไม่หมดอายุ ซึ่งมีประโยชน์ในการกรองนักส่งสแปมที่อาจเข้ามาในกลุ่ม
  • ทันที หมายความว่า gnus จะใช้คะแนนกับบัฟเฟอร์ปัจจุบันโดยไม่ต้องต่อท้าย scorefile สิ่งนี้มีประโยชน์หากคุณต้องการกรองโพสต์ตอนนี้แต่ไม่ต้องการให้คะแนนอย่างต่อเนื่อง
วิธีใช้ Emacs เป็นโปรแกรมอ่าน USENET ด้วย Gnus

ในกรณีของฉัน ฉันต้องการให้ตัวกรองนี้เป็นแบบถาวร ฉันจึงกด P .

ยินดีด้วย! ตอนนี้คุณมีความเข้าใจพื้นฐานเกี่ยวกับวิธีใช้ gnus เป็นผู้อ่านข่าวใน Emacs แล้ว นอกจากนี้ คุณยังมีแนวคิดพื้นฐานเกี่ยวกับวิธีการเชื่อมต่อกับเซิร์ฟเวอร์ USENET ที่ผ่านการตรวจสอบสิทธิ์แล้ว ตลอดจนการใช้ Scorefiles และการกรองอย่างเหมาะสม

อย่างไรก็ตาม หากการพูดคุยทั้งหมดนี้ทำให้คุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับ Emacs คุณควรเรียนรู้วิธีติดตั้ง Doom Emacs

รับไฟล์ข้อความและไบนารีหลายพันล้านไฟล์ กลุ่มข่าวกว่า 110,000 กลุ่ม ประหยัด 58% สำหรับ NewsHosting ตอนนี้!

คำถามที่พบบ่อย

1. ฉันเขียนข้อความแล้วและไม่ต้องการส่งอีกต่อไป ฉันจะยกเลิกการโพสต์หรือติดตามผลได้อย่างไร

ไม่ทราบ แต่อาจเป็นไปได้ที่จะยกเลิกโพสต์ปัจจุบันที่คุณกำลังเขียน ในการทำเช่นนั้น คุณสามารถกด Ctrl + C , Ctrl + D .

2. เป็นไปได้ไหมที่จะเพิ่มเซิร์ฟเวอร์ USENET หลายเครื่องใน gnus?

ใช่! คุณเพียงแค่ต้องเพิ่มตัวแปร “gnus-select-method” อื่นในไฟล์ init.el ของคุณ

ตัวอย่างเช่น ไฟล์ init.el ของคุณอาจมีลักษณะดังนี้:

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

เมื่อเสร็จแล้ว เพียงโหลด Emacs อีกครั้งเพื่อรีโหลดการกำหนดค่า gnus ของคุณ

3. ฉันได้อ่านบทความหนึ่งแล้ว และตอนนี้บทความนั้นหายไปจากรายการหน้าจอหลักของฉันแล้ว เป็นไปได้ไหมที่ฉันจะปักหมุดโพสต์หนึ่งๆ ในขณะที่ฉันกำลังติดตามมันอยู่

ใช่! คุณสามารถทำได้โดยใช้ gnus-summary-tick-article-forward การทำงาน. คุณสามารถเข้าถึงฟังก์ชันนี้ได้โดยกด U คีย์ในขณะที่โพสต์นั้นถูกเลือก

อย่างไรก็ตาม สิ่งสำคัญที่ควรทราบคือการดำเนินการนี้จะ "ตรึง" บทความนี้ไว้เพียงบทความเดียว การตอบกลับอื่นๆ ทั้งหมดภายในชุดข้อความนั้นจะไม่แสดงขึ้นโดยค่าเริ่มต้น โดยกด Shift + A , Shift + เพื่อสร้างเธรดใหม่ทั้งหมดสำหรับหัวข้อนั้น