Skip to content

blackma9ick/udisken

Repository files navigation

UDISKEN

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.

Requires

Install

Arch Linux User Repository (AUR)

Available as udisken, udisken-bin (binary releases) or udisken-git (development branch).

paru -S udisken
# ...or...
yay -S udisken
# ...or...
aurwrapperx -S udisken

Running

UDISKEN provides a systemd user service. You can enable it using:

systemctl --user enable udisken.service

You can also simply run the daemon like this:

udisken

Configuring

UDISKEN takes a few command arguments.

Disabling notifications:

udisken --no-notify

Disabling log timestamp (useful for journal systems, journalctl):

udisken --no-log-timestamp

Enabling verbose mode:

udisken -d # or --verbose

UDISKEN also reads from some environment variables.

Disabling notifications:

UDISKEN_NO_NOTIFY=1 udisken

Disabling log timestamp (useful for journal systems, journalctl):

UDISKEN_NO_LOG_TIMESTAMP=1 udisken

Enabling verbose mode:

DEBUG=1 udisken

Other 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.

Building

Prepare

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

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.xml

The 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++.

Build

git clone https://github.com/shkrazini/udisken
cd udisken
meson wrap update-db
meson setup build
meson compile -C build

Copyright

Copyright © 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.

About

A small Linux automounter.

Topics

Resources

License

Stars

Watchers

Forks

Contributors