LinuxCommandLibrary

rtv

Browse Reddit from your terminal

TLDR

Open the front page

$ /front
copy

Open a subreddit
$ /r/[subreddit_name]
copy

Expand/collapse comments
$ <Space>
copy

Open link
$ <o>
copy

Log in
$ <u>
copy

Display help
$ <?>
copy

SYNOPSIS

rtv [OPTIONS] [SUBREDDIT]

PARAMETERS

-h, --help
    Show the program's help message and exit.

-s SUBREDDIT, --subreddit SUBREDDIT
    Open a specific subreddit directly on startup (e.g., rtv linux).

-l, --login
    Authenticate with Reddit using OAuth. This typically opens a browser for the authorization flow.

-i, --inbox
    Open the user's inbox directly.

-u USER, --user USER
    View a specific user's profile.

-V, --version
    Show the program's version number and exit.

--copy-oauth-url
    Copy the OAuth URL to the clipboard instead of opening a browser.

--config-path PATH
    Specify a custom path for the configuration directory.

--log-level LEVEL
    Set the logging verbosity (e.g., DEBUG, INFO, WARNING, ERROR).

--submission URL
    Open a specific Reddit submission given its URL.

--theme NAME
    Specify a custom theme name to use for the interface.

DESCRIPTION

rtv (Reddit Terminal Viewer) is a lightweight, open-source command-line interface application that allows users to browse and interact with Reddit directly from their terminal. It's built using Python and utilizes the PRAW (Python Reddit API Wrapper) library.

It provides a text-based browsing experience for subreddits, posts, comments, and user profiles, mimicking much of the functionality of the web interface in a console-friendly format. Users can upvote/downvote, comment, submit posts, and save content without leaving their terminal. It is particularly useful for users who prefer keyboard navigation or want to reduce distractions, offering a pure terminal-based Reddit experience.

CAVEATS

rtv is not a standard Linux command and must be installed separately, typically via Python's pip or a distribution's package manager. Full interactive features (like voting or commenting) require a Reddit account and authentication.

It relies on the Reddit API, which means its functionality can be affected by API changes or rate limits. While it supports links to external media, it does not natively display rich media like images or videos within the terminal.

INSTALLATION

rtv is typically installed using Python's package installer: pip install rtv. On some Linux distributions, it might be available through the native package manager (e.g., sudo apt install rtv on Debian/Ubuntu, sudo dnf install rtv on Fedora).

KEYBINDINGS AND NAVIGATION

rtv heavily relies on keyboard shortcuts for efficient navigation and interaction. Common keybindings include j/k for navigating posts/comments, a/z for upvote/downvote, c to comment on a post, / to search, and q to quit. A comprehensive list of keybindings is available within the application by pressing ?.

CONFIGURATION

Users can customize rtv's behavior and appearance through a configuration file, usually located at ~/.config/rtv/rtv.cfg. This file allows setting default subreddits, custom themes, logging preferences, and more.

HISTORY

rtv was created by Michael Lazar and quickly gained traction among Linux users and terminal enthusiasts for its unique approach to browsing Reddit. Its development has been largely community-driven, adapting to Reddit API changes and expanding its feature set to provide a comprehensive terminal-based experience. It embodies the philosophy of highly efficient, keyboard-centric command-line tools.

SEE ALSO

mutt(1), weechat(1), lynx(1), w3m(1)

Copied to clipboard