UDISKIE(8)

πŸ’– UDISKIE(8) πŸ’–

okay bestie, welcome to the udiskie page β€” it's UDISKIE(8) if you're being formal, but we're not. Let's get into it πŸ’…

✨ NAME ✨

udiskie β€” automounter for removable media. periodt.

🌸 SYNOPSIS 🌸

udiskie [OPTIONS]

udiskie-mount [OPTIONS] (-a | DEVICE...)

udiskie-umount [OPTIONS] (-a | PATH...)

πŸ¦‹ DESCRIPTION πŸ¦‹

So like, udiskie is an udisks2 front-end written in python. Its whole main character purpose? Automatically mounting removable media, such as CDs or flash drives. It also has optional mount notifications, a GTK tray icon, and user level CLIs for manual mount and unmount operations. The media will be mounted in a new directory under /media or /run/media/USER/, using the device name if possible. no cap, that's the vibe.

πŸ’– COMMON OPTIONS πŸ’–

  • -h, --help β€” Show help message and exit. (yes bestie, it helps πŸ’…)
  • -V, --version β€” Show help message and exit. (ik it says help, that's what the page says, don't come for me 😭)
  • -v, --verbose β€” Verbose output. spill the tea.
  • -q, --quiet β€” Quiet output. shhh.
  • -c FILE, --config=FILE β€” Specify config file.
  • -C, --no-config β€” Don't use any config file.

πŸ”₯ SHARED MOUNT AND DAEMON OPTIONS πŸ”₯

  • -p COMMAND, --password-prompt=COMMAND β€” Password retrieval command. The string is formatted with the device attributes as keyword arguments, e.g.:
-p "zenity --entry --hide-text --text 'Enter password for {device_presentation}:'"
  • -P, --no-password-prompt β€” Disable unlocking of LUKS devices.

πŸ‘‘ DAEMON OPTIONS πŸ‘‘

  • -a, --automount β€” Enable automounting new devices (default).
  • -A, --no-automount β€” Disable automounting new devices.
  • -n, --notify β€” Enable pop-up notifications (default).
  • -N, --no-notify β€” Disable pop-up notifications.
  • -t, --tray β€” Show tray icon.
  • -s, --smart-tray β€” Show tray icon that automatically hides when there is no action available.
  • -T, --no-tray β€” Disable tray icon (default).
  • -f PROGRAM, --file-manager=PROGRAM β€” Set program to open mounted directories. Default is 'xdg-open'. Pass an empty string to disable this feature.
  • -F, --no-file-manager β€” Disable browsing.
  • --terminal=PROGRAM β€” Set terminal command line to open mounted directories. Default is none! Pass an empty string to disable this feature.
  • --no-terminal β€” Disable terminal action.
  • --appindicator β€” Use AppIndicator3 for the status icon. Use this on Ubuntu/Unity if no icon is shown.
  • --no-appindicator β€” Use Gtk.StatusIcon for the status icon (default).
  • --password-cache MINUTES β€” Cache passwords for LUKS partitions and set the timeout.
  • --no-password-cache β€” Never cache passwords (default).
  • --event-hook COMMAND β€” Command to execute on device events. Command string be formatted using the event name and the list of device attributes (see below), e.g.:
--event-hook "zenity --info --text '{event}: {device_presentation}'"
  • --no-event-hook β€” No notify command (default).

πŸ’… MOUNT OPTIONS πŸ’…

  • -a, --all β€” Mount all handled devices.
  • -r, --recursive β€” Recursively mount cleartext partitions after unlocking a LUKS device. This will happen by default when running the udiskie daemon.
  • -R, --no-recursive β€” Disable recursive mounting (default).
  • -o OPTIONS, --options=OPTIONS β€” Set mount options.

πŸŽ€ UNMOUNT OPTIONS πŸŽ€

  • -a, --all β€” Unmount all handled devices.
  • -d, --detach β€” Detach drive by e.g. powering down its physical port.
  • -D, --no-detach β€” Don't detach drive (default).
  • -e, --eject β€” Eject media from the drive, e.g CDROM.
  • -E, --no-eject β€” Don't eject media (default).
  • -f, --force β€” Force removal (recursive unmounting).
  • -F, --no-force β€” Don't force removal (default).
  • -l, --lock β€” Lock device after unmounting (default).
  • -L, --no-lock β€” Don't lock device.

