LinuxCommandLibrary

abduco

Detach and reattach terminal sessions

TLDR

List sessions

$ abduco
copy

[A]ttach to a session, creating it if it doesn't exist
$ abduco -A [name] [bash]
copy

[A]ttach to a session with dvtm, creating it if it doesn't exist
$ abduco -A [name]
copy

Detach from a session
$ <Ctrl \>
copy

[A]ttach to a session in [r]ead-only mode
$ abduco -Ar [name]
copy

SYNOPSIS

abduco [options] [name] [--] [command [args...]]

PARAMETERS

-h, --help
    Print brief help message.

-V, --version
    Print version information.

-l, --list-sessions
    List all sessions in tabular format.

-e key, --key=key
    Set attach/detach key (default: C-a). Use ^A, F1, etc.

-n name, --new-session=name
    Name new session name (default: command name).

-A name, --attach-or-new=name
    Attach if name exists; else create new.

-a name, --attach=name
    Attach to name or exit if missing.

-d name, --detach=name
    Detach from name.

-k name, --kill=name
    Kill session name.

-K, --kill-all
    Kill all sessions.

-p name, --print=name
    Print info about name to stdout.

-r, --reattach-parent
    Reattach to parent session.

-C path, --socket-path=path
    Use custom socket path (default: $XDG_RUNTIME_DIR/abduco.sock).

DESCRIPTION

Abduco is a minimalist Linux tool for attaching and detaching terminal sessions, offering a simpler alternative to tmux(1) or screen(1). It creates sessions linked to Unix domain sockets, allowing users to detach (via default C-a d) and reattach later, even after logout or terminal closure. Sessions run any command, typically a shell like bash or zsh, and persist until explicitly killed.

Unlike full multiplexers, abduco focuses solely on session management without window splitting, panes, or scripting. This makes it fast, with minimal dependencies (just libc) and no config files needed. Customize the detach key with -e, name sessions with -n, or list them with -l. Flags like -A enable attach-or-new behavior for seamless workflows.

Ideal for remote work, abduco supports reattaching from parents (-r) and socket path overrides (-C). Written in portable C, it's perfect for users wanting efficiency over features.

CAVEATS

Sessions use Unix sockets; inaccessible sockets prevent attachment. No multiplexing or scrolling buffer. Requires same user for sockets.

DEFAULT USAGE

abduco -n mysession creates/runs shell session.
C-a d detaches.
abduco mysession reattaches.

SOCKET LOCATION

Defaults to $ABDUCO_SOCKET or $XDG_RUNTIME_DIR/abduco.sock; shared across users via options.

HISTORY

Created by Markus Hoffmann in 2014 as a lightweight tmux alternative. Maintained on sourcehut; version 1.1.3 as of 2024.

SEE ALSO

tmux(1), screen(1)

Copied to clipboard