Chapters

Installing on Linux

Castiel ships for Linux in four formats: a Debian package (Castiel-linux-x64.deb), a Flatpak bundle (Castiel-x86_64.flatpak), an AppImage (Castiel-x86_64.AppImage), and a portable tarball (Castiel-linux-x64.tar.gz). All four contain the same complete application - every mode, the side panels, and the docked editable tape - and the Linux build is free in full, with no session timer on the advanced modes. All four are available from the download page.

Every format is self-contained: the .NET runtime is bundled, so there is nothing to install alongside it. What differs is how the package integrates with your system, and two of the formats need a small amount of one-time setup on a fresh Ubuntu installation before they will start. This chapter walks through each one and covers the problems that come up most often. The steps below were written against Ubuntu 22.04 LTS, 24.04 LTS, and newer; other distributions work the same way once the equivalent packages are in place.


Which format to choose

Format What it is One-time setup Desktop menu entry Updating
Debian package A normal system package installed with apt None Created automatically Install the new .deb over it
Flatpak A sandboxed package installed into your system's Flatpak store Add the Flathub remote and install a shared runtime Created automatically Replace the bundle and reinstall
AppImage A single executable file you keep wherever you like Mark the file executable and install libfuse2 Not created Download the new file and replace the old one
Tarball A plain folder you extract anywhere and run in place None Not created Extract the new archive over it

If you are on Ubuntu, Debian, Mint, or anything else that uses apt, take the Debian package: it is the least trouble and behaves like any other installed application. On a distribution that does not use apt, take the Flatpak. If you are running inside a virtual machine, or you cannot install system packages at all, take the tarball, or the AppImage together with the note on restricted environments below.


The Debian package

Castiel-linux-x64.deb is an ordinary Debian package. It installs the application into /usr/lib/castiel, puts a castiel command on your path, and registers the desktop entry, the icon, and the Castiel file types with the system.

1. Install the package

Change to the directory holding the file and run:

sudo apt install ./Castiel-linux-x64.deb

The leading ./ matters: without it apt looks for a package named Castiel-linux-x64.deb in your configured repositories and reports that it cannot find it.

You can also simply double-click the .deb file and let Ubuntu Software (App Center) install it.

2. Launch Castiel

  • From the desktop. Press Super (the Windows key), type Castiel, and click the icon.
  • From a terminal.
castiel

Updating and removing

To update, install the newer .deb the same way; it replaces the previous version in place. To remove it:

sudo apt remove castiel

The Flatpak bundle

A Flatpak application runs in a sandbox and relies on a shared desktop runtime rather than carrying a whole operating system with it. Castiel uses org.freedesktop.Platform version 24.08. A standalone .flatpak bundle file does not include that runtime, so Flatpak has to be able to fetch it - which means the Flathub remote must be registered first. On a fresh Ubuntu installation it usually is not, and this is the single most common reason a Flatpak install of Castiel fails on the first attempt.

1. Add the Flathub repository

Open a terminal and register Flathub:

flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

If Flathub is already registered the command does nothing and reports success.

2. Install the Freedesktop 24.08 runtime

flatpak install flathub org.freedesktop.Platform//24.08

This is a sizeable download the first time. Once it is present, other Flatpak applications built on the same runtime will reuse it.

3. Install the Castiel bundle

Change to the directory holding Castiel-x86_64.flatpak and run:

flatpak install ./Castiel-x86_64.flatpak

You can also simply double-click the .flatpak file and let Ubuntu Software (App Center) install it.

4. Launch Castiel

  • From the desktop. Press Super (the Windows key), type Castiel, and click the icon.
  • From a terminal.
flatpak run com.castiel.desktop

If the install was interrupted

If a first attempt failed part-way through - typically because the runtime was missing - Flatpak can be left holding data for an application it no longer considers installed. Ubuntu Software then shows:

!

com.castiel.desktop is not installed, but it still has data present.

Clear the leftover state and install again:

flatpak uninstall --delete-data com.castiel.desktop
flatpak install ./Castiel-x86_64.flatpak

The AppImage

An AppImage is a single executable file: there is nothing to install and nothing to uninstall, you just run it. Two things stop it working out of the box on a current Ubuntu.

The first is that a downloaded file does not carry permission to be executed, and your file manager will not offer to run it until you grant that permission. The second is that Type-2 AppImages mount themselves using FUSE 2, and from Ubuntu 22.04 LTS onward the system ships fuse3 and no longer includes libfuse2. Without it the AppImage exits immediately, usually complaining that it cannot mount the image.

1. Grant execute permission

  • From the desktop. Right-click Castiel-x86_64.AppImage, choose Properties, open the Permissions tab, and tick Allow executing file as program.
  • From a terminal.
chmod +x Castiel-x86_64.AppImage

2. Install libfuse2

sudo apt update
sudo apt install libfuse2

On Ubuntu 24.04 and newer the package may be named libfuse2t64; if apt says libfuse2 has no installation candidate, use:

sudo apt install libfuse2t64

3. Launch Castiel

  • From the desktop. Double-click the file, or right-click it and choose Run as a Program.
  • From a terminal.
./Castiel-x86_64.AppImage

Virtual machines and restricted environments

Inside VMware, VirtualBox, and some container or hardened setups, the kernel does not permit FUSE mounts at all, so no amount of installing libfuse2 will help. In that case tell the AppImage to unpack itself to a temporary directory and run from there instead of mounting:

APPIMAGE_EXTRACT_AND_RUN=1 ./Castiel-x86_64.AppImage

Startup is a little slower because the contents are extracted each time, but the application is otherwise identical.

If FUSE is unavailable you may find the tarball below simpler than working around it.


The portable tarball

Castiel-linux-x64.tar.gz is the application as a plain folder. Nothing is installed, nothing is registered with the system, and nothing needs root: you extract it wherever you like and run it from there. This is the format to reach for on a machine where you cannot install packages, or where FUSE is unavailable and the AppImage will not mount.

1. Extract the archive

tar -xzf Castiel-linux-x64.tar.gz

That creates a castiel-linux-x64 directory next to the archive.

2. Launch Castiel

cd castiel-linux-x64
./Castiel.Desktop

If the file does not run, it lost its executable bit somewhere in transfer; restore it with chmod +x Castiel.Desktop and try again.

Notes on the tarball

  • No desktop menu entry or icon is created. If you want one, write your own .desktop file pointing at the extracted Castiel.Desktop.
  • The Castiel file types are not registered, so double-clicking a saved tape will not open it in Castiel.
  • To update, extract the new archive over the old directory. To remove it, delete the directory.

Window appearance on Linux

On Linux, Castiel draws its own title bar and asks the desktop not to add a second one, so the window shows a single Castiel-styled frame rather than a system bar stacked on top of the app's own. Drag that title bar to move the window and double-click it to maximize, exactly as you would with a native frame. This is Linux-specific behaviour: the Windows build keeps the standard system frame.


Where to go next

With the app running, getting started introduces the window, the mode strip, and the first-run setup, and the paper tape covers the shared log that every mode writes to.