1UDISKIE(8)                          udiskie                         UDISKIE(8)
2
3
4

NAME

6       udiskie - automounter for removable media
7

SYNOPSIS

9       udiskie [OPTIONS]
10
11       udiskie-mount [OPTIONS] (-a | DEVICE...)
12
13       udiskie-umount [OPTIONS] (-a | PATH...)
14

DESCRIPTION

16       udiskie is an udisks2 front-end written in python. Its main purpose is
17       automatically mounting removable media, such as CDs or flash drives. It
18       has optional mount notifications, a GTK tray icon and user level CLIs
19       for manual mount and unmount operations. The media will be mounted in a
20       new directory under /media or /run/media/USER/, using the device name
21       if possible.
22

COMMON OPTIONS

24       -h, --help
25           Show help message and exit.
26
27       -V, --version
28           Show help message and exit.
29
30       -v, --verbose
31           Verbose output.
32
33       -q, --quiet
34           Quiet output.
35
36       -c FILE, --config=FILE
37           Specify config file.
38
39       -C, --no-config
40           Don’t use any config file.
41

SHARED MOUNT AND DAEMON OPTIONS

43       -p COMMAND, --password-prompt=COMMAND
44           Password retrieval command. The string is formatted with the device
45           attributes as keyword arguments, e.g.:
46
47               -p "zenity --entry --hide-text --text 'Enter password for {device_presentation}:'"
48
49       -P, --no-password-prompt
50           Disable unlocking of LUKS devices.
51

DAEMON OPTIONS

53       -a, --automount
54           Enable automounting new devices (default).
55
56       -A, --no-automount
57           Disable automounting new devices.
58
59       -n, --notify
60           Enable pop-up notifications (default).
61
62       -N, --no-notify
63           Disable pop-up notifications.
64
65       -t, --tray
66           Show tray icon.
67
68       -s, --smart-tray
69           Show tray icon that automatically hides when there is no action
70           available.
71
72       -T, --no-tray
73           Disable tray icon (default).
74
75       -f PROGRAM, --file-manager=PROGRAM
76           Set program to open mounted directories. Default is 'xdg-open'.
77           Pass an empty string to disable this feature.
78
79       -F, --no-file-manager
80           Disable browsing.
81
82       --terminal=PROGRAM
83           Set terminal command line to open mounted directories. Default is
84           none! Pass an empty string to disable this feature.
85
86       --no-terminal
87           Disable terminal action.
88
89       --appindicator
90           Use AppIndicator3 for the status icon. Use this on Ubuntu/Unity if
91           no icon is shown.
92
93       --no-appindicator
94           Use Gtk.StatusIcon for the status icon (default).
95
96       --password-cache MINUTES
97           Cache passwords for LUKS partitions and set the timeout.
98
99       --no-password-cache
100           Never cache passwords (default).
101
102       --notify-command COMMAND
103           Command to execute on device events. Command string be formatted
104           using the event name and the list of device attributes (see below),
105           e.g.:
106
107               --notify-command "zenity --info --text '{event}: {device_presentation}'"
108
109       --no-notify-command
110           No notify command (default).
111

MOUNT OPTIONS

113       -a, --all
114           Mount all handled devices.
115
116       -r, --recursive
117           Recursively mount cleartext partitions after unlocking a LUKS
118           device. This will happen by default when running the udiskie
119           daemon.
120
121       -R, --no-recursive
122           Disable recursive mounting (default).
123
124       -o OPTIONS, --options=OPTIONS
125           Set mount options.
126

UNMOUNT OPTIONS

128       -a, --all
129           Unmount all handled devices.
130
131       -d, --detach
132           Detach drive by e.g. powering down its physical port.
133
134       -D, --no-detach
135           Don’t detach drive (default).
136
137       -e, --eject
138           Eject media from the drive, e.g CDROM.
139
140       -E, --no-eject
141           Don’t eject media (default).
142
143       -f, --force
144           Force removal (recursive unmounting).
145
146       -F, --no-force
147           Don’t force removal (default).
148
149       -l, --lock
150           Lock device after unmounting (default).
151
152       -L, --no-lock
153           Don’t lock device.
154

