Computer >> Máy Tính >  >> Hệ thống >> Linux

Cách sử dụng Emacs làm trình đọc USENET với Gnus

Cách sử dụng Emacs làm trình đọc USENET với Gnus

USENET là một hệ thống nhắn tin toàn cầu phi tập trung. Nó được coi là mạng xã hội toàn cầu đầu tiên với hơn 100.000 nhóm đang nói về các chủ đề và chuyên ngành khác nhau. Điều này làm cho USENET trở thành một kho kiến ​​thức và thảo luận đặc biệt tốt cho độc giả quan tâm.

Nhận hàng tỷ tệp văn bản và tệp nhị phân, hơn 110.000 nhóm tin. Tiết kiệm 58% khi mua NewsHosting ngay bây giờ!

gnus là gì?

Bất chấp sự suy giảm của USENET trong những năm gần đây, vẫn có những người sử dụng nó để thu hút các cuộc thảo luận và chia sẻ tin tức. Ngày nay, hầu hết người dùng USENET giao tiếp với mạng thông qua trang web Google Groups. Tuy nhiên, nếu bạn đang sử dụng Emacs, có một cách để xem các nhóm tin USENET thông qua nó.

Cách sử dụng Emacs làm trình đọc USENET với Gnus

Gnus là một gói Emacs được thiết kế để đọc các nhóm tin. Đây là một chương trình phong phú có nhiều tính năng mạnh mẽ giúp việc đọc tin tức trở nên dễ dàng và thuận tiện. Hơn nữa, bên trong Emacs, người dùng có thể dễ dàng thao tác văn bản trong các bài đăng và sử dụng văn bản đó với phần còn lại của hệ thống Emacs.

Tại sao nên sử dụng Newsreader trong Emacs?

Emacs luôn được quảng cáo là loại bồn rửa nhà bếp có khả năng mở rộng. Không chỉ bởi vì nó có nhiều gói và các tính năng bổ sung, nó cũng rất dễ dàng để mở rộng các chức năng cơ bản của Emacs bên ngoài soạn thảo văn bản.

Emacs hoạt động dựa trên ý tưởng về khả năng tương tác. Ý tưởng này cho phép Emacs sử dụng các gói của nó để tạo thành một môi trường hoàn chỉnh nơi bạn có thể tạo và thay đổi văn bản theo những cách khác nhau.

Cách sử dụng Emacs làm trình đọc USENET với Gnus

Ví dụ:Emacs đi kèm với trình quản lý tệp của riêng nó:dired, một gói Emacs đơn giản cho phép bạn xem qua cấu trúc thư mục và mở tệp. Tuy nhiên, không giống như các trình quản lý tệp khác, dired hiển thị kết quả của nó dưới dạng văn bản.

Nếu bạn cũng đang sử dụng Chế độ tổ chức cho tạp chí, bạn có thể sao chép văn bản đó và tạo các liên kết phức tạp từ các tập tin trong Tệp tổ chức của mình.

Cách sử dụng Emacs làm trình đọc USENET với Gnus

Với khả năng Emacs sử dụng đầu ra văn bản của một gói làm đầu vào trong một gói khác, nó làm cho một trình đọc tin tức như gnus trở nên vô giá đối với hệ sinh thái Emacs.

Điều này cho phép bạn, chẳng hạn, sao chép một đoạn văn bản từ một bài đăng tin tức, sau đó đặt văn bản đó ở Chế độ tổ chức và thêm nó làm mục nhập nhật ký, bài đăng trong chương trình hoặc ghi lại ý tưởng.

Cài đặt gnus

Gnus có trong mọi cài đặt mặc định của Emacs kể từ Phiên bản 19.32. Nếu bạn đang sử dụng phiên bản Emacs gần đây, rất có thể nó đã đi kèm với gnus.

Cách sử dụng Emacs làm trình đọc USENET với Gnus

Bạn có thể kiểm tra xem gnus đã được cài đặt trong hệ thống hay chưa bằng cách nhấn Alt + X và nhập gnus . Thao tác này sẽ tải phiên bản gnus trần, chưa được định cấu hình.

Thiết lập gnus để đọc USENET Groups

Thiết lập ban đầu cho gnus tương đối đơn giản. Bạn chỉ cần đặt một vài tùy chọn trong tệp init.el của mình để tạo tệp .newsrc.

Tệp .newsrc là tệp tiêu chuẩn cho trình đọc nhóm tin nằm trong thư mục chính của bạn. Mục đích chính của nó là ghi lại tất cả các nhóm có sẵn và đã đăng ký trong một máy chủ USENET.