🌈 EXAMPLE USAGE 🌈

Start udiskie in ~/.xinitrc:

udiskie &

Unmount media and power down USB device:

udiskie-umount --detach /media/Sticky

Mount all media:

udiskie-mount -a

Mount /dev/sdb1:

udiskie-mount /dev/sdb1

🧚 CONFIGURATION 🧚

The file .config/udiskie/config.yml can be used to configure defaults for command line parameters and customize further settings. The actual path may differ depending on $XDG_CONFIG_HOME. The file format is YAML, see https://en.wikipedia.org/wiki/YAML. If you don't want to install PyYAML, it is possible to use an equivalent JSON file with the name config.json instead.

# This is an example (nonsense) configuration file for udiskie.

program_options:
  # Configure defaults for command line options

  tray:             auto    # [bool] Enable the tray icon. "auto"
                            # means auto-hide the tray icon when
                            # there are no handled devices.

  menu:             flat    # ["flat" | "nested"] Set the
                            # systray menu behaviour.

  automount:        false   # [bool] Enable automatic mounting.

  notify:           true    # [bool] Enable notifications.

  password_cache:   30      # [int] Password cache in minutes. Caching is
                            # disabled by default. It can be disabled
                            # explicitly by setting it to false

  file_manager:     xdg-open
    # [string] Set program to open directories. It will be invoked
    # with the folder path as its last command line argument.

  terminal:         'termite -d'
    # [string] Set terminal command line to open directories. It will be
    # invoked with the folder path as its last command line argument.

  password_prompt: ["gnome-keyring-query", "get", "{id_uuid}"]
    # [string|list] Set command to retrieve passwords. If specified
    # as a list it defines the ARGV array for the program call. If
    # specified as a string, it will be expanded in a shell-like
    # manner. Each string will be formatted using `str.format`. For a
    # list of device attributes, see below. The two special string values
    # "builtin:gui" and "builtin:tty" signify to use udiskie's
    # builtin password prompt.

  event_hook: "zenity --info --text '{event}: {device_presentation}'"
    # [string|list] Set command to be executed on any device event.
    # This is specified like `password_prompt`.

device_config:

  # List of device option rules. Each item can match any combination of device
  # attributes. Additionally, it defines the resulting action (see below).
  # Any rule can contain multiple filters (AND) and multiple actions.
  # Only the first matching rule that defines a given action is used.
  # The rules defined here are simply prepended to the builtin device rules,
  # so that it is possible to completely overwrite the defaults by specifying
  # a catch-all rule (i.e. a rule without device attributes).
  # Filter rules can be passed a list of values, in which case the rule is matched
  # if the attribute matches any of the values in the list.

- device_file: /dev/dm-5    # [filter]
  ignore:      false        # [action] never ignore this device
- id_uuid:                  # [filter] match by device UUID
  - 9d53-13ba               # This rule matches on either of these uids
  - 8675-309a
  options: [noexec, nodev]  # [action] mount options can be given as list
  ignore:  false            # [action] never ignore this device (even if fs=FAT)
  automount: false          # [action] do not automount this device
- id_type: vfat             # [filter] match file system type
  ignore:  true             # [action] ignore all FAT devices

- id_type: ntfs             # [filter] (optional)
  skip: true                # [action] skip all further (even builtin) rules
                            # for all matched devices, and resolve action result
                            # on parent device

- ignore:    true           # never mount/unmount or even show this in the GUI
  automount: false          # show but do not automount this device
  options: []               # additional options to be passed when mounting