EXAMPLE USAGE

156       Start udiskie in ~/.xinitrc:
157
158           udiskie &
159
160       Unmount media and power down USB device:
161
162           udiskie-umount --detach /media/Sticky
163
164       Mount all media:
165
166           udiskie-mount -a
167
168       Mount /dev/sdb1:
169
170           udiskie-mount /dev/sdb1
171

CONFIGURATION

173       The file .config/udiskie/config.yml can be used to configure defaults
174       for command line parameters and customize further settings. The actual
175       path may differ depending on $XDG_CONFIG_HOME. The file format is YAML,
176       see https://en.wikipedia.org/wiki/YAML. If you don’t want to install
177       PyYAML, it is possible to use an equivalent JSON file with the name
178       config.json instead.
179
180           # This is an example (nonsense) configuration file for udiskie.
181
182           program_options:
183             # Configure defaults for command line options
184
185             tray:             auto    # [bool] Enable the tray icon. "auto"
186                                       # means auto-hide the tray icon when
187                                       # there are no handled devices.
188
189             menu:             flat    # ["flat" | "nested"] Set the
190                                       # systray menu behaviour.
191
192             automount:        false   # [bool] Enable automatic mounting.
193
194             notify:           true    # [bool] Enable notifications.
195
196             password_cache:   30      # [int] Password cache in minutes. Caching is
197                                       # disabled by default. It can be disabled
198                                       # explicitly by setting it to false
199
200             file_manager:     xdg-open
201               # [string] Set program to open directories. It will be invoked
202               # with the folder path as its last command line argument.
203
204             terminal:         'termite -d'
205               # [string] Set terminal command line to open directories. It will be
206               # invoked with the folder path as its last command line argument.
207
208             password_prompt: ["gnome-keyring-query", "get", "{id_uuid}"]
209               # [string|list] Set command to retrieve passwords. If specified
210               # as a list it defines the ARGV array for the program call. If
211               # specified as a string, it will be expanded in a shell-like
212               # manner. Each string will be formatted using `str.format`. For a
213               # list of device attributes, see below. The two special string values
214               # "builtin:gui" and "builtin:tty" signify to use udiskie's
215               # builtin password prompt.
216
217             notify_command: "zenity --info --text '{event}: {device_presentation}'"
218               # [string|list] Set command to be executed on any device event.
219               # This is specified like `password_prompt`.
220
221           device_config:
222
223             # List of device option rules. Each item can match any combination of device
224             # attributes. Additionally, it defines the resulting action (see below).
225             # Any rule can contain multiple filters (AND) and multiple actions.
226             # Only the first matching rule that defines a given action is used.
227             # The rules defined here are simply prepended to the builtin device rules,
228             # so that it is possible to completely overwrite the defaults by specifying
229             # a catch-all rule (i.e. a rule without device attributes).
230
231           - device_file: /dev/dm-5    # [filter]
232             ignore:      false        # [action] never ignore this device
233           - id_uuid: 9d53-13ba        # [filter] match by device UUID
234             options: [noexec, nodev]  # [action] mount options can be given as list
235             ignore:  false            # [action] never ignore this device (even if fs=FAT)
236             automount: false          # [action] do not automount this device
237           - id_type: vfat             # [filter] match file system type
238             ignore:  true             # [action] ignore all FAT devices
239
240           - id_type: ntfs             # [filter] (optional)
241             skip: true                # [action] skip all further (even builtin) rules
242                                       # for all matched devices, and resolve action result
243                                       # on parent device
244
245           - ignore:    True           # never mount/unmount or even show this in the GUI
246             automount: False          # show but do not automount this device
247             options: []               # additional options to be passed when mounting
248
249           mount_options:              # [deprecated] do not use
250           ignore_device:              # [deprecated] do not use
251
252           notifications:
253             # Customize which notifications are shown for how long. Possible
254             # values are:
255             #   positive number         timeout in seconds
256             #   false                   disable
257             #   -1                      use the libnotify default timeout
258
259             timeout:          1.5     # set the default for all notifications
260
261             # Specify only if you want to overwrite the default:
262             device_mounted:   5       # mount notification
263             device_unmounted: false   # unmount notification
264             device_added:     false   # device has appeared
265             device_removed:   false   # device has disappeared
266             device_unlocked:  -1      # encrypted device was unlocked
267             device_locked:    -1      # encrypted device was locked
268             job_failed:       -1      # mount/unlock/.. has failed
269
270           quickmenu_actions: [mount, unmount, unlock, terminal, detach, delete]
271             # List of actions to be shown in the quickmenu or the special value 'all'.
272             # The quickmenu is shown on left-click if using flat menu type.
273
274           notification_actions:
275             # Define which actions should be shown on notifications. Note that there
276             # are currently only a limited set of actions available for each
277             # notification. Events that are not explicitly specified show the default
278             # set of actions. Specify an empty list if you don't want to see any
279             # notification for the specified event:
280
281             device_mounted:   [browse]
282             device_added:     [mount]
283
284           icon_names:
285             # Customize the icon set used by the tray widget. Each entry
286             # specifies a list of icon names. The first installed icon from
287             # that list will be used.
288
289             media:   [drive-removable-media, media-optical]
290             browse:  [document-open, folder-open]
291             terminal: [terminal, terminator, xfce-terminal]
292             mount:   [udiskie-mount]
293             unmount: [udiskie-unmount]
294             unlock:  [udiskie-unlock]
295             lock:    [udiskie-lock]
296             eject:   [udiskie-eject, media-eject]
297             detach:  [udiskie-detach]
298             delete:  [udiskie-eject]
299             quit:    [application-exit]
300
301       All keys are optional. Reasonable defaults are used if you leave them
302       unspecified.
303

