A terminal emulator for use with Toolbox.
This is a thought-experiment app based around the idea of having a terminal emulator running in a separate container from the session inside of it, with the kernel as the only intermediary.
This is accomplished by means of file descriptor passing of the pseudo-terminal device from a small “agent” program running on the other side of a container boundary. The agent is started using the usual container tools (
podman), but creating a session is done purely via sockets.
The recommended way to install Boxi is from Flathub, but it’s also possible to install via
pip install boxi
Note that after installing Boxi this way, you’ll need to manually compile the GSettings schema file:
The install comes with a
.desktop file, so Boxi can be launched from the desktop shell. It can also be launched from the command line:
By default, Boxi will create sessions on the host system. If you’d like to create sessions in a named Toolbox container, use
boxi -c f36
Boxi uses different application identifiers when it is run for different containers. This allows creating individual launcher icons for each container. For example,
[Desktop Entry] Type=Application Name=Fedora 36 (Boxi) Icon=fedora StartupNotify=true Exec=boxi -c f36