- id_uuid: ...              # [filter] match device by UUID
  keyfile: /path/to/keyfile # [action] use keyfile to unlock a luks encrypted
                            # device, bypassing the password prompt

  mount_options:              # [deprecated] do not use
  ignore_device:              # [deprecated] do not use

  notifications:
    # Customize which notifications are shown for how long. Possible
    # values are:
    #   positive number         timeout in seconds
    #   false                   disable
    #   -1                      use the libnotify default timeout

    timeout:          1.5     # set the default for all notifications

    # Specify only if you want to overwrite the default:
    device_mounted:   5       # mount notification
    device_unmounted: false   # unmount notification
    device_added:     false   # device has appeared
    device_removed:   false   # device has disappeared
    device_unlocked:  -1      # encrypted device was unlocked
    device_locked:    -1      # encrypted device was locked
    job_failed:       -1      # mount/unlock/.. has failed

  quickmenu_actions: [mount, unmount, unlock, terminal, detach, delete]
    # List of actions to be shown in the quickmenu or the special value 'all'.
    # The quickmenu is shown on left-click if using flat menu type.

  notification_actions:
    # Define which actions should be shown on notifications. Note that there
    # are currently only a limited set of actions available for each
    # notification. Events that are not explicitly specified show the default
    # set of actions. Specify an empty list if you don't want to see any
    # notification for the specified event:

    device_mounted:   [browse]
    device_added:     [mount]

  icon_names:
    # Customize the icon set used by the tray widget. Each entry
    # specifies a list of icon names. The first installed icon from
    # that list will be used.

    media:   [drive-removable-media, media-optical]
    browse:  [document-open, folder-open]
    terminal: [terminal, terminator, xfce-terminal]
    mount:   [udiskie-mount]
    unmount: [udiskie-unmount]
    unlock:  [udiskie-unlock]
    lock:    [udiskie-lock]
    eject:   [udiskie-eject, media-eject]
    detach:  [udiskie-detach]
    delete:  [udiskie-eject]
    quit:    [application-exit]

All keys are optional. Reasonable defaults are used if you leave them unspecified.

πŸ¦‹ DEVICE ATTRIBUTES

okay so bestie, some of the config entries up there πŸ‘† get to use device attributes. Here's the whole list that's available right now β€” but no cap, the manpage literally says there's no guarantee they'll stay available, so don't get too attached πŸ’…

  • is_drive
  • is_block
  • is_partition_table
  • is_partition
  • is_filesystem
  • is_luks
  • is_loop
  • is_toplevel
  • is_detachable
  • is_ejectable
  • has_media
  • device_file β€” block device path, e.g. "/dev/sdb1"
  • device_presentation β€” display string, e.g. "/dev/sdb1"
  • device_size β€” block device size
  • device_id β€” unique, persistent device identifier
  • id_usage β€” E.g. "filesystem" or "crypto"
  • is_crypto
  • is_ignored
  • id_type β€” E.g. "ext4" or "crypto_LUKS"
  • id_label β€” device label
  • id_uuid β€” device UUID
  • is_luks_cleartext
  • is_external β€” udisks flag HintSystem=false
  • is_systeminternal β€” udisks flag HintSystem=true
  • is_mounted
  • mount_paths β€” list of mount paths
  • mount_path β€” any mount path
  • is_unlocked
  • in_use β€” device or any of its children mounted
  • should_automount
  • ui_label
  • loop_file β€” file backing the loop device
  • setup_by_uid β€” user that setup the loop device
  • autoclear β€” automatically delete loop device after use
  • symlinks
  • drive_model
  • drive_vendor
  • drive_label
  • ui_device_label
  • ui_device_presentation
  • ui_id_label
  • ui_id_uuid

πŸ‘€ SEE ALSO

and fr fr, the wiki is right here if you wanna go deeper:

https://www.freedesktop.org/wiki/Software/udisks/

πŸ’Œ CONTACT

Got a bug? A question? A galaxy-brain feature idea? 🫢 The github issues are the place β€” report issues, ask general questions, or suggest new features, all welcome. And if you don't have a github or just don't vibe with it, you can email me instead, no judgement:

https://github.com/coldfix/udiskie/issues

thomas@coldfix.de

🌸 and that's a wrap on the whole page, bestie! udiskie, version 08/04/2026, from the UDISKIE(8) manual β€” go mount something iconic. periodt πŸ’–βœ¨πŸ‘‘
πŸ“¦ where this page comes from