DEVICE ATTRIBUTES

305       Some of the config entries make use of Device attributes. The following
306       list of attributes is currently available, but there is no guarantee
307       that they will remain available:
308
309           Attribute               Hint/Example
310
311           is_drive
312           is_block
313           is_partition_table
314           is_partition
315           is_filesystem
316           is_luks
317           is_loop
318           is_toplevel
319           is_detachable
320           is_ejectable
321           has_media
322           device_file             block device path, e.g. "/dev/sdb1"
323           device_presentation     display string, e.g. "/dev/sdb1"
324           device_size             block device size
325           device_id               unique, persistent device identifier
326           id_usage                E.g. "filesystem" or "crypto"
327           is_crypto
328           is_ignored
329           id_type                 E.g. "ext4" or "crypto_LUKS"
330           id_label                device label
331           id_uuid                 device UUID
332           is_luks_cleartext
333           is_external             udisks flag HintSystem=false
334           is_systeminternal       udisks flag HintSystem=true
335           is_mounted
336           mount_paths             list of mount paths
337           mount_path              any mount path
338           is_unlocked
339           in_use                  device or any of its children mounted
340           should_automount
341           ui_label
342           loop_file               file backing the loop device
343           setup_by_uid            user that setup the loop device
344           autoclear               automatically delete loop device after use
345           symlinks
346           drive_model
347           drive_vendor
348           drive_label
349           ui_device_label
350           ui_device_presentation
351           ui_id_label
352           ui_id_uuid
353

SEE ALSO

355       udisks(1)
356
357       https://www.freedesktop.org/wiki/Software/udisks/
358

CONTACT

360       You can use the github issues to report any issues you encounter, ask
361       general questions or suggest new features. If you don’t have or like
362       github, you can contact me by email:
363
364       https://github.com/coldfix/udiskie/issues
365
366       thomas@coldfix.de
367
368
369
370udiskie                           11/24/2023                        UDISKIE(8)
Impressum