Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package distrobox for openSUSE:Factory checked in at 2025-11-28 16:52:05 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/distrobox (Old) and /work/SRC/openSUSE:Factory/.distrobox.new.14147 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "distrobox" Fri Nov 28 16:52:05 2025 rev:27 rq:1320347 version:1.8.2.2 Changes: -------- --- /work/SRC/openSUSE:Factory/distrobox/distrobox.changes 2025-11-06 18:19:10.946606695 +0100 +++ /work/SRC/openSUSE:Factory/.distrobox.new.14147/distrobox.changes 2025-11-28 16:52:38.009531002 +0100 @@ -1,0 +2,21 @@ +Wed Nov 26 15:44:33 UTC 2025 - Alessio Biancalana <[email protected]> + +- Update to 1.8.2.2: + * docs: update command for GNOME installation by @amnexya in https://github.com/89luca89/distrobox/pull/1873 + * Fix typo in nested Podman instructions by @atimeofday in https://github.com/89luca89/distrobox/pull/1879 + * docs: note that Podman and Distrobox are now pre-installed on SteamOS 3.5+ by @kavishgr in https://github.com/89luca89/distrobox/pull/1881 + * docs: clarify distrobox-host-exec behavior by @jaluoma in https://github.com/89luca89/distrobox/pull/1882 + * docs: fix reference to #28 in README.md by @dottorblaster in https://github.com/89luca89/distrobox/pull/1891 + * init: fix stat syntax error in rootful detection by @john-holt4 in https://github.com/89luca89/distrobox/pull/1907 + * docs: fix mdlint issues in compatibility matrix by @dottorblaster in https://github.com/89luca89/distrobox/pull/1908 + * create: fix failing to create containers from images that print to stdout with no input by @bsutherland333 in https://github.com/89luca89/distrobox/pull/1912 + * docs: systemd unit example to mount root as a shared mount by @yehorb in https://github.com/89luca89/distrobox/pull/1911 + * assemble: /dev/null stdin for distrobox enter execs by @dottorblaster and @balanza in https://github.com/89luca89/distrobox/pull/1915 + * feat: set compopt filenames for --file in bash completion by @yedayak in https://github.com/89luca89/distrobox/pull/1916 + * enter: preserve SHELL with unshared groups by @Kamorst in https://github.com/89luca89/distrobox/pull/1917 + * fix: don't use --pty with buggy su implementations by @Kamorst in https://github.com/89luca89/distrobox/pull/1919 + * init: restrict find pattern to libcuda so it doesn't pick up non-NVIDIA libs by @miaulightouch in https://github.com/89luca89/distrobox/pull/1918 + * create: direct stderr to /dev/null to prevent incorrect eval by @dottorblaster and @inc0 in https://github.com/89luca89/distrobox/pull/1920 + * chore(version): bump to 1.8.2.2 by @dottorblaster in https://github.com/89luca89/distrobox/pull/1921 + +------------------------------------------------------------------- Old: ---- distrobox-1.8.2.1.tar.gz New: ---- distrobox-1.8.2.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ distrobox.spec ++++++ --- /var/tmp/diff_new_pack.SyiG65/_old 2025-11-28 16:52:38.977571765 +0100 +++ /var/tmp/diff_new_pack.SyiG65/_new 2025-11-28 16:52:38.977571765 +0100 @@ -17,7 +17,7 @@ Name: distrobox -Version: 1.8.2.1 +Version: 1.8.2.2 Release: 0 Summary: Use any linux distribution inside your terminal License: GPL-3.0-only ++++++ distrobox-1.8.2.1.tar.gz -> distrobox-1.8.2.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/distrobox-1.8.2.1/completions/bash/distrobox new/distrobox-1.8.2.2/completions/bash/distrobox --- old/distrobox-1.8.2.1/completions/bash/distrobox 2025-11-06 09:17:11.000000000 +0100 +++ new/distrobox-1.8.2.2/completions/bash/distrobox 2025-11-26 15:40:31.000000000 +0100 @@ -29,6 +29,7 @@ if [[ ${prev} =~ ${fileopts} ]]; then COMPREPLY=($(compgen -f -- ${cur})) + compopt -o filenames return 0 fi if [[ ${prev} == "assemble" ]]; then diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/distrobox-1.8.2.1/distrobox new/distrobox-1.8.2.2/distrobox --- old/distrobox-1.8.2.1/distrobox 2025-11-06 09:17:11.000000000 +0100 +++ new/distrobox-1.8.2.2/distrobox 2025-11-26 15:40:31.000000000 +0100 @@ -22,7 +22,7 @@ set -o errexit set -o nounset -version="1.8.2.1" +version="1.8.2.2" # show_help will print usage to stdout. # Arguments: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/distrobox-1.8.2.1/distrobox-assemble new/distrobox-1.8.2.2/distrobox-assemble --- old/distrobox-1.8.2.1/distrobox-assemble 2025-11-06 09:17:11.000000000 +0100 +++ new/distrobox-1.8.2.2/distrobox-assemble 2025-11-26 15:40:31.000000000 +0100 @@ -38,7 +38,7 @@ tmpfile="$(mktemp -u)" tmp_download_file="$(mktemp -u)" verbose=0 -version="1.8.2.1" +version="1.8.2.2" # initializing block of variables used in the manifest additional_flags="" additional_packages="" @@ -477,15 +477,20 @@ # If we need to start immediately, do it, so that the container # is ready to be entered. if [ -n "${start_now}" ] && [ "${start_now}" -eq 1 ]; then + # Here we execute the `distrobox enter` command with a `/dev/null` stdin. + # This is due to the fact that this command is very likely to be executed inside + # the read loop in the prse_file function. This way we avoid stdin to be swallowed by + # this command execution. This is valid for all the `distrobox enter` calls from now on. + # # shellcheck disable=SC2086,2248 - "${distrobox_path}"/distrobox enter ${root_flag} "${name}" -- touch /dev/null + "${distrobox_path}"/distrobox enter ${root_flag} "${name}" -- touch /dev/null < /dev/null fi # if there are exported bins and apps declared, let's export them if [ -n "${exported_apps}" ] || [ -n "${exported_bins}" ]; then # First we start the container # shellcheck disable=SC2086,2248 - "${distrobox_path}"/distrobox enter ${root_flag} "${name}" -- touch /dev/null + "${distrobox_path}"/distrobox enter ${root_flag} "${name}" -- touch /dev/null < /dev/null IFS="ยค" for apps in ${exported_apps}; do @@ -494,7 +499,7 @@ for app in ${apps}; do # Export the app # shellcheck disable=SC2086,2248 - "${distrobox_path}"/distrobox enter ${root_flag} "${name}" -- distrobox-export --app "${app}" + "${distrobox_path}"/distrobox enter ${root_flag} "${name}" -- distrobox-export --app "${app}" < /dev/null done done @@ -506,7 +511,7 @@ # Export the bin # shellcheck disable=SC2086,2248 "${distrobox_path}"/distrobox enter ${root_flag} "${name}" -- distrobox-export --bin "${bin}" \ - --export-path "${exported_bins_path}" + --export-path "${exported_bins_path}" < /dev/null done done fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/distrobox-1.8.2.1/distrobox-create new/distrobox-1.8.2.2/distrobox-create --- old/distrobox-1.8.2.1/distrobox-create 2025-11-06 09:17:11.000000000 +0100 +++ new/distrobox-1.8.2.2/distrobox-create 2025-11-26 15:40:31.000000000 +0100 @@ -107,7 +107,7 @@ [ "${container_user_uid}" -eq 0 ] && rootful=1 || rootful=0 userns_nolimit=0 verbose=0 -version="1.8.2.1" +version="1.8.2.2" app_cache_dir=${XDG_CACHE_HOME:-"${HOME}/.cache"}/distrobox @@ -722,7 +722,7 @@ # This will ensure we will mount directories one-by-one thus avoiding this problem. # # This happens ONLY with podman+runc, docker and lilipod are unaffected, so let's do this only if we have podman AND runc. - if echo "${container_manager}" | grep -q "podman" && ${container_manager} info | grep -q runc; then + if echo "${container_manager}" | grep -q "podman" && ${container_manager} info 2> /dev/null | grep -q runc > /dev/null 2>&1; then for rootdir in /*; do # Skip symlinks @@ -946,7 +946,7 @@ --userns keep-id" # Test if podman supports keep-id:size= - if podman run --rm --userns=keep-id:size=65536 "${container_image}" /bin/true 2> /dev/null || [ "$?" -eq 127 ]; then + if podman run --rm --userns=keep-id:size=65536 "${container_image}" /bin/true > /dev/null 2>&1 || [ "$?" -eq 127 ]; then has_keepid_size=1 else has_keepid_size=0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/distrobox-1.8.2.1/distrobox-enter new/distrobox-1.8.2.2/distrobox-enter --- old/distrobox-1.8.2.1/distrobox-enter 2025-11-06 09:17:11.000000000 +0100 +++ new/distrobox-1.8.2.2/distrobox-enter 2025-11-26 15:40:31.000000000 +0100 @@ -109,7 +109,7 @@ skip_workdir=0 verbose=0 clean_path=0 -version="1.8.2.1" +version="1.8.2.2" # Source configuration files, this is done in an hierarchy so local files have # priority over system defaults @@ -703,6 +703,7 @@ if [ "${headless}" -eq 0 ]; then set -- "--pty" "$@" fi + set -- "-m" "$@" set -- "${container_command_user}" "$@" set -- "su" "$@" fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/distrobox-1.8.2.1/distrobox-ephemeral new/distrobox-1.8.2.2/distrobox-ephemeral --- old/distrobox-1.8.2.1/distrobox-ephemeral 2025-11-06 09:17:11.000000000 +0100 +++ new/distrobox-1.8.2.2/distrobox-ephemeral 2025-11-26 15:40:31.000000000 +0100 @@ -55,7 +55,7 @@ # There's no need for them to pass the --root flag option in such cases. [ "$(id -ru)" -eq 0 ] && rootful=1 || rootful=0 verbose=0 -version="1.8.2.1" +version="1.8.2.2" container_additional_packages="" container_init_hook=" " container_manager_additional_flags="" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/distrobox-1.8.2.1/distrobox-export new/distrobox-1.8.2.2/distrobox-export --- old/distrobox-1.8.2.1/distrobox-export 2025-11-06 09:17:11.000000000 +0100 +++ new/distrobox-1.8.2.2/distrobox-export 2025-11-26 15:40:31.000000000 +0100 @@ -49,7 +49,7 @@ rootful="" sudo_prefix="" verbose=0 -version="1.8.2.1" +version="1.8.2.2" sudo_askpass_path="${dest_path}/distrobox_sudo_askpass" sudo_askpass_script="#!/bin/sh diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/distrobox-1.8.2.1/distrobox-generate-entry new/distrobox-1.8.2.2/distrobox-generate-entry --- old/distrobox-1.8.2.1/distrobox-generate-entry 2025-11-06 09:17:11.000000000 +0100 +++ new/distrobox-1.8.2.2/distrobox-generate-entry 2025-11-26 15:40:31.000000000 +0100 @@ -54,7 +54,7 @@ icon_default="${XDG_DATA_HOME:-${HOME}/.local/share}/icons/terminal-distrobox-icon.svg" verbose=0 online=0 -version="1.8.2.1" +version="1.8.2.2" # Source configuration files, this is done in an hierarchy so local files have # priority over system defaults diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/distrobox-1.8.2.1/distrobox-host-exec new/distrobox-1.8.2.2/distrobox-host-exec --- old/distrobox-1.8.2.1/distrobox-host-exec 2025-11-06 09:17:11.000000000 +0100 +++ new/distrobox-1.8.2.2/distrobox-host-exec 2025-11-26 15:40:31.000000000 +0100 @@ -36,7 +36,7 @@ download_command="" sudo_command="" verbose=0 -version="1.8.2.1" +version="1.8.2.2" # show_help will print usage to stdout. # Arguments: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/distrobox-1.8.2.1/distrobox-init new/distrobox-1.8.2.2/distrobox-init --- old/distrobox-1.8.2.1/distrobox-init 2025-11-06 09:17:11.000000000 +0100 +++ new/distrobox-1.8.2.2/distrobox-init 2025-11-26 15:40:31.000000000 +0100 @@ -74,7 +74,7 @@ rootful=0 upgrade=0 verbose=0 -version="1.8.2.1" +version="1.8.2.2" # show_help will print usage to stdout. # Arguments: @@ -235,7 +235,7 @@ # a good thing, users behold! if stat /run/host/etc/shadow > /dev/null && { - [ "$(stat -c "%u" /run/host/etc/shadow)" = "0" ] || [ "$(stat -f "%u" /run/host/etc/shadow)" = "0" ] + [ "$(stat -c "%u" /run/host/etc/shadow)" = "0" ] || [ "$(stat -f "%u" /run/host/etc/shadow 2> /dev/null)" = "0" ] } && [ ! -e /run/.nopasswd ]; then rootful=1 @@ -1837,9 +1837,11 @@ # Ensure compatibility with older versions of su, this will allow to specify # the --pty flag # -# This won't work well on very old distros with no flag support, but will give -# an usable shell nonetheless -if ! su --help | grep -q pty; then +# This won't work well on very old distros with su version from util-linux +# before version 2.34 or other su implementations but will give an usable +# shell nonetheless +if ! su --version | grep -q util-linux || + su --version | awk '{printf "%s\n%s", $4, 2.34}' | sort --check=quiet --version-sort; then cat << EOF > /usr/local/bin/su #!/bin/sh @@ -2081,7 +2083,7 @@ NVIDIA_LIBS="$(find /run/host/usr/lib*/ -not -type d \ -iname "*lib*nvidia*.so*" \ -o -iname "*nvidia*.so*" \ - -o -iname "*cuda*.so*" \ + -o -iname "libcuda*.so*" \ -o -iname "libnvcuvid*" \ -o -iname "libnvoptix*" || :)" for nvidia_lib in ${NVIDIA_LIBS}; do diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/distrobox-1.8.2.1/distrobox-list new/distrobox-1.8.2.2/distrobox-list --- old/distrobox-1.8.2.1/distrobox-list 2025-11-06 09:17:11.000000000 +0100 +++ new/distrobox-1.8.2.2/distrobox-list 2025-11-26 15:40:31.000000000 +0100 @@ -49,7 +49,7 @@ # There's no need for them to pass the --root flag option in such cases. [ "$(id -ru)" -eq 0 ] && rootful=1 || rootful=0 verbose=0 -version="1.8.2.1" +version="1.8.2.2" container_manager="autodetect" # Source configuration files, this is done in an hierarchy so local files have diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/distrobox-1.8.2.1/distrobox-rm new/distrobox-1.8.2.2/distrobox-rm --- old/distrobox-1.8.2.1/distrobox-rm 2025-11-06 09:17:11.000000000 +0100 +++ new/distrobox-1.8.2.2/distrobox-rm 2025-11-26 15:40:31.000000000 +0100 @@ -60,7 +60,7 @@ verbose=0 rm_home=0 response_rm_home="N" -version="1.8.2.1" +version="1.8.2.2" # Source configuration files, this is done in an hierarchy so local files have # priority over system defaults diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/distrobox-1.8.2.1/distrobox-stop new/distrobox-1.8.2.2/distrobox-stop --- old/distrobox-1.8.2.1/distrobox-stop 2025-11-06 09:17:11.000000000 +0100 +++ new/distrobox-1.8.2.2/distrobox-stop 2025-11-26 15:40:31.000000000 +0100 @@ -58,7 +58,7 @@ # There's no need for them to pass the --root flag option in such cases. [ "$(id -ru)" -eq 0 ] && rootful=1 || rootful=0 verbose=0 -version="1.8.2.1" +version="1.8.2.2" # Source configuration files, this is done in an hierarchy so local files have # priority over system defaults diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/distrobox-1.8.2.1/distrobox-upgrade new/distrobox-1.8.2.2/distrobox-upgrade --- old/distrobox-1.8.2.1/distrobox-upgrade 2025-11-06 09:17:11.000000000 +0100 +++ new/distrobox-1.8.2.2/distrobox-upgrade 2025-11-26 15:40:31.000000000 +0100 @@ -44,7 +44,7 @@ distrobox_path="$(dirname "$(realpath "${0}")")" rootful=0 verbose=0 -version="1.8.2.1" +version="1.8.2.2" # Source configuration files, this is done in an hierarchy so local files have # priority over system defaults diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/distrobox-1.8.2.1/docs/README.md new/distrobox-1.8.2.2/docs/README.md --- old/distrobox-1.8.2.1/docs/README.md 2025-11-06 09:17:11.000000000 +0100 +++ new/distrobox-1.8.2.2/docs/README.md 2025-11-26 15:40:31.000000000 +0100 @@ -245,8 +245,8 @@ Rootless `docker` is still not working as intended and will be included in the future when it will be complete. -That said, it is in the works to implement some sort of decoupling with the host, -as discussed here: [#28 Sandboxed mode](https://github.com/89luca89/distrobox/issues/28) +That said, it is useful to read the discussion about decoupling with the host, +available here: [#28 Sandboxed mode](https://github.com/89luca89/distrobox/issues/28) --- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/distrobox-1.8.2.1/docs/compatibility.md new/distrobox-1.8.2.2/docs/compatibility.md --- old/distrobox-1.8.2.1/docs/compatibility.md 2025-11-06 09:17:11.000000000 +0100 +++ new/distrobox-1.8.2.2/docs/compatibility.md 2025-11-26 15:40:31.000000000 +0100 @@ -47,7 +47,7 @@ Distrobox has been successfully tested on: -| Distro | Version | Notes | +| Distro | Version | Notes | | --- | --- | --- | | Alpine Linux | | To setup rootless podman, look [HERE](https://wiki.alpinelinux.org/wiki/Podman) | | Arch Linux | | `distrobox` is available in the `extra` repository and `distrobox-git` is available in the AUR (thanks [M0Rf30](https://github.com/M0Rf30)!). <br> To setup rootless podman, look [HERE](https://wiki.archlinux.org/title/Podman) | @@ -67,9 +67,9 @@ | openSUSE | Leap | `distrobox` is available in default repos (thanks [dfaggioli](https://github.com/dfaggioli)!). <br> Prior to Leap 15.6 ``podman`` logging needs to be configured properly, more details in [this openSUSE bug](https://bugzilla.opensuse.org/show_bug.cgi?id=1199871). | | openSUSE | Tumbleweed <br> Slowroll <br> Aeon/Kalpa | `distrobox` is available in default repos (thanks [dfaggioli](https://github.com/dfaggioli)!) <br> For Tumbleweed/Slowroll, do: `zypper install distrobox`. <br> For Aeon/Kalpa, **distrobox is installed by default**. | | SUSE Linux Enterprise Server | 15 SP5 <br> or later | `distrobox` is available in `SUSE Package Hub` repo. <br> Enable this repo and then: <br> `zypper install distrobox`. <br>Prior to SLES 15 SP6 ``podman`` logging needs to be configured properly, more details in [this openSUSE bug](https://bugzilla.opensuse.org/show_bug.cgi?id=1199871). | -| SteamOS | | You can follow the [Install Podman in a static manner](posts/install_podman_static.md) or [Install Lilipod in a static manner](posts/install_lilipod_static.md) guide, this will install it in your $HOME and it will survive updates. | -| RedHat | 8 <br> 9 | `distrobox` is available in epel repos. (thanks [alcir](https://github.com/alcir)!) | -| Ubuntu | 18.04 <br> 20.04 <br> 22.04 <br> 23.04 <br> 24.04 <br>| Older versions based on 20.04 or earlier may need external repos to install newer Podman and Docker releases. <br> Derivatives like Pop_OS!, Mint and Elementary OS should work the same. <br> [Now PPA available!](https://launchpad.net/~michel-slm/+archive/ubuntu/distrobox), also `distrobox` is available in default repos from `22.10` onward (thanks [michel-slm](https://github.com/michel-slm)!) | +| SteamOS | | SteamOS officially included Podman and Distrobox as pre-installed tools starting with the release of **SteamOS 3.5**. However, the versions are a little bit behind. You can follow the [Install Podman in a static manner](posts/install_podman_static.md) or [Install Lilipod in a static manner](posts/install_lilipod_static.md) guide, this will install it in your $HOME and it will survive updates. | +| RedHat | 8 <br> 9 | `distrobox` is available in epel repos. (thanks [alcir](https://github.com/alcir)!) | +| Ubuntu | 18.04 <br> 20.04 <br> 22.04 <br> 23.04 <br> 24.04 <br> | Older versions based on 20.04 or earlier may need external repos to install newer Podman and Docker releases. <br> Derivatives like Pop_OS!, Mint and Elementary OS should work the same. <br> [Now PPA available!](https://launchpad.net/~michel-slm/+archive/ubuntu/distrobox), also `distrobox` is available in default repos from `22.10` onward (thanks [michel-slm](https://github.com/michel-slm)!) | | Vanilla OS | 22.10 <br> Orchid | `distrobox` should be installed in the home directory using the official script | | Void Linux | glibc <br> musl | | | Windows | Oracle Linux 9 | using built-in Windows Subsystem for Linux | @@ -95,6 +95,44 @@ To make it permanent, you can place it in `/etc/rc.local`. +#### systemd Service unit + +`/etc/rc.local` may be missing in your system. + +If your system uses `systemd`, here is how you can create and activate a systemd Service unit with the same +functionality. + +##### Create the Service unit file + +Create `/etc/systemd/system/mount-root-shared.service` file using your favorite text editor (e.g. `sudo nano +/etc/systemd/system/mount-root-shared.service`), with the following contents: + +```systemd +[Unit] +Description=Mount root filesystem as a shared mount +# Ensure the service runs after the root fs is mounted +After=local-fs.target + +[Service] +Type=oneshot +ExecStart=/usr/bin/mount --make-rshared / +# Ensure the service is considered "active" after running +RemainAfterExit=yes + +[Install] +# Ensure the service runs before user login +WantedBy=multi-user.target +``` + +##### Enable and start the Service + +The following command registers the service so it runs on every boot, and starts it immediately so you don't have to +reboot for it to take effect: + +```sh +sudo systemctl enable --now mount-root-shared.service +``` + ## List of distributions including distrobox in their repositories [](https://repology.org/project/distrobox/versions) @@ -113,7 +151,7 @@ Distrobox guests tested successfully with the following container images: -| Distro | Version | Images | +| Distro | Version | Images | | --- | --- | --- | | AlmaLinux (Toolbox) | 8 <br> 9 | quay.io/toolbx-images/almalinux-toolbox:8 <br> quay.io/toolbx-images/almalinux-toolbox:9 <br> quay.io/toolbx-images/almalinux-toolbox:latest | | Alpine (Toolbox) | 3.16 <br> 3.17 <br> 3.18 <br> 3.19 <br> 3.20 <br> edge | quay.io/toolbx-images/alpine-toolbox:3.16 <br> quay.io/toolbx-images/alpine-toolbox:3.17 <br> quay.io/toolbx-images/alpine-toolbox:3.18 <br> quay.io/toolbx-images/alpine-toolbox:3.19 <br> quay.io/toolbx-images/alpine-toolbox:3.20 <br> quay.io/toolbx-images/alpine-toolbox:edge <br> quay.io/toolbx-images/alpine-toolbox:latest | @@ -130,31 +168,31 @@ | Ubuntu (Toolbox) | 16.04 <br> 18.04 <br> 20.04 <br> 22.04 <br> 24.04 | quay.io/toolbx/ubuntu-toolbox:16.04 <br> quay.io/toolbx/ubuntu-toolbox:18.04 <br> quay.io/toolbx/ubuntu-toolbox:20.04 <br> quay.io/toolbx/ubuntu-toolbox:22.04 <br> quay.io/toolbx/ubuntu-toolbox:24.04 <br> quay.io/toolbx/ubuntu-toolbox:latest | | Chainguard Wolfi (Toolbox) | | quay.io/toolbx-images/wolfi-toolbox:latest | | Ublue | bluefin-cli <br> ubuntu-toolbox <br> fedora-toolbox <br> wolfi-toolbox <br> archlinux-distrobox <br> powershell-toolbox | ghcr.io/ublue-os/bluefin-cli <br> ghcr.io/ublue-os/bluefin-cli <br> ghcr.io/ublue-os/ubuntu-toolbox <br> ghcr.io/ublue-os/fedora-toolbox <br> ghcr.io/ublue-os/wolfi-toolbox <br> ghcr.io/ublue-os/arch-toolbox <br> ghcr.io/ublue-os/powershell-toolbox | -| | | | -| AlmaLinux | 8 <br> 8-minimal <br> 9 <br> 9-minimal | docker.io/library/almalinux:8 <br> docker.io/library/almalinux:9 | -| Alpine Linux | 3.15 <br> 3.16 <br> 3.17 <br> 3.18 <br> 3.19 <br> 3.20 <br> edge | docker.io/library/alpine:3.15 <br> docker.io/library/alpine:3.16 <br> docker.io/library/alpine:3.17 <br> docker.io/library/alpine:3.18 <br> docker.io/library/alpine:3.19 <br> docker.io/library/alpine:3.20 <br> docker.io/library/alpine:edge <br> docker.io/library/alpine:latest | +| | | | +| AlmaLinux | 8 <br> 8-minimal <br> 9 <br> 9-minimal | docker.io/library/almalinux:8 <br> docker.io/library/almalinux:9 | +| Alpine Linux | 3.15 <br> 3.16 <br> 3.17 <br> 3.18 <br> 3.19 <br> 3.20 <br> edge | docker.io/library/alpine:3.15 <br> docker.io/library/alpine:3.16 <br> docker.io/library/alpine:3.17 <br> docker.io/library/alpine:3.18 <br> docker.io/library/alpine:3.19 <br> docker.io/library/alpine:3.20 <br> docker.io/library/alpine:edge <br> docker.io/library/alpine:latest | | AmazonLinux | 1 <br> 2 <br> 2023 | public.ecr.aws/amazonlinux/amazonlinux:1 <br> public.ecr.aws/amazonlinux/amazonlinux:2 <br> public.ecr.aws/amazonlinux/amazonlinux:2023 | -| Archlinux | | docker.io/library/archlinux:latest | -| Blackarch | | docker.io/blackarchlinux/blackarch:latest | -| CentOS Stream | 8 <br> 9 <br> 10 | quay.io/centos/centos:stream8 <br> quay.io/centos/centos:stream9 <br> quay.io/centos/centos:stream10 | +| Archlinux | | docker.io/library/archlinux:latest | +| Blackarch | | docker.io/blackarchlinux/blackarch:latest | +| CentOS Stream | 8 <br> 9 <br> 10 | quay.io/centos/centos:stream8 <br> quay.io/centos/centos:stream9 <br> quay.io/centos/centos:stream10 | | Chainguard Wolfi | | cgr.dev/chainguard/wolfi-base:latest | | Chimera Linux | | docker.io/chimeralinux/chimera:latest | -| Crystal Linux | | registry.gitlab.com/crystal-linux/misc/docker:latest | +| Crystal Linux | | registry.gitlab.com/crystal-linux/misc/docker:latest | | Debian | 7 <br> 8 <br> 9 <br> 10 <br> 11 <br> 12 <br> 13 | docker.io/debian/eol:wheezy <br> docker.io/debian/eol:buster <br> docker.io/debian/eol:bullseye <br> docker.io/library/debian:bookworm-backports <br> docker.io/library/debian:stable-backports | -| Debian | Testing | docker.io/library/debian:testing <br> docker.io/library/debian:testing-backports | -| Debian | Unstable | docker.io/library/debian:unstable | +| Debian | Testing | docker.io/library/debian:testing <br> docker.io/library/debian:testing-backports | +| Debian | Unstable | docker.io/library/debian:unstable | | deepin | 20 (apricot) <br> 23 (beige) | docker.io/linuxdeepin/apricot <br> docker.io/linuxdeepin/deepin:beige | -| Fedora | 36 <br> 37 <br> 38 <br> 39 <br> 40 <br> 41 <br> 42 <br> Rawhide | quay.io/fedora/fedora:36 <br> quay.io/fedora/fedora:37 <br> quay.io/fedora/fedora:38 <br> quay.io/fedora/fedora:39 <br> quay.io/fedora/fedora:40 <br> quay.io/fedora/fedora:41 <br> quay.io/fedora/fedora:42 <br> quay.io/fedora/fedora:rawhide | +| Fedora | 36 <br> 37 <br> 38 <br> 39 <br> 40 <br> 41 <br> 42 <br> Rawhide | quay.io/fedora/fedora:36 <br> quay.io/fedora/fedora:37 <br> quay.io/fedora/fedora:38 <br> quay.io/fedora/fedora:39 <br> quay.io/fedora/fedora:40 <br> quay.io/fedora/fedora:41 <br> quay.io/fedora/fedora:42 <br> quay.io/fedora/fedora:rawhide | | Gentoo Linux | rolling | docker.io/gentoo/stage3:latest | | KDE neon | Latest | invent-registry.kde.org/neon/docker-images/plasma:latest | | Kali Linux | rolling | docker.io/kalilinux/kali-rolling:latest | | Mint | 21.1 | docker.io/linuxmintd/mint21.1-amd64 | | Neurodebian | nd120 | docker.io/library/neurodebian:nd120 | -| openSUSE | Leap | registry.opensuse.org/opensuse/leap:latest | -| openSUSE | Tumbleweed | registry.opensuse.org/opensuse/distrobox:latest <br> registry.opensuse.org/opensuse/tumbleweed:latest <br> registry.opensuse.org/opensuse/toolbox:latest <br> registry.opensuse.org/opensuse/distrobox-bpftrace:latest | -| Oracle Linux | 7 <br> 7-slim <br> 8 <br> 8-slim <br> 9 <br> 9-slim |container-registry.oracle.com/os/oraclelinux:7 <br> container-registry.oracle.com/os/oraclelinux:7-slim <br> container-registry.oracle.com/os/oraclelinux:8 <br> container-registry.oracle.com/os/oraclelinux:8-slim <br> container-registry.oracle.com/os/oraclelinux:9 <br> container-registry.oracle.com/os/oraclelinux:9-slim | +| openSUSE | Leap | registry.opensuse.org/opensuse/leap:latest | +| openSUSE | Tumbleweed | registry.opensuse.org/opensuse/distrobox:latest <br> registry.opensuse.org/opensuse/tumbleweed:latest <br> registry.opensuse.org/opensuse/toolbox:latest <br> registry.opensuse.org/opensuse/distrobox-bpftrace:latest | +| Oracle Linux | 7 <br> 7-slim <br> 8 <br> 8-slim <br> 9 <br> 9-slim | container-registry.oracle.com/os/oraclelinux:7 <br> container-registry.oracle.com/os/oraclelinux:7-slim <br> container-registry.oracle.com/os/oraclelinux:8 <br> container-registry.oracle.com/os/oraclelinux:8-slim <br> container-registry.oracle.com/os/oraclelinux:9 <br> container-registry.oracle.com/os/oraclelinux:9-slim | | RedHat (UBI) | 7 <br> 8 <br> 9 | registry.access.redhat.com/ubi7/ubi <br> registry.access.redhat.com/ubi8/ubi <br> registry.access.redhat.com/ubi8/ubi-init <br> registry.access.redhat.com/ubi8/ubi-minimal <br> registry.access.redhat.com/ubi9/ubi <br> registry.access.redhat.com/ubi9/ubi-init <br> registry.access.redhat.com/ubi9/ubi-minimal | -| Rocky Linux | 8 <br> 8-minimal <br> 9 | quay.io/rockylinux/rockylinux:8 <br> quay.io/rockylinux/rockylinux:8-minimal <br> quay.io/rockylinux/rockylinux:9 <br> quay.io/rockylinux/rockylinux:latest | +| Rocky Linux | 8 <br> 8-minimal <br> 9 | quay.io/rockylinux/rockylinux:8 <br> quay.io/rockylinux/rockylinux:8-minimal <br> quay.io/rockylinux/rockylinux:9 <br> quay.io/rockylinux/rockylinux:latest | | Slackware | | docker.io/vbatts/slackware:current | | SteamOS | | ghcr.io/linuxserver/steamos:latest | | Ubuntu | 14.04 <br> 16.04 <br> 18.04 <br> 20.04 <br> 22.04 <br> 24.04 | docker.io/library/ubuntu:14.04 <br> docker.io/library/ubuntu:16.04 <br> docker.io/library/ubuntu:18.04 <br> docker.io/library/ubuntu:20.04 <br> docker.io/library/ubuntu:22.04 <br> docker.io/library/ubuntu:24.04 | diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/distrobox-1.8.2.1/docs/posts/run_latest_gnome_kde_hyprland_on_distrobox.md new/distrobox-1.8.2.2/docs/posts/run_latest_gnome_kde_hyprland_on_distrobox.md --- old/distrobox-1.8.2.1/docs/posts/run_latest_gnome_kde_hyprland_on_distrobox.md 2025-11-06 09:17:11.000000000 +0100 +++ new/distrobox-1.8.2.2/docs/posts/run_latest_gnome_kde_hyprland_on_distrobox.md 2025-11-26 15:40:31.000000000 +0100 @@ -46,7 +46,7 @@ First we need to install GNOME in the container: ```shell -user@fedora-rawhide:~$ sudo dnf groupinstall GNOME +user@fedora-rawhide:~$ sudo dnf group install gnome-desktop ``` And let's grab a coffee while it finishes :-) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/distrobox-1.8.2.1/docs/usage/distrobox-host-exec.md new/distrobox-1.8.2.2/docs/usage/distrobox-host-exec.md --- old/distrobox-1.8.2.1/docs/usage/distrobox-host-exec.md 2025-11-06 09:17:11.000000000 +0100 +++ new/distrobox-1.8.2.2/docs/usage/distrobox-host-exec.md 2025-11-26 15:40:31.000000000 +0100 @@ -25,17 +25,39 @@ If no command is provided, it will execute "$SHELL". -Alternatively, use symlinks to make `distrobox-host-exec` execute as that command: - - ~$: ln -s /usr/bin/distrobox-host-exec /usr/local/bin/podman - ~$: ls -l /usr/local/bin/podman - lrwxrwxrwx. 1 root root 51 Jul 11 19:26 /usr/local/bin/podman -> /usr/bin/distrobox-host-exec - ~$: podman version - ...this is executed on host... +Alternatively, you can symlink a command name to `distrobox-host-exec` +and then call that command by its name on the host, while inside of a container. # EXAMPLES +## Run individual commands + distrobox-host-exec ls distrobox-host-exec bash -l distrobox-host-exec flatpak run org.mozilla.firefox distrobox-host-exec podman ps -a + +## Drop into host shell + + ~$: distrobox-host-exec # No command, executes "$SHELL" on the host + ~$: distrobox-host-exec # This command now runs on the host + You must run distrobox-host-exec inside a container! + +## Symlinking host commands + +Use the host command name to create a symlink to `distrobox-host-exec`. +You can then call the host command from within the container. + + ~$: git # We do not have git in the container + bash: git: command not found + ~$: sudo ln -s /usr/bin/distrobox-host-exec /usr/local/bin/git + ~$: git version + git version 2.51.1 + +You can control podman on the host from within the container as follows: + + ~$: ln -s /usr/bin/distrobox-host-exec /usr/local/bin/podman + ~$: ls -l /usr/local/bin/podman + lrwxrwxrwx. 1 root root 51 Jul 11 19:26 /usr/local/bin/podman -> /usr/bin/distrobox-host-exec + ~$: podman version + ...this is executed on host... diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/distrobox-1.8.2.1/docs/useful_tips.md new/distrobox-1.8.2.2/docs/useful_tips.md --- old/distrobox-1.8.2.1/docs/useful_tips.md 2025-11-06 09:17:11.000000000 +0100 +++ new/distrobox-1.8.2.2/docs/useful_tips.md 2025-11-26 15:40:31.000000000 +0100 @@ -331,7 +331,7 @@ ## Using Podman inside a Distrobox You may want to run a separate instance of podman inside your container. -In order to do this, create a container using using rootful Podman or Docker +In order to do this, create a container using rootful Podman or Docker and using the **unshare-all** flag. Example: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/distrobox-1.8.2.1/install new/distrobox-1.8.2.2/install --- old/distrobox-1.8.2.1/install 2025-11-06 09:17:11.000000000 +0100 +++ new/distrobox-1.8.2.2/install 2025-11-26 15:40:31.000000000 +0100 @@ -22,7 +22,7 @@ next=0 no_color=0 verbose=0 -version=1.8.2.1 +version=1.8.2.2 # show_help will print usage to stdout. # Arguments: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/distrobox-1.8.2.1/man/man1/distrobox-assemble.1 new/distrobox-1.8.2.2/man/man1/distrobox-assemble.1 --- old/distrobox-1.8.2.1/man/man1/distrobox-assemble.1 2025-11-06 09:17:11.000000000 +0100 +++ new/distrobox-1.8.2.2/man/man1/distrobox-assemble.1 2025-11-26 15:40:31.000000000 +0100 @@ -1,7 +1,7 @@ '\" t .\ .\" -.TH "DISTROBOX\-ASSEMBLE" "1" "Oct 2025" "Distrobox" "User Manual" +.TH "DISTROBOX\-ASSEMBLE" "1" "Nov 2025" "Distrobox" "User Manual" .SH NAME .IP .EX diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/distrobox-1.8.2.1/man/man1/distrobox-compatibility.1 new/distrobox-1.8.2.2/man/man1/distrobox-compatibility.1 --- old/distrobox-1.8.2.1/man/man1/distrobox-compatibility.1 2025-11-06 09:17:11.000000000 +0100 +++ new/distrobox-1.8.2.2/man/man1/distrobox-compatibility.1 2025-11-26 15:40:31.000000000 +0100 @@ -1,7 +1,7 @@ '\" t .\ .\" -.TH "DISTROBOX" "1" "Oct 2025" "Distrobox" "User Manual" +.TH "DISTROBOX" "1" "Nov 2025" "Distrobox" "User Manual" .SH COMPATIBILITY This project \f[B]does not need a dedicated image\f[R]. It can use any OCI images from docker\-hub, quay.io, or any registry of diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/distrobox-1.8.2.1/man/man1/distrobox-create.1 new/distrobox-1.8.2.2/man/man1/distrobox-create.1 --- old/distrobox-1.8.2.1/man/man1/distrobox-create.1 2025-11-06 09:17:11.000000000 +0100 +++ new/distrobox-1.8.2.2/man/man1/distrobox-create.1 2025-11-26 15:40:31.000000000 +0100 @@ -1,6 +1,6 @@ .\ .\" -.TH "DISTROBOX\-CREATE" "1" "Oct 2025" "Distrobox" "User Manual" +.TH "DISTROBOX\-CREATE" "1" "Nov 2025" "Distrobox" "User Manual" .SH NAME .IP .EX diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/distrobox-1.8.2.1/man/man1/distrobox-enter.1 new/distrobox-1.8.2.2/man/man1/distrobox-enter.1 --- old/distrobox-1.8.2.1/man/man1/distrobox-enter.1 2025-11-06 09:17:11.000000000 +0100 +++ new/distrobox-1.8.2.2/man/man1/distrobox-enter.1 2025-11-26 15:40:31.000000000 +0100 @@ -1,6 +1,6 @@ .\ .\" -.TH "DISTROBOX\-ENTER" "1" "Oct 2025" "Distrobox" "User Manual" +.TH "DISTROBOX\-ENTER" "1" "Nov 2025" "Distrobox" "User Manual" .SH NAME .IP .EX diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/distrobox-1.8.2.1/man/man1/distrobox-ephemeral.1 new/distrobox-1.8.2.2/man/man1/distrobox-ephemeral.1 --- old/distrobox-1.8.2.1/man/man1/distrobox-ephemeral.1 2025-11-06 09:17:11.000000000 +0100 +++ new/distrobox-1.8.2.2/man/man1/distrobox-ephemeral.1 2025-11-26 15:40:31.000000000 +0100 @@ -1,6 +1,6 @@ .\ .\" -.TH "DISTROBOX\-EPHEMERAL" "1" "Oct 2025" "Distrobox" "User Manual" +.TH "DISTROBOX\-EPHEMERAL" "1" "Nov 2025" "Distrobox" "User Manual" .SH NAME .IP .EX diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/distrobox-1.8.2.1/man/man1/distrobox-export.1 new/distrobox-1.8.2.2/man/man1/distrobox-export.1 --- old/distrobox-1.8.2.1/man/man1/distrobox-export.1 2025-11-06 09:17:11.000000000 +0100 +++ new/distrobox-1.8.2.2/man/man1/distrobox-export.1 2025-11-26 15:40:31.000000000 +0100 @@ -1,6 +1,6 @@ .\ .\" -.TH "DISTROBOX\-EXPORT" "1" "Oct 2025" "Distrobox" "User Manual" +.TH "DISTROBOX\-EXPORT" "1" "Nov 2025" "Distrobox" "User Manual" .SH NAME .IP .EX diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/distrobox-1.8.2.1/man/man1/distrobox-generate-entry.1 new/distrobox-1.8.2.2/man/man1/distrobox-generate-entry.1 --- old/distrobox-1.8.2.1/man/man1/distrobox-generate-entry.1 2025-11-06 09:17:11.000000000 +0100 +++ new/distrobox-1.8.2.2/man/man1/distrobox-generate-entry.1 2025-11-26 15:40:31.000000000 +0100 @@ -1,6 +1,6 @@ .\ .\" -.TH "DISTROBOX\-GENERATE\-ENTRY" "1" "Oct 2025" "Distrobox" "User Manual" +.TH "DISTROBOX\-GENERATE\-ENTRY" "1" "Nov 2025" "Distrobox" "User Manual" .SH NAME .IP .EX diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/distrobox-1.8.2.1/man/man1/distrobox-host-exec.1 new/distrobox-1.8.2.2/man/man1/distrobox-host-exec.1 --- old/distrobox-1.8.2.1/man/man1/distrobox-host-exec.1 2025-11-06 09:17:11.000000000 +0100 +++ new/distrobox-1.8.2.2/man/man1/distrobox-host-exec.1 2025-11-26 15:40:31.000000000 +0100 @@ -1,6 +1,6 @@ .\ .\" -.TH "DISTROBOX\-HOST\-EXEC" "1" "Oct 2025" "Distrobox" "User Manual" +.TH "DISTROBOX\-HOST\-EXEC" "1" "Nov 2025" "Distrobox" "User Manual" .SH NAME .IP .EX @@ -29,17 +29,11 @@ .PP If no command is provided, it will execute \[lq]$SHELL\[rq]. .PP -Alternatively, use symlinks to make \f[CR]distrobox\-host\-exec\f[R] -execute as that command: -.IP -.EX -\[ti]$: ln \-s /usr/bin/distrobox\-host\-exec /usr/local/bin/podman -\[ti]$: ls \-l /usr/local/bin/podman -lrwxrwxrwx. 1 root root 51 Jul 11 19:26 /usr/local/bin/podman \-> /usr/bin/distrobox\-host\-exec -\[ti]$: podman version -\&...this is executed on host... -.EE +Alternatively, you can symlink a command name to +\f[CR]distrobox\-host\-exec\f[R] and then call that command by its name +on the host, while inside of a container. .SH EXAMPLES +.SS Run individual commands .IP .EX distrobox\-host\-exec ls @@ -47,3 +41,32 @@ distrobox\-host\-exec flatpak run org.mozilla.firefox distrobox\-host\-exec podman ps \-a .EE +.SS Drop into host shell +.IP +.EX +\[ti]$: distrobox\-host\-exec # No command, executes \[dq]$SHELL\[dq] on the host +\[ti]$: distrobox\-host\-exec # This command now runs on the host +You must run distrobox\-host\-exec inside a container! +.EE +.SS Symlinking host commands +Use the host command name to create a symlink to +\f[CR]distrobox\-host\-exec\f[R]. +You can then call the host command from within the container. +.IP +.EX +\[ti]$: git # We do not have git in the container +bash: git: command not found +\[ti]$: sudo ln \-s /usr/bin/distrobox\-host\-exec /usr/local/bin/git +\[ti]$: git version +git version 2.51.1 +.EE +.PP +You can control podman on the host from within the container as follows: +.IP +.EX +\[ti]$: ln \-s /usr/bin/distrobox\-host\-exec /usr/local/bin/podman +\[ti]$: ls \-l /usr/local/bin/podman +lrwxrwxrwx. 1 root root 51 Jul 11 19:26 /usr/local/bin/podman \-> /usr/bin/distrobox\-host\-exec +\[ti]$: podman version +\&...this is executed on host... +.EE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/distrobox-1.8.2.1/man/man1/distrobox-init.1 new/distrobox-1.8.2.2/man/man1/distrobox-init.1 --- old/distrobox-1.8.2.1/man/man1/distrobox-init.1 2025-11-06 09:17:11.000000000 +0100 +++ new/distrobox-1.8.2.2/man/man1/distrobox-init.1 2025-11-26 15:40:31.000000000 +0100 @@ -1,6 +1,6 @@ .\ .\" -.TH "DISTROBOX\-INIT" "1" "Oct 2025" "Distrobox" "User Manual" +.TH "DISTROBOX\-INIT" "1" "Nov 2025" "Distrobox" "User Manual" .SH NAME .IP .EX diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/distrobox-1.8.2.1/man/man1/distrobox-list.1 new/distrobox-1.8.2.2/man/man1/distrobox-list.1 --- old/distrobox-1.8.2.1/man/man1/distrobox-list.1 2025-11-06 09:17:11.000000000 +0100 +++ new/distrobox-1.8.2.2/man/man1/distrobox-list.1 2025-11-26 15:40:31.000000000 +0100 @@ -1,6 +1,6 @@ .\ .\" -.TH "DISTROBOX\-LIST" "1" "Oct 2025" "Distrobox" "User Manual" +.TH "DISTROBOX\-LIST" "1" "Nov 2025" "Distrobox" "User Manual" .SH NAME .IP .EX diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/distrobox-1.8.2.1/man/man1/distrobox-rm.1 new/distrobox-1.8.2.2/man/man1/distrobox-rm.1 --- old/distrobox-1.8.2.1/man/man1/distrobox-rm.1 2025-11-06 09:17:11.000000000 +0100 +++ new/distrobox-1.8.2.2/man/man1/distrobox-rm.1 2025-11-26 15:40:31.000000000 +0100 @@ -1,6 +1,6 @@ .\ .\" -.TH "DISTROBOX\-RM" "1" "Oct 2025" "Distrobox" "User Manual" +.TH "DISTROBOX\-RM" "1" "Nov 2025" "Distrobox" "User Manual" .SH NAME .IP .EX diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/distrobox-1.8.2.1/man/man1/distrobox-stop.1 new/distrobox-1.8.2.2/man/man1/distrobox-stop.1 --- old/distrobox-1.8.2.1/man/man1/distrobox-stop.1 2025-11-06 09:17:11.000000000 +0100 +++ new/distrobox-1.8.2.2/man/man1/distrobox-stop.1 2025-11-26 15:40:31.000000000 +0100 @@ -1,6 +1,6 @@ .\ .\" -.TH "DISTROBOX\-STOP" "1" "Oct 2025" "Distrobox" "User Manual" +.TH "DISTROBOX\-STOP" "1" "Nov 2025" "Distrobox" "User Manual" .SH NAME .IP .EX diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/distrobox-1.8.2.1/man/man1/distrobox-upgrade.1 new/distrobox-1.8.2.2/man/man1/distrobox-upgrade.1 --- old/distrobox-1.8.2.1/man/man1/distrobox-upgrade.1 2025-11-06 09:17:11.000000000 +0100 +++ new/distrobox-1.8.2.2/man/man1/distrobox-upgrade.1 2025-11-26 15:40:31.000000000 +0100 @@ -1,6 +1,6 @@ .\ .\" -.TH "DISTROBOX\-UPGRADE" "1" "Oct 2025" "Distrobox" "User Manual" +.TH "DISTROBOX\-UPGRADE" "1" "Nov 2025" "Distrobox" "User Manual" .SH NAME .IP .EX diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/distrobox-1.8.2.1/man/man1/distrobox.1 new/distrobox-1.8.2.2/man/man1/distrobox.1 --- old/distrobox-1.8.2.1/man/man1/distrobox.1 2025-11-06 09:17:11.000000000 +0100 +++ new/distrobox-1.8.2.2/man/man1/distrobox.1 2025-11-26 15:40:31.000000000 +0100 @@ -1,7 +1,7 @@ '\" t .\ .\" -.TH "DISTROBOX\-ASSEMBLE" "1" "Oct 2025" "Distrobox" "User Manual" +.TH "DISTROBOX\-ASSEMBLE" "1" "Nov 2025" "Distrobox" "User Manual" .SH NAME .IP .EX @@ -442,7 +442,7 @@ '\" t .\ .\" -.TH "DISTROBOX" "1" "Oct 2025" "Distrobox" "User Manual" +.TH "DISTROBOX" "1" "Nov 2025" "Distrobox" "User Manual" .SH COMPATIBILITY This project \f[B]does not need a dedicated image\f[R]. It can use any OCI images from docker\-hub, quay.io, or any registry of @@ -934,7 +934,7 @@ up the integration independently from the distrobox\[cq]s own flag. .\ .\" -.TH "DISTROBOX\-CREATE" "1" "Oct 2025" "Distrobox" "User Manual" +.TH "DISTROBOX\-CREATE" "1" "Nov 2025" "Distrobox" "User Manual" .SH NAME .IP .EX @@ -1259,7 +1259,7 @@ Void Linux (glibc) .\ .\" -.TH "DISTROBOX\-ENTER" "1" "Oct 2025" "Distrobox" "User Manual" +.TH "DISTROBOX\-ENTER" "1" "Nov 2025" "Distrobox" "User Manual" .SH NAME .IP .EX @@ -1368,7 +1368,7 @@ run distrobox commands involving rootful containers using `doas'. .\ .\" -.TH "DISTROBOX\-EPHEMERAL" "1" "Oct 2025" "Distrobox" "User Manual" +.TH "DISTROBOX\-EPHEMERAL" "1" "Nov 2025" "Distrobox" "User Manual" .SH NAME .IP .EX @@ -1413,7 +1413,7 @@ .EE .\ .\" -.TH "DISTROBOX\-EXPORT" "1" "Oct 2025" "Distrobox" "User Manual" +.TH "DISTROBOX\-EXPORT" "1" "Nov 2025" "Distrobox" "User Manual" .SH NAME .IP .EX @@ -1541,7 +1541,7 @@ \f[CR]distrobox\-export \-\-app atom \-\-extra\-flags \[dq]\-\-foreground\[dq]\f[R] .\ .\" -.TH "DISTROBOX\-GENERATE\-ENTRY" "1" "Oct 2025" "Distrobox" "User Manual" +.TH "DISTROBOX\-GENERATE\-ENTRY" "1" "Nov 2025" "Distrobox" "User Manual" .SH NAME .IP .EX @@ -1589,7 +1589,7 @@ .EE .\ .\" -.TH "DISTROBOX\-HOST\-EXEC" "1" "Oct 2025" "Distrobox" "User Manual" +.TH "DISTROBOX\-HOST\-EXEC" "1" "Nov 2025" "Distrobox" "User Manual" .SH NAME .IP .EX @@ -1618,17 +1618,11 @@ .PP If no command is provided, it will execute \[lq]$SHELL\[rq]. .PP -Alternatively, use symlinks to make \f[CR]distrobox\-host\-exec\f[R] -execute as that command: -.IP -.EX -\[ti]$: ln \-s /usr/bin/distrobox\-host\-exec /usr/local/bin/podman -\[ti]$: ls \-l /usr/local/bin/podman -lrwxrwxrwx. 1 root root 51 Jul 11 19:26 /usr/local/bin/podman \-> /usr/bin/distrobox\-host\-exec -\[ti]$: podman version -\&...this is executed on host... -.EE +Alternatively, you can symlink a command name to +\f[CR]distrobox\-host\-exec\f[R] and then call that command by its name +on the host, while inside of a container. .SH EXAMPLES +.SS Run individual commands .IP .EX distrobox\-host\-exec ls @@ -1636,9 +1630,38 @@ distrobox\-host\-exec flatpak run org.mozilla.firefox distrobox\-host\-exec podman ps \-a .EE +.SS Drop into host shell +.IP +.EX +\[ti]$: distrobox\-host\-exec # No command, executes \[dq]$SHELL\[dq] on the host +\[ti]$: distrobox\-host\-exec # This command now runs on the host +You must run distrobox\-host\-exec inside a container! +.EE +.SS Symlinking host commands +Use the host command name to create a symlink to +\f[CR]distrobox\-host\-exec\f[R]. +You can then call the host command from within the container. +.IP +.EX +\[ti]$: git # We do not have git in the container +bash: git: command not found +\[ti]$: sudo ln \-s /usr/bin/distrobox\-host\-exec /usr/local/bin/git +\[ti]$: git version +git version 2.51.1 +.EE +.PP +You can control podman on the host from within the container as follows: +.IP +.EX +\[ti]$: ln \-s /usr/bin/distrobox\-host\-exec /usr/local/bin/podman +\[ti]$: ls \-l /usr/local/bin/podman +lrwxrwxrwx. 1 root root 51 Jul 11 19:26 /usr/local/bin/podman \-> /usr/bin/distrobox\-host\-exec +\[ti]$: podman version +\&...this is executed on host... +.EE .\ .\" -.TH "DISTROBOX\-INIT" "1" "Oct 2025" "Distrobox" "User Manual" +.TH "DISTROBOX\-INIT" "1" "Nov 2025" "Distrobox" "User Manual" .SH NAME .IP .EX @@ -1683,7 +1706,7 @@ .EE .\ .\" -.TH "DISTROBOX\-LIST" "1" "Oct 2025" "Distrobox" "User Manual" +.TH "DISTROBOX\-LIST" "1" "Nov 2025" "Distrobox" "User Manual" .SH NAME .IP .EX @@ -1731,7 +1754,7 @@ image .\ .\" -.TH "DISTROBOX\-RM" "1" "Oct 2025" "Distrobox" "User Manual" +.TH "DISTROBOX\-RM" "1" "Nov 2025" "Distrobox" "User Manual" .SH NAME .IP .EX @@ -1776,7 +1799,7 @@ .EE .\ .\" -.TH "DISTROBOX\-STOP" "1" "Oct 2025" "Distrobox" "User Manual" +.TH "DISTROBOX\-STOP" "1" "Nov 2025" "Distrobox" "User Manual" .SH NAME .IP .EX @@ -1826,7 +1849,7 @@ .EE .\ .\" -.TH "DISTROBOX\-UPGRADE" "1" "Oct 2025" "Distrobox" "User Manual" +.TH "DISTROBOX\-UPGRADE" "1" "Nov 2025" "Distrobox" "User Manual" .SH NAME .IP .EX
