dsh, the developer profile
dsh is the developer profile of ush. It is the same shell and the
same layer-based package system, but on a profile that trades isolation for
power, so the tools developers need actually work inside it.
Where ush locks an app down, dsh opens things up: nested rootless podman
and distrobox, /dev/fuse, and a subordinate id range are all available. That
is what lets you build and test container-based software from inside the runtime.
Running it
Section titled “Running it”dsh # open a developer shellYou get the same interactive shell, job control, and pkg commands as ush, so
everything you install into a layer is available here too.
What it enables
Section titled “What it enables”- Nested containers. Rootless
podmananddistroboxrun inside the shell, so you can pull, build, and run container images without touching the host. - FUSE.
/dev/fuseis available, which many build and container tools expect. - A subordinate id range. The id mapping needed for rootless container engines is set up for you.
When to use which
Section titled “When to use which”- Reach for
ushfor everyday use: running applications with the sandbox and the broker in place. - Reach for
dshwhen you are building or testing software that needs container tooling or FUSE, and you accept that the isolation is relaxed.
Both profiles share the same package layers and the same storage under
~/.local/share/ush/, so moving between them does not mean setting things up
twice.