Hơn nữa, tệp .newsrc cũng hoạt động như một tệp trạng thái theo dõi tất cả các bài đăng mà bạn đã đọc.

Cách sử dụng Emacs làm trình đọc USENET với Gnus

Để tạo tệp .newsrc, hãy chạy lệnh sau:

touch /home/$USER/.newsrc

Cấu hình ban đầu

Sau khi hoàn tất, bạn có thể bắt đầu thiết lập tệp init.el, tệp cấu hình cho Emacs. Theo mặc định, bạn có thể tìm thấy tệp này trong “/home/$USER/.emacs.d/” hoặc “/home/$USER/.config/emacs.”

Để khởi tạo gnus đúng cách, bạn cần thêm các dòng sau vào tệp init.el:

  (setq user-full-name '"yourusername")
  (setq user-mail-address '"yourname@email.invalid")
  (setq gnus-select-method '(nntp "news.eternal-september.org"))
  • Tên đầy đủ của người dùng là một tùy chọn chung để đặt tên người dùng của bạn trong Emacs. Đây sẽ là tên mà gnus sẽ hiển thị trong tiêu đề “Từ” của bạn khi bạn gửi các bài đăng tin tức.
  • Địa chỉ thư của người dùng cũng là một lựa chọn chung. Tương tự như tên đầy đủ của người dùng, nó yêu cầu gnus hiển thị email này trong tiêu đề "Từ" của bạn. Trong trường hợp của tôi, tôi nhận được một địa chỉ email không hợp lệ.
  • Tùy chọn cuối cùng, gnus-select-method , là một tùy chọn dành riêng cho gnus cho người đọc tin tức sẽ kết nối với dịch vụ và máy chủ nào. Trong trường hợp của tôi, tôi đã chọn dịch vụ nntp với “news.eternal-september.org” làm máy chủ của mình.
Cách sử dụng Emacs làm trình đọc USENET với Gnus

Xác thực USENET Từ xa

Một điều quan trọng cần lưu ý là nếu bạn đang sử dụng nhà cung cấp USENET yêu cầu xác thực, bạn cần cung cấp chi tiết tài khoản của mình trong tệp authinfo. Đây là tệp mà gnus sẽ đọc chi tiết máy chủ USENET cũng như tên người dùng và mật khẩu của bạn.

Cách sử dụng Emacs làm trình đọc USENET với Gnus

Để tạo một tài khoản, bạn có thể nhấn Ctrl + X , Ctrl + F và nhập /home/$USER/.authinfo trong Emacs. Lệnh này sẽ tạo tệp .authinfo trong thư mục chính của bạn và mở tệp đó trong bộ đệm.

Cú pháp chung của tệp .authinfo trông giống như sau:

machine news.domain.name login yourusername force yes password yourpasswordgoeshere
  • Máy móc biến cho biết rằng bạn đang kết nối với một máy hoặc máy chủ khác.
  • Miền trường tên cho gnus biết rằng đây là địa chỉ của máy bạn muốn kết nối.
  • đăng nhập trường là nơi bạn sẽ đặt tên người dùng của tài khoản USENET của mình.
  • “Buộc phải” tùy chọn yêu cầu gnus xác thực bạn ngay cả khi máy chủ không yêu cầu.
  • Cuối cùng, mật khẩu biến chứa mật khẩu cho tài khoản USENET của bạn.

Sử dụng Máy chủ USENET Cục bộ

Hơn nữa, gnus cũng có thể lấy các nguồn của nó từ một tệp đệm cục bộ. Điều này rất hữu ích nếu bạn có một dịch vụ tự động tải các nhóm tin của bạn xuống máy cục bộ của bạn.

Để làm điều đó, bạn sẽ cần thay đổi cài đặt nntp trong chức năng “gnus-select-method”:

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

Tuy nhiên, nếu bạn đang sử dụng Leafnode làm máy chủ USENET cục bộ của mình, bạn sẽ cần thiết lập nó làm máy chủ NNTP. Điều này là do Leafnode hoạt động giống như một máy chủ USENET hơn là một thư mục “/ var / spool /” bình thường.

Để sử dụng máy chủ Leafnode đang chạy trong cùng một máy, bạn có thể nhập như sau:

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

Sau khi hoàn tất, hãy chạy gnus bằng cách nhấn Alt + x và nhập gnus trong bộ đệm lệnh. Thao tác này sẽ tải gnus và tìm nạp tất cả các nhóm có sẵn trong máy chủ USENET từ xa của bạn.

Cách sử dụng Cơ bản

Sau khi gnus tải, bạn sẽ được chào đón bởi một màn hình trống. Điều này là do, theo mặc định, gnus ẩn tất cả các nhóm tin chưa được đăng ký và đã đọc.

Bạn có thể xem danh sách tất cả các nhóm tin có trong máy chủ USENET bằng cách nhấn Shift + 6 . Thao tác này sẽ hiển thị màn hình Máy chủ cho gnus. Trong trường hợp của tôi, điều này đưa ra tất cả các nhóm tin có sẵn từ Tháng 9 vĩnh cửu.

Cách sử dụng Emacs làm trình đọc USENET với Gnus

Đăng ký nhóm USENET

Từ đây, bạn có thể nhấn U đăng ký hoặc hủy đăng ký một nhóm tin cụ thể. Thao tác này sẽ đưa nhóm đó vào màn hình đích khi bạn bắt đầu gnus lần đầu tiên.

Ví dụ:tôi đã đăng ký cả “alt.religion.emacs” và “alt.folklore.computers” trong màn hình Máy chủ. Sau khi tôi tải lại gnus, nó sẽ đưa hai nhóm đó vào màn hình chính để tôi duyệt.

Cách sử dụng Emacs làm trình đọc USENET với Gnus

Di chuyển vùng đệm

Từ đó, nhấn Enter để vào nhóm tin và sử dụng các phím di chuyển Emacs tiêu chuẩn, chẳng hạn như Ctrl + N Ctrl + P , để cuộn qua các bài đăng khác nhau trong nhóm.

Cách sử dụng Emacs làm trình đọc USENET với Gnus

Bạn cũng có thể nhấn Enter hoặc Tab Chìa khóa. để mở một bài đăng và Backspace Space để cuộn lên và xuống trong bài đăng.

Sử dụng chức năng tìm kiếm của Emacs ( Ctrl + S Ctrl + R ) để nhanh chóng xem qua các bài đăng để tìm những gì bạn muốn.

Đăng và trả lời bài đăng trên USENET

Để tạo một bài đăng mới trong một nhóm tin, hãy nhấn A để hiển thị một trình soạn thảo tin nhắn nơi bạn có thể viết chi tiết cho bài đăng của mình.

Cách sử dụng Emacs làm trình đọc USENET với Gnus

Nhấn Ctrl + C hai lần khi bạn gửi xong tin nhắn đến nhóm tin cụ thể đó.

Nhưng nếu bạn muốn trả lời một bài đăng trong một nhóm, bạn có thể nhấn Shift + S , Shift + F . Thao tác này sẽ bắt đầu vùng đệm "Theo dõi" nơi gnus sẽ đưa bạn đến trình soạn thảo tin nhắn với bài đăng gốc đã được trích dẫn cho bạn.

Cách sử dụng Emacs làm trình đọc USENET với Gnus

Tương tự như đăng một tin nhắn mới, bạn có thể nhấn Ctrl + C hai lần để gửi theo dõi đến bài đăng đó.

Lọc qua Hồ sơ điểm

Gnus cũng có một hệ thống lọc mạnh mẽ nhưng đơn giản để sử dụng, sử dụng các tập tin điểm. Nó khác với một killfile thông thường trong đó các bài đăng sẽ tự động bị "giết" khi đạt một mẫu hoặc tiêu chí cụ thể.

Bảng điểm cho phép người dùng giảm dần hoặc tăng điểm số nội bộ của một bài đăng cụ thể, cho phép gnus biết bài đăng nào cần ưu tiên và bài đăng nào cần ẩn hoặc không lấy từ máy chủ từ xa.

Các loại lọc

Hơn nữa, gnus cũng có một hệ thống lọc nhiều tính năng. Nó cho phép người dùng kiểm soát và tinh chỉnh các phần khác nhau của một bộ lọc cụ thể.

Cách sử dụng Emacs làm trình đọc USENET với Gnus

Ví dụ, nếu tôi muốn giảm điểm của một bài đăng cụ thể. Tôi có thể đánh dấu nó và nhấn L . Thao tác này sẽ hiển thị một menu nhỏ trong bộ đệm lệnh sẽ hỏi tôi thuộc tính nào của bài đăng mà tôi muốn dựa trên điểm số.

Danh sách các thuộc tính rất phong phú, nhưng những thuộc tính quan trọng nhất là:

  • Đ để ghi điểm với tên tác giả.
  • S để ghi điểm so với văn bản chủ đề.
  • L để ghi điểm so với số dòng.
  • B để ghi điểm so với nội dung của văn bản.

Trong trường hợp của tôi, tôi muốn cho điểm bài đăng này dựa trên tác giả của bài đăng, vì vậy tôi đã nhấn A .

Các phương pháp để Khớp với Bộ lọc

Từ đó, gnus sẽ hỏi bạn loại đối sánh chuỗi mà bạn muốn triển khai trong điểm số này. Bạn có thể chọn từ các biểu thức chính xác, chuỗi con, mờ và thông thường:

  • Chính xác sử dụng toàn bộ chuỗi để khớp với văn bản.
  • Chuỗi con sử dụng các phần của chuỗi để khớp với văn bản. Điều này có nghĩa là bài đăng không cần phải khớp toàn bộ văn bản để đạt được nội dung đó.
  • Mờ sử dụng mô hình dự đoán dựa trên các bài đăng trước đó có sẵn cho nhóm tin. Điều này đặc biệt hữu ích cho những người đăng quảng cáo sáng tạo, những người cố gắng phá vỡ sự khớp chuỗi con bằng cách sử dụng các ký hiệu, số và bất kỳ hình thức nào che khuất văn bản của họ.
  • Regexp sử dụng các biểu thức chính quy truyền thống hơn để lọc văn bản.
Cách sử dụng Emacs làm trình đọc USENET với Gnus

Trong trường hợp của tôi, tôi đã chọn chuỗi con nên tôi đã nhấn S .

Thời lượng của Bộ lọc

Cuối cùng, gnus sẽ hỏi bạn xem bạn muốn điểm số này là tạm thời, vĩnh viễn hay ngay lập tức.

  • Tạm thời có nghĩa là điểm số sẽ hết hạn vào một ngày đã định. Điều này rất hữu ích khi bạn chỉ muốn giảm hoặc tăng điểm của một bài đăng hoặc áp phích cụ thể trong một khoảng thời gian giới hạn.
  • Vĩnh viễn có nghĩa là số điểm sẽ không hết hạn. Điều này rất hữu ích để lọc ra những người gửi spam có thể xâm nhập vào nhóm.
  • Ngay lập tức có nghĩa là gnus sẽ áp dụng điểm số vào bộ đệm hiện tại mà không thêm nó vào tệp điểm. Điều này rất hữu ích nếu bạn chỉ muốn lọc ra các bài đăng ngay bây giờ nhưng không muốn liên tục chấm điểm chúng.
Cách sử dụng Emacs làm trình đọc USENET với Gnus

Trong trường hợp của tôi, tôi muốn bộ lọc này là vĩnh viễn nên tôi đã nhấn P .

Xin chúc mừng! Bây giờ bạn đã có hiểu biết cơ bản về cách sử dụng gnus như một trình đọc tin tức trong Emacs. Hơn nữa, bạn cũng có ý tưởng cơ bản về cách kết nối với máy chủ USENET đã xác thực cũng như sử dụng đúng cách các tập tin điểm và lọc.

Tuy nhiên, nếu tất cả cuộc nói chuyện này khiến bạn muốn tìm hiểu thêm về Emacs, thì bạn nên tìm hiểu cách cài đặt Doom Emacs.

Nhận hàng tỷ tệp văn bản và tệp nhị phân, hơn 110.000 nhóm tin. Tiết kiệm 58% khi mua NewsHosting ngay bây giờ!

Câu hỏi thường gặp

1. Tôi đã viết một tin nhắn và không muốn gửi nữa. Làm cách nào để hủy bài đăng hoặc theo dõi của tôi?

Không rõ, nhưng có thể hủy bài đăng hiện tại mà bạn đang viết. Để làm điều đó, bạn có thể nhấn Ctrl + C , Ctrl + D .

2. Có thể thêm nhiều máy chủ USENET trong gnus không?

Đúng! Bạn chỉ cần thêm một biến “gnus-select-method” khác vào tệp init.el của mình.

Ví dụ:tệp init.el của bạn có thể trông giống như sau:

  (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"))

Sau khi hoàn tất, chỉ cần tải lại Emacs để tải lại cấu hình gnus của bạn.

3. Tôi đã đọc một bài báo và bây giờ nó đã biến mất khỏi danh sách màn hình chính của tôi. Tôi có thể ghim một bài đăng cụ thể khi tôi đang tích cực theo dõi nó không?

Đúng! Bạn có thể làm điều đó bằng cách sử dụng gnus-Summary-tick-article-forward hàm số. Bạn có thể truy cập chức năng này bằng cách nhấn U trong khi bài đăng đó được chọn.

Tuy nhiên, điều quan trọng cần lưu ý là điều này sẽ chỉ “ghim” một bài viết này. Tất cả các câu trả lời khác trong chuỗi đó sẽ không hiển thị theo mặc định. Để làm điều đó, hãy nhấn Shift + A , Shift + T để tạo lại toàn bộ chuỗi cho chủ đề đó.