Note
UDISKEN is not quite finished. A few features are planned, such as unlocking (see the note below). They will be implemented once I'm experienced with Qt.
A small Linux desktop removable media mounting daemon, that uses little memory. (~13x fewer memory used than udiskie on author's setup: from ~80 MiB to ~6 MiB)
Mount automatically your...:
- USB drive
- CD or DVD disk
- loop devices
Note
Unlocking encrypted disks is not supported yet. Some preliminary work has been done in the unlock branch.
- sdbus-c++ 2.1.0 or later
- spdlog 1.15.0 or later
- UDisks 2.10.0 or later
xdg-open(1)(optional)- argparse 3.1 or later (building only)
Available as udisken, udisken-bin (binary releases) or udisken-git (development branch).
paru -S udisken
# ...or...
yay -S udisken
# ...or...
aurwrapperx -S udiskenUDISKEN provides a systemd user service. You can enable it using:
systemctl --user enable udisken.serviceYou can also simply run the daemon like this:
udiskenUDISKEN takes a few command arguments.
Disabling notifications:
udisken --no-notifyDisabling log timestamp (useful for journal systems, journalctl):
udisken --no-log-timestampEnabling verbose mode:
udisken -d # or --verboseUDISKEN also reads from some environment variables.
Disabling notifications:
UDISKEN_NO_NOTIFY=1 udiskenDisabling log timestamp (useful for journal systems, journalctl):
UDISKEN_NO_LOG_TIMESTAMP=1 udiskenEnabling verbose mode:
DEBUG=1 udiskenOther configuration, such as enabling or disabling automounting per drive, is best done in lower-level configuration files or tools, such as fstab(5).
If done so, this will allow UDISKEN and other programs to respect such settings.
To manually mount, unmount, or do something else, you should use
udisksctl(1): it is simple enough to use and supports shell completion in
Bash, Fish, and Zsh*; simply remember to add -b|--block-device, like this:
udisksctl mount -b /dev/sdXN*Requires zsh-completions installed.
You will need to have the Meson build system installed in order to build UDISKEN.
Additionally, you will need the dependencies listed above. Some
dependencies are optional, and you can choose to enable or disable the features
that require them in meson.options.
Important
Make sure that the D-Bus API interface file option is correct before running this command: see UDisks D-Bus API bindings
You absolutely need to have sdbus-c++ installed, which provides the
sdbus-c++-xml2cpp program required for this step.
Simply make sure that the option udisks_dbus_interface in the project root
meson.build, points to the correct D-Bus interface XML file: this
corresponds to the Meson option being yielded to, as mentioned in
udisks-sdbus-c++'s README file.
Alternatively, you can provide the udisks_dbus_interface option when running
meson setup:
meson setup build -Dudisks_dbus_interface=/path/to/org.freedesktop.UDisks2.xmlThe file's location may vary depending on your distribution.
- Usually, it is located in the
/usr/share/dbus-1/interfaces/system directory. - In the UDisks upstream repository, it is located at data/org.freedesktop.UDisks2.xml
- Alternatively, you may change the file location in the root project
meson.build
For more information, see udisks-sdbus-c++.
git clone https://github.com/shkrazini/udisken
cd udisken
meson wrap update-db
meson setup build
meson compile -C buildCopyright © 2025-2026 Sofian-Hedi Krazini
Source and header files are licensed under the GNU General Public License Version 3.
This README is marked CC0 1.0 Universal.
UDISKEN Icon and UDISKEN Logo is based on Adwaita Icon Theme by the GNOME Project originally licensed under CC-BY-SA-3.0, modified and licensed under CC-BY-SA-4.0. UDISKEN Icon and UDISKEN Logo uses Inter, licensed under the SIL Open Font License 1.1.
Other files are licensed under the BSD Zero Clause License.