Download from Releases:
| Linux | macOS | Windows |
|---|---|---|
| amd64 / arm64 | Intel / Apple Silicon | amd64 / arm64 |
# See available plugins
plugctl list
# Install a plugin
plugctl install x1ctl
# Run the installed plugin
x1ctl --help
# Update all plugins
plugctl update
All Ubuntu Software tools install to a dedicated directory to avoid conflicts with other software.
| Platform | Default Location |
|---|---|
| Linux | ~/.local/bin/ubuntusoftware/ |
| macOS | ~/.local/bin/ubuntusoftware/ |
| Windows | %LOCALAPPDATA%\ubuntusoftware\bin\ |
Plugin data is stored separately from binaries so updates/uninstalls don’t lose your data:
| Type | Linux | macOS | Windows |
|---|---|---|---|
| Data | ~/.local/share/ubuntusoftware/ |
~/Library/Application Support/ubuntusoftware/ |
%LOCALAPPDATA%\ubuntusoftware\ |
| Config | ~/.config/ubuntusoftware/ |
~/Library/Application Support/ubuntusoftware/ |
%LOCALAPPDATA%\ubuntusoftware\ |
| Cache | ~/.cache/ubuntusoftware/ |
~/Library/Caches/ubuntusoftware/ |
%LOCALAPPDATA%\ubuntusoftware\cache\ |
Override any location with environment variables:
| Variable | What it controls |
|---|---|
US_BIN |
Binary install directory |
US_DATA |
Data directory |
US_CONFIG |
Config directory |
US_CACHE |
Cache directory |
Add the binary directory to your shell profile:
# Linux/macOS (bash/zsh)
echo 'export PATH="$HOME/.local/bin/ubuntusoftware:$PATH"' >> ~/.bashrc
# Linux/macOS (fish)
fish_add_path ~/.local/bin/ubuntusoftware
# Windows (PowerShell - run as admin)
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";$env:LOCALAPPDATA\ubuntusoftware\bin", "User")
| Plugin | Description |
|---|---|
x1ctl |
Bambu Lab X1 printer control |
fakeprinter |
Mock printer for testing |
us-task |
Task runner (Taskfile.yml) |
us-task-ui |
Web GUI for Taskfiles |
us-conduit |
Data pipelines |
us-benthos |
Stream processing |
plugctl list # list available plugins
plugctl list --installed # list installed plugins
plugctl install NAME # install a plugin
plugctl update # update all plugins
plugctl update NAME # update specific plugin
plugctl update --self # update plugctl itself
plugctl version # show version
plugctl docs # open documentation