Skip to content
https://abc.microfintool.com/

Mobile & Accessories

  • Welcome to ABC Tool: Your Ultimate Portal for Smartphones and Accessories
  • About / Contect
    • PRIVACY POLICY
  • Blog
Helvesec/rmux: Universal Rust multiplexer with a typed SDK — drive any CLI or TUI app from code. Native on Linux, macOS, and Windows. · GitHub

Helvesec/rmux: Universal Rust multiplexer with a typed SDK — drive any CLI or TUI app from code. Native on Linux, macOS, and Windows. · GitHub

Posted on May 21, 2026 By safdargal12 No Comments on Helvesec/rmux: Universal Rust multiplexer with a typed SDK — drive any CLI or TUI app from code. Native on Linux, macOS, and Windows. · GitHub
Blog

[ad_1]

Important

Current release: v0.2.0, published on 18 May 2026. All 90 tmux-compatible commands are implemented, but bugs are expected — this is a fresh public preview. Please file issues if you hit one.

RMUX exists because I believe the tmux use case has only been partially explored. My own starting point was simple: I wanted to run long-lived agents over SSH without losing their terminals, while still being able to inspect, script, and orchestrate everything around them.

So I rebuilt that idea from scratch in Rust: a blazing-fast, tmux-compatible multiplexer with a typed SDK, persistent sessions, structured snapshots, and native local transports on Linux, macOS, and Windows, including Windows Named Pipes. No WSL required.

RMUX is usable by agents, headless CLI workflows, and humans alike: you can give terminal apps detachable execution, reconnect later, inspect their state, drive them from code, or simply use it for normal tmux-style terminal work.

Short, real examples of what RMUX can be used for.

Prebuilt binary for macOS and Linux:

curl -fsSL https://rmux.io/install.sh | sh

Prebuilt binary for Windows PowerShell:

irm https://rmux.io/install.ps1 | iex

Direct downloads and SHA256 checksums are available from the v0.2.0 GitHub Release.

From crates.io with Cargo:

cargo install rmux --locked

From a local checkout:

cargo install --path . --locked

For Rust applications:

cargo add rmux-sdk
cargo add ratatui-rmux

The full RMUX documentation is available at rmux.io/docs.

It includes installation guides, CLI references, SDK examples, terminal automation examples, and API documentation.

rmux new-session -d -s work
rmux split-window -h -t work
rmux send-keys -t work 'echo "hello from rmux"' Enter
rmux attach-session -t work

Use command help locally:

rmux list-commands
rmux new-session --help
rmux split-window --help
[dependencies]
rmux-sdk = "0.2"
tokio = { version = "1", features = ["rt-multi-thread", "macros"] }
use std::time::Duration;

use rmux_sdk::{
    EnsureSession, EnsureSessionPolicy, Rmux, SessionName, TerminalSizeSpec,
};

#[tokio::main]
async fn main() -> rmux_sdk::Result<()> {
    let rmux = Rmux::builder()
        .default_timeout(Duration::from_secs(5))
        .connect_or_start()
        .await?;

    let session_name = SessionName::new("work").expect("valid session name");
    let session = rmux
        .ensure_session(
            EnsureSession::named(session_name)
                .policy(EnsureSessionPolicy::CreateOrReuse)
                .detached(true)
                .size(TerminalSizeSpec::new(120, 32)),
        )
        .await?;

    let pane = session.pane(0, 0);
    pane.send_text("printf 'ready\n' && sleep 1n").await?;

    pane.wait_for_text("ready").await?;
    let snapshot = pane.snapshot().await?;
    println!("{}x{}", snapshot.cols, snapshot.rows);

    Ok(())
}
use ratatui::{buffer::Buffer, layout::Rect, widgets::Widget};
use ratatui_rmux::{PaneState, PaneWidget};
use rmux_sdk::PaneSnapshot;

fn render(snapshot: PaneSnapshot, area: Rect, buffer: &mut Buffer) {
    let state = PaneState::from_snapshot(snapshot);
    PaneWidget::new(&state).render(area, buffer);
}

Three public surfaces — a rmux CLI, a rmux-sdk Rust crate, and a ratatui-rmux widget — share a single local protocol to talk to the daemon. Anything one surface can do, the others can do too.

