Cross-platform terminal multiplexer GUI written in Rust.
rmux is a memory-efficient terminal multiplexer with a native desktop interface. It supports workspaces, pane splits, browser panes, notifications, and a socket API for automation.
Targets Linux, macOS, and Windows.
curl -fsSL https://raw.githubusercontent.com/nakulbh/rmux/main/scripts/install.sh | bashThis will:
- Install a Rust toolchain via rustup if needed
- Install platform build dependencies on Linux (apt/dnf/pacman, best-effort)
- Build
rmuxfrom source and install the binary to~/.local/bin - Install the official rmux logo as the app icon:
- macOS →
~/Applications/rmux.app(Dock / Launchpad / Finder) - Linux → FreeDesktop icons +
rmux.desktopunder~/.local/share
- macOS →
Then run:
rmux
# macOS also:
open ~/Applications/rmux.app| Variable | Default | Meaning |
|---|---|---|
RMUX_VERSION |
main |
Git branch or tag to install |
RMUX_INSTALL_DIR |
~/.local/bin |
Where the rmux binary is placed |
RMUX_PREFIX |
~/.local |
Prefix for Linux desktop files / icons |
RMUX_SKIP_DESKTOP |
0 |
Set to 1 to skip .app / .desktop + icon install |
RMUX_REPO |
https://github.com/nakulbh/rmux.git |
Override the git remote |
Examples:
# Install a specific tag
RMUX_VERSION=v0.1.0 curl -fsSL https://raw.githubusercontent.com/nakulbh/rmux/main/scripts/install.sh | bash
# Binary only (no Dock / desktop entry)
RMUX_SKIP_DESKTOP=1 curl -fsSL https://raw.githubusercontent.com/nakulbh/rmux/main/scripts/install.sh | bashRequirements: Xcode Command Line Tools (xcode-select --install), git, curl.
curl -fsSL https://raw.githubusercontent.com/nakulbh/rmux/main/scripts/install.sh | bash
open ~/Applications/rmux.appThe installer creates ~/Applications/rmux.app with AppIcon.icns generated from the official logo (rmux_logo.jpg / assets/icons/). The same logo is embedded in the binary for the window and Dock icon when launching rmux from the terminal.
Requirements: git, curl, a C toolchain, and GUI/WebKit dev libraries (for eframe + wry).
Debian / Ubuntu:
sudo apt-get update
sudo apt-get install -y \
build-essential pkg-config \
libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev \
libxkbcommon-dev libssl-dev \
libgtk-3-dev libglib2.0-dev libatk1.0-dev \
libcairo2-dev libpango1.0-dev \
libwebkit2gtk-4.1-dev libjavascriptcoregtk-4.1-dev \
libsoup-3.0-dev libgdk-pixbuf-2.0-devFedora:
sudo dnf install -y gcc pkgconf-pkg-config openssl-devel gtk3-devel webkit2gtk4.1-develArch:
sudo pacman -S --needed base-devel openssl gtk3 webkit2gtk-4.1Then:
curl -fsSL https://raw.githubusercontent.com/nakulbh/rmux/main/scripts/install.sh | bash
rmuxIcons are installed to ~/.local/share/icons/hicolor/*/apps/rmux.png and a launcher to ~/.local/share/applications/rmux.desktop.
git clone https://github.com/nakulbh/rmux.git
cd rmux
cargo build --release -p rmux-app --bin rmux
./target/release/rmuxOptional install without the script:
cargo install --path crates/rmux-app --bin rmux- Multi-workspace terminal sessions
- Horizontal and vertical pane splits with focus navigation
- Keyboard-first navigation
- Browser split support (wry-backed webview panes)
- Notification panel and desktop notifications (OSC 9/99/777)
- Unix socket API + CLI client for scripting
# Build
cargo build --workspace
# Run
cargo run -p rmux-app --bin rmuxcargo fmt --all -- --check
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspacemacOS uses Cmd where Linux and Windows use Ctrl.
| Action | macOS | Linux/Windows |
|---|---|---|
| New Workspace | Cmd+N | Ctrl+N |
| Split Right | Cmd+D | Ctrl+D |
| Split Down | Cmd+Shift+D | Ctrl+Shift+D |
| Close Pane | Cmd+W | Ctrl+W |
| Toggle Sidebar | Cmd+B | Ctrl+B |
| Find | Cmd+F | Ctrl+F |
See docs/KEY_BINDINGS.md for the full reference.
| Path | Purpose |
|---|---|
crates/rmux-app |
Main egui application |
crates/rmux-terminal |
Terminal emulation (alacritty_terminal + portable-pty) |
crates/rmux-cli |
CLI client |
crates/rmux-api |
Socket server (JSON-RPC) |
crates/rmux-config |
Configuration schema |
scripts/install.sh |
One-line installer for macOS and Linux |
rmux_logo.jpg / assets/icons/ |
Official rmux logo (app icon) |
See docs/PLAN.md for the roadmap and AGENTS.md for contribution guidelines.
MIT
