Updating
OhMyDebn automatically checks for updates every 6 hours by default. If it finds a new version of OhMyDebn, it will pop up a notification. You can click the notification to update to the latest version.
Before updating, please review the Release Notes so that you are aware of any changes. The complete technical changelog for each release is on GitHub.
Also make sure that you have stable power and Internet access to avoid any interruptions to the update process.
In addition to the pop-up notification, there are a few other ways to start the update process:
- open the OhMyDebn menu and select Update > OhMyDebn
- use hotkey
Ctrl + Super + U - if you're already in a terminal and want to run from there then you can use:
ohmydebn-update
This will update the base OS packages, our OhMyDebn packages, and any config files if necessary.
Before it starts, the update window shows your current OhMyDebn version and whether a newer release is available, so you know in advance whether the run will bring a new OhMyDebn or just OS package updates. The update runs either way.
Note
On Devuan, LCOS, and MX Linux with sysvinit there is no systemd, so the automatic update check and its notification are not installed. Start updates yourself using any of the methods above.
Stopping an update
To stop an update that's running, close the update window and choose Abort update (or Keep updating to carry on). If a package is being installed at that moment, it finishes first, so your system isn't left with a half-installed package; then the update stops. Run the update again later to finish it.
Channels
OhMyDebn Menu > Update > Channel lets you choose where updates come from. Each list marks the channel you're on now.
OhMyDebn has two channels:
- Stable is where every installation starts, and it's the right choice for almost everyone. Packages reach stable only after they've been tested and released.
- Testing gets new OhMyDebn packages as soon as they're built, before they're tested and released. They can be broken or incomplete, and an update from testing can leave your desktop needing repair by hand. Only use testing on a machine you can afford to break, such as a virtual machine. Because of the risk, switching to testing asks you to type
testingto confirm.
Switching the OhMyDebn channel only changes where packages come from. To install them, run Update > OhMyDebn afterwards. Switching back to stable doesn't downgrade anything: packages you got from testing stay installed until stable has the same or a newer version.
Claude Code also has two channels, if you've installed Claude Code:
- Stable is about a week behind and skips releases with serious bugs. This is what OhMyDebn sets up when you install Claude Code.
- Latest gets every release as soon as it ships. You get new features sooner, with a higher chance of running into a problem. Switching to latest asks you to confirm, then upgrades Claude Code right away.
Switching Claude Code back to stable keeps your installed version until stable catches up.
Firmware
OhMyDebn Menu > Update > Firmware checks your computer's firmware (such as the system BIOS/UEFI, SSDs, docks, and some peripherals) for updates and installs them. It uses fwupd, which gets updates from the Linux Vendor Firmware Service (LVFS), so only devices whose makers publish their firmware there are covered. If fwupd isn't installed yet, it says so and asks before installing it.
fwupd lists the updates it found and asks before installing each one. Keep your computer plugged in and don't turn it off while firmware is updating. Some updates are installed during the next restart, and fwupd tells you when that's the case.
If none of your devices get firmware through LVFS, such as in a virtual machine, it reports that your firmware is up to date.
Reboots
If the update installs a new kernel, or a package asks for a reboot, the update finishes with a notice saying so. Nothing is broken in the meantime: a new kernel simply isn't in use until you reboot, and a package that asked for a reboot (such as libc6) is already installed, with programs that were already running keeping its old version loaded until they restart. Reboot whenever it's convenient.
Logs
Every update is logged to ~/.local/state/ohmydebn-logs/, one file per run, with update-latest.log always pointing at the most recent one. The ten most recent logs are kept. If an update fails, that log is the thing to look at (or to include when asking for help):
less ~/.local/state/ohmydebn-logs/update-latest.log
Alongside it, stages-latest.log is a short timeline of the same run: one line per stage with the clock time and how long into the run it started, which is the quickest way to see which stage took the time.
One update at a time
Only one update can run at a time. If you start a second one, whether from the menu, the hotkey, the notification, or a terminal, it tells you an update is already running and exits. Wait for the first one to finish.
If the update can't reach OhMyDebn's own package repository, for example with no Internet access, it stops before changing anything and tells you. Any other repository that fails to refresh, such as a third-party one that is down or no longer exists, is listed in a warning and skipped for that run, and the update continues. If a listed repository is one you no longer need, remove it from /etc/apt/sources.list.d/.
Checking your installation
OhMyDebn includes a read-only self-check that looks at everything the installer sets up and reports one line per item: whether your last update finished, packages and the OhMyDebn apt repository (including the pins that keep third-party repositories to their own packages), free disk space and any half-installed packages, the firewall and the blocks on vulnerable kernel modules, whether your clock is synchronized, whether your terminal and theme settings files are readable, your default browser and AI assistant, the Cinnamon extension and its settings, the current theme, Neovim and its plugins, the login session default, the update timer, the AI tools and their shell aliases, the custom hotkeys, and the tools other OhMyDebn commands rely on, including Oh My Zsh and the OhMyDebn Menu launcher. If you've installed optional apps such as UxPlay or Podman, it checks that they have everything they need too. It also lists any OhMyDebn updates that are waiting and tells you when a reboot is needed to finish an update. It changes nothing.
Run it from the OhMyDebn menu (Update > Doctor), or from a terminal:
ohmydebn-doctor
The top of its report shows your user, desktop and display scale (such as 2 on a HiDPI screen at 200%). Anything marked FAIL is worth a look, and the summary at the end lists them. If something on your system seems off after an update, running the doctor and including its output when asking for help is the quickest way to get a useful answer.
Run it from a terminal inside your Cinnamon session so it can check the desktop settings too. Over SSH it still runs, but the desktop-specific checks are marked as skipped rather than failed.
If you suspect a problem with automatic tiling, ohmydebn-doctor --exercise-tiling goes a step further: it switches to an empty workspace, cycles through every tiling mode, opens and closes test windows, and checks that each one lands where it should. It restores your workspace and tiling mode when it finishes.