Crate Role Publication
rmux-types Shared platform-neutral value types public
rmux-proto Detached IPC DTOs, framing, wire-safe errors public
rmux-os Small OS boundary helpers public
rmux-ipc Local IPC endpoints and transports public
rmux-sdk Daemon-backed Rust SDK public
ratatui-rmux Ratatui integration widget public
rmux-pty PTY allocation, resize, child process control support crate
rmux-core Sessions, panes, layouts, formats, hooks, buffers support crate
rmux-server Tokio daemon and request dispatch support crate
rmux-client Local IPC client and attach plumbing support crate
rmux CLI and hidden daemon entrypoint public binary
rmux-render-core Shared snapshot rendering core workspace-internal

Platform PTY backend IPC backend Default endpoint
Linux Unix PTY Unix socket /tmp/rmux-{uid}/default
macOS Unix PTY Unix socket /tmp/rmux-{uid}/default
Windows ConPTY Named pipe per-user named pipe

On Linux and macOS, RMUX reads .rmux.conf from the standard system and user locations:

  1. /etc/rmux.conf
  2. ~/.rmux.conf
  3. $XDG_CONFIG_HOME/rmux/rmux.conf
  4. ~/.config/rmux/rmux.conf

On Windows, RMUX reads .rmux.conf as well, from the following locations:

  1. %XDG_CONFIG_HOME%rmuxrmux.conf
  2. %USERPROFILE%.rmux.conf
  3. %APPDATA%rmuxrmux.conf
  4. %RMUX_CONFIG_FILE%

The workspace is designed to be checked from source with locked dependencies:

cargo fmt --all -- --check
cargo clippy --workspace --all-targets --locked -- -D warnings
cargo test --workspace --locked --no-fail-fast

Additional local checks:

scripts/cfg-check.sh
scripts/unsafe-check.sh
scripts/no-network-in-runtime.sh
scripts/check-platform-neutrality.sh
scripts/ratatui-rmux-budget.sh
scripts/verify-package.sh

Release artifact checks are driven by:

scripts/release-local.sh
scripts/package-unix.sh

#![forbid(unsafe_code)] is used in the upper-level crates. OS and terminal boundary code is isolated in the lower-level runtime crates.

RMUX is dual-licensed under either:

at your option.

[ad_2]

Source link

Post Views: 62

Post navigation

❮ Previous Post: ANBERNIC’s PS Vita-inspired handheld finally gets Play Store support
Next Post: Save 20% on the Nothing Phone 4a using this special discount code ❯

You may also like

This Spotify update lets you share the best part of a podcast
Blog
This Spotify update lets you share the best part of a podcast
May 28, 2026
‘Marshals’ Release Schedule: When Episode 12 Hits Paramount Plus
Blog
‘Marshals’ Release Schedule: When Episode 12 Hits Paramount Plus
May 18, 2026
Google is rolling out a fully customizable Multiview in YouTube TV and testing new YouTube Live ads
Blog
Google is rolling out a fully customizable Multiview in YouTube TV and testing new YouTube Live ads
April 28, 2026
Google is giving Android’s 4,000 emojis a 3D glow-up, but there’s a catch
Blog
Google is giving Android’s 4,000 emojis a 3D glow-up, but there’s a catch
May 14, 2026

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • Fix Outlook for Mac 16.110 Missing Email History
  • Anthropic’s Claude Tag: Smarter Slack Assistant
  • Google Home Facial Recognition Update Boosts Accuracy
  • Meta Pauses Employee Tracking After Data Leak
  • US Accelerates Post-Quantum Cryptography Deadline to 2030

Recent Comments

  1. Declan Chidlow on History of Game Console Web Browsers: Evolution & Tech
  2. ALEXAnync on Meta steals a tactic from Tesla and builds data centers in tents
  3. ALEXAnync on The Delivery You Didn’t Order: Breaking Down the ‘Free Phone’ Scam
  4. Pakistan's Football Industry: Complete Guide (2026) – Manufacturing, Exports, Business & Future Growth (Part-1) - Micro Finance Tool on WhatsApp is now testing its subscription service, here's what you get and how much it costs
  5. Budget Calculator: Your Complete Guide to Better Money Management - Micro Finance Tool on US Accelerates Post-Quantum Cryptography Deadline to 2030

Archives

  • June 2026
  • May 2026
  • April 2026

Categories

  • Blog

Copyright © 2026 Mobile & Accessories.

Theme: Oceanly News by ScriptsTown