USENET เป็นระบบการส่งข้อความทั่วโลกที่กระจายอำนาจ ถือเป็นเครือข่ายโซเชียลระดับโลกแห่งแรกที่มีกลุ่มมากกว่า 100,000 กลุ่มที่พูดคุยเกี่ยวกับหัวข้อและความเชี่ยวชาญพิเศษต่างๆ ทำให้ USENET เป็นคลังความรู้และการอภิปรายที่ดีเป็นพิเศษสำหรับผู้อ่านที่สนใจ
รับไฟล์ข้อความและไบนารีหลายพันล้านไฟล์ กลุ่มข่าวกว่า 110,000 กลุ่ม ประหยัด 58% สำหรับ NewsHosting ตอนนี้!
Gnus คืออะไร
แม้ว่า USENET จะลดลงในช่วงไม่กี่ปีที่ผ่านมา แต่ก็ยังมีคนที่ใช้เพื่อปิดบังการสนทนาและแบ่งปันข่าวสาร ผู้ใช้ USENET ส่วนใหญ่ในปัจจุบันติดต่อกับเครือข่ายผ่านทางเว็บไซต์ Google Groups หากคุณกำลังใช้ Emacs มีวิธีดูกลุ่มข่าว USENET ผ่านมัน
Gnus เป็นแพ็คเกจ Emacs ที่ออกแบบมาเพื่ออ่านกลุ่มข่าว เป็นโปรแกรมที่เพียบพร้อมด้วยคุณสมบัติอันทรงพลังมากมายที่ทำให้การอ่านข่าวเป็นเรื่องง่ายและสะดวก นอกจากนี้ เมื่ออยู่ภายใน Emacs ผู้ใช้สามารถจัดการข้อความภายในโพสต์และใช้กับส่วนที่เหลือของระบบ Emacs ได้อย่างง่ายดาย
เหตุใดจึงควรใช้โปรแกรมอ่านข่าวใน Emacs
Emacs ได้รับการขนานนามว่าเป็นอ่างล้างจานในครัวที่มีความสามารถในการขยายได้ ไม่เพียงเพราะมันมีแพ็คเกจและคุณสมบัติพิเศษมากมาย แต่ยังง่ายต่อการขยายฟังก์ชันพื้นฐานของ Emacs นอกเหนือจากการแก้ไขข้อความ
Emacs ดำเนินการตามแนวคิดของการทำงานร่วมกัน แนวคิดนี้ทำให้ Emacs ใช้แพ็คเกจเพื่อสร้างสภาพแวดล้อมที่สมบูรณ์ ซึ่งคุณสามารถสร้างข้อความและเปลี่ยนแปลงได้หลายวิธี
ตัวอย่างเช่น Emacs มาพร้อมกับตัวจัดการไฟล์:dired ซึ่งเป็นแพ็คเกจ Emacs แบบง่ายที่ให้คุณสำรวจโครงสร้างไดเรกทอรีและเปิดไฟล์ได้ อย่างไรก็ตาม ไม่เหมือนกับตัวจัดการไฟล์อื่น ๆ ที่ dired จะแสดงผลลัพธ์เป็นข้อความ
หากคุณใช้ Org Mode สำหรับการทำเจอร์นัล คุณสามารถคัดลอกข้อความนั้นและสร้างลิงก์ที่ซับซ้อนจาก dired ภายในไฟล์ Org ของคุณได้
ด้วยความสามารถของ Emacs ในการใช้เอาต์พุตข้อความของแพ็คเกจเป็นอินพุตในแพ็คเกจอื่น มันทำให้ผู้อ่านข่าวอย่าง gnus มีค่าต่อระบบนิเวศของ Emacs
ตัวอย่างเช่น ช่วยให้คุณสามารถคัดลอกข้อความจากโพสต์ข่าว จากนั้นใส่ข้อความนั้นในโหมดองค์กร และเพิ่มเป็นรายการบันทึกประจำวัน โพสต์กำหนดการ หรือการจับภาพไอเดีย
กำลังติดตั้ง gnus
Gnus มาในการติดตั้งเริ่มต้นของ Emacs ทุกครั้งตั้งแต่เวอร์ชัน 19.32 หากคุณกำลังใช้ Emacs เวอร์ชันล่าสุด เป็นไปได้ว่าโปรแกรมดังกล่าวจะมาพร้อมกับ gnus อยู่แล้ว
คุณสามารถตรวจสอบว่ามีการติดตั้ง gnus ในระบบหรือไม่โดยกด Alt + X แล้วพิมพ์ gnus
. การดำเนินการนี้จะโหลด gnus เวอร์ชันเปล่าที่ไม่ได้กำหนดค่า
การตั้งค่า gnus เพื่ออ่านกลุ่ม USENET
การตั้งค่าเริ่มต้นสำหรับ gnus ค่อนข้างตรงไปตรงมา คุณต้องตั้งค่าสองสามตัวเลือกในไฟล์ init.el เพื่อสร้างไฟล์ .newsrc
ไฟล์ .newsrc เป็นไฟล์มาตรฐานสำหรับผู้อ่านกลุ่มข่าวสารที่อยู่ในโฮมไดเร็กทอรีของคุณ วัตถุประสงค์หลักคือเพื่อบันทึกกลุ่มที่มีอยู่และสมัครรับข้อมูลทั้งหมดในเซิร์ฟเวอร์ USENET
นอกจากนี้ ไฟล์ .newsrc ยังทำหน้าที่เป็นไฟล์สถานะที่ติดตามโพสต์ทั้งหมดที่คุณอ่านแล้ว
ในการสร้างไฟล์ .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 '"[email protected]") (setq gnus-select-method '(nntp "news.eternal-september.org"))
- ชื่อผู้ใช้เต็ม เป็นตัวเลือกทั่วไปที่กำหนดชื่อผู้ใช้ของคุณใน Emacs นี่จะเป็นชื่อที่ gnus จะแสดงในส่วนหัว "จาก" ของคุณเมื่อคุณส่งโพสต์ข่าวสาร
- ที่อยู่อีเมลผู้ใช้ ยังเป็นทางเลือกทั่วไป คล้ายกับชื่อผู้ใช้เต็ม มันบอกให้ gnus แสดงอีเมลนี้ในส่วนหัว "จาก" ของคุณ ในกรณีของฉัน ฉันส่งที่อยู่อีเมลที่ไม่ถูกต้อง
- ตัวเลือกสุดท้าย gnus-select-method เป็นตัวเลือกเฉพาะของ gnus ที่จะบอกผู้อ่านข่าวว่าต้องเชื่อมต่อบริการและเซิร์ฟเวอร์ใด ในกรณีของฉัน ฉันเลือกบริการ nntp ที่มี “news.eternal-september.org” เป็นเซิร์ฟเวอร์ของฉัน
การตรวจสอบสิทธิ์ USENET ระยะไกล
สิ่งสำคัญประการหนึ่งที่ควรทราบคือ หากคุณใช้ผู้ให้บริการ USENET ที่ต้องการการรับรองความถูกต้อง คุณต้องระบุรายละเอียดบัญชีของคุณในไฟล์ authinfo นี่คือไฟล์ที่ gnus จะอ่านรายละเอียดเซิร์ฟเวอร์ USENET รวมทั้งชื่อผู้ใช้และรหัสผ่านของคุณ
ในการสร้าง คุณสามารถกด 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 ในกรณีของฉัน กลุ่มข่าวที่มีอยู่ทั้งหมดเริ่มตั้งแต่เดือนกันยายนเป็นต้นไป
สมัครสมาชิกกลุ่ม USENET
จากที่นี่คุณสามารถกด U เพื่อสมัครหรือยกเลิกการสมัครกลุ่มข่าวเฉพาะ สิ่งนี้จะทำให้กลุ่มนั้นอยู่ในหน้าจอเชื่อมโยงไปถึงเมื่อคุณเริ่ม gnus ครั้งแรก
ตัวอย่างเช่น ฉันสมัครรับข้อมูลทั้ง “alt.religion.emacs” และ “alt.folklore.computers” ในหน้าจอเซิร์ฟเวอร์ เมื่อฉันโหลด gnus ใหม่ มันจะทำให้ทั้งสองกลุ่มนั้นอยู่ในหน้าจอหลักเพื่อให้ฉันเรียกดู
การเคลื่อนที่ของบัฟเฟอร์
จากนั้นกด Enter เพื่อเข้าสู่กลุ่มข่าว และใช้ปุ่มการเคลื่อนไหว Emacs มาตรฐาน เช่น Ctrl + ไม่มี และ Ctrl + ป เพื่อเลื่อนดูโพสต์ต่างๆ ในกลุ่ม
คุณยังสามารถกด Enter หรือ แท็บ กุญแจ. เพื่อเปิดโพสต์และ Backspace และ Space แป้นเลื่อนขึ้นลงภายในโพสต์
ใช้ฟังก์ชันการค้นหาของ Emacs (Ctrl + ส และ Ctrl + R ) เพื่อค้นหาสิ่งที่คุณต้องการอย่างรวดเร็วผ่านโพสต์
การโพสต์และตอบกลับโพสต์ USENET
หากต้องการสร้างโพสต์ใหม่ภายในกลุ่มข่าว ให้กด A เพื่อเปิดโปรแกรมแก้ไขข้อความที่คุณสามารถเขียนรายละเอียดสำหรับโพสต์ของคุณ
กด Ctrl + C สองครั้งเมื่อคุณส่งข้อความไปยังกลุ่มข่าวนั้นเสร็จแล้ว
แต่ถ้าจะตอบกระทู้ในกลุ่มก็กด Shift ได้เลย + ส , Shift + F . การดำเนินการนี้จะเริ่มต้นบัฟเฟอร์ "ติดตามผล" โดยที่ gnus จะนำคุณไปยังโปรแกรมแก้ไขข้อความพร้อมกับโพสต์เดิมที่เสนอราคาให้คุณแล้ว
คล้ายกับการโพสต์ข้อความใหม่ คุณสามารถกด Ctrl + C สองครั้งเพื่อส่งการติดตามไปยังโพสต์นั้น
การกรองผ่าน Scorefiles
Gnus ยังมีระบบการกรองที่ทรงพลังแต่ใช้งานง่ายซึ่งใช้ไฟล์ score แตกต่างจาก killfile ปกติที่โพสต์จะถูก "ฆ่า" โดยอัตโนมัติเมื่อกดปุ่มรูปแบบหรือเกณฑ์เฉพาะ
Scorefiles อนุญาตให้ผู้ใช้ลดหรือเพิ่มคะแนนภายในของโพสต์นั้นๆ ทีละน้อย ซึ่งจะบอกให้ gnus ทราบว่าโพสต์ใดควรจัดลำดับความสำคัญ และรายการใดควรซ่อนหรือไม่ดึงจากเซิร์ฟเวอร์ระยะไกล
ประเภทของการกรอง
นอกจากนี้ gnus ยังมีระบบการกรองที่มีคุณลักษณะหลากหลาย ซึ่งช่วยให้ผู้ใช้สามารถควบคุมและปรับแต่งส่วนต่างๆ ของตัวกรองเฉพาะได้
ตัวอย่างเช่น ถ้าฉันต้องการลดคะแนนของโพสต์หนึ่งๆ ไฮไลต์ได้เลยแล้วกด L . นี่จะแสดงเมนูเล็กๆ ในบัฟเฟอร์คำสั่ง ซึ่งจะถามฉันว่าฉันต้องการใช้คุณสมบัติใดของโพสต์เป็นฐาน
รายการคุณสมบัติมีมากมาย แต่สิ่งที่สำคัญที่สุดคือ:
- ก ให้คะแนนกับชื่อผู้เขียน
- ส ให้คะแนนเทียบกับหัวข้อเรื่อง
- แอล เพื่อทำคะแนนเทียบกับจำนวนบรรทัด
- ข ให้คะแนนเทียบกับเนื้อความของข้อความ
ในกรณีของฉัน ฉันต้องการให้คะแนนโพสต์นี้โดยอิงจากเจ้าของโพสต์ ฉันจึงกด A .
วิธีการจับคู่ตัวกรอง
จากนั้น gnus จะถามคุณถึงประเภทของการจับคู่สตริงที่คุณต้องการใช้ในคะแนนนี้ คุณสามารถเลือกจากนิพจน์ที่แน่นอน สตริงย่อย คลุมเครือ และนิพจน์ทั่วไป:
- แน่นอน ใช้สตริงทั้งหมดเพื่อจับคู่ข้อความ
- สตริงย่อย ใช้ส่วนของสตริงเพื่อให้ตรงกับข้อความ ซึ่งหมายความว่าโพสต์ไม่จำเป็นต้องมีข้อความที่ตรงกันทั้งหมดจึงจะเข้าถึงได้
- คลุมเครือ ใช้แบบจำลองการคาดการณ์ตามโพสต์ก่อนหน้าที่มีให้สำหรับกลุ่มข่าว สิ่งนี้มีประโยชน์อย่างยิ่งสำหรับผู้โพสต์เชิงสร้างสรรค์ที่พยายามหลีกเลี่ยงการจับคู่สตริงย่อยโดยใช้สัญลักษณ์ ตัวเลข และรูปแบบใดๆ ในการบดบังข้อความ
- Regexp ใช้นิพจน์ทั่วไปแบบดั้งเดิมมากขึ้นในการกรองข้อความ
ในกรณีของฉัน ฉันเลือกสตริงย่อยดังนั้นฉันจึงกด S .
ระยะเวลาของตัวกรอง
สุดท้าย gnus จะถามคุณว่าคุณต้องการให้คะแนนนี้ชั่วคราว ถาวร หรือทันที
- ชั่วคราว หมายความว่าคะแนนจะหมดอายุในวันที่กำหนด มีประโยชน์เมื่อคุณต้องการลดหรือเพิ่มคะแนนของโพสต์หรือโปสเตอร์เฉพาะในช่วงเวลาที่จำกัด
- ถาวร หมายความว่าคะแนนจะไม่หมดอายุ ซึ่งมีประโยชน์ในการกรองนักส่งสแปมที่อาจเข้ามาในกลุ่ม
- ทันที หมายความว่า gnus จะใช้คะแนนกับบัฟเฟอร์ปัจจุบันโดยไม่ต้องต่อท้าย scorefile สิ่งนี้มีประโยชน์หากคุณต้องการกรองโพสต์ตอนนี้แต่ไม่ต้องการให้คะแนนอย่างต่อเนื่อง
ในกรณีของฉัน ฉันต้องการให้ตัวกรองนี้เป็นแบบถาวร ฉันจึงกด 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 '"[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"))
เมื่อเสร็จแล้ว เพียงโหลด Emacs อีกครั้งเพื่อรีโหลดการกำหนดค่า gnus ของคุณ
3. ฉันได้อ่านบทความหนึ่งแล้ว และตอนนี้บทความนั้นหายไปจากรายการหน้าจอหลักของฉันแล้ว เป็นไปได้ไหมที่ฉันจะปักหมุดโพสต์หนึ่งๆ ในขณะที่ฉันกำลังติดตามมันอยู่
ใช่! คุณสามารถทำได้โดยใช้ gnus-summary-tick-article-forward การทำงาน. คุณสามารถเข้าถึงฟังก์ชันนี้ได้โดยกด U คีย์ในขณะที่โพสต์นั้นถูกเลือก
อย่างไรก็ตาม สิ่งสำคัญที่ควรทราบคือการดำเนินการนี้จะ "ตรึง" บทความนี้ไว้เพียงบทความเดียว การตอบกลับอื่นๆ ทั้งหมดภายในชุดข้อความนั้นจะไม่แสดงขึ้นโดยค่าเริ่มต้น โดยกด Shift + A , Shift + ท เพื่อสร้างเธรดใหม่ทั้งหมดสำหรับหัวข้อนั้น