abduco
Detach and reattach terminal sessions
TLDR
List sessions
[A]ttach to a session, creating it if it doesn't exist
[A]ttach to a session with dvtm, creating it if it doesn't exist
Detach from a session
[A]ttach to a session in [r]ead-only mode
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.


