Difference between revisions of "Udiskie"

From ArchWiki
Jump to: navigation, search
(Permissions)
m (Permissions: Oops, missed this.)
(3 intermediate revisions by 2 users not shown)
Line 11: Line 11:
  
 
Once Udiskie is running, all removable media will automatically be mounted under <code>/media</code> under a new directory that matches the device name.
 
Once Udiskie is running, all removable media will automatically be mounted under <code>/media</code> under a new directory that matches the device name.
 
===Permissions===
 
udiskie requires permission for the <code>org.freedesktop.udisks.filesystem-mount</code> action to be granted through [[PolicyKit]]. If you use a display manager that supports [[logind|Systemd#Using_systemd-logind]] this will be taken care of for you automatically.
 
 
====Storage group====
 
If it doesn't already exist, create the file {{ic|/etc/polkit-1/localauthority/50-local.d/10-udiskie.pkla}} with these contents:
 
  [Local Users]
 
  Identity=unix-group:storage
 
  Action=org.freedesktop.udisks.*
 
  ResultAny=yes
 
  ResultInactive=yes
 
  ResultActive=yes
 
 
This example configuration allows any member of the {{ic|storage}} group to mount and unmount disks with udiskie.
 
  
 
== Unmounting ==
 
== Unmounting ==
Line 34: Line 20:
  
 
   udiskie-umount -a
 
   udiskie-umount -a
 
== Window Manager Menu Scripts ==
 
 
For convenience, you can add a script to the menu in some window managers to allow for easy access and control of removable media.
 
 
===Openbox===
 
Here's an openbox menu script that offers a slight variation on the WindowMaker example below:
 
 
<pre>
 
#!/bin/bash
 
 
# An openbox menu for removable media (requires udiskie).
 
#
 
# This script will generate sub-menus for any device mounted
 
# under /media. You can browse the device in a file manager or
 
# unmount it.
 
#
 
# It will ignore the "cd", "dvd", and "fl" directories and the U3
 
# containers found on some windows formatted drives
 
#
 
# By default, this script uses the rox file manager to browse the
 
# media.
 
 
DIR=$(cd $(dirname "$0") && pwd)
 
SCRIPT=$(basename "$0")
 
NOTIFY="notify-send"
 
FM_CMD="rox"
 
 
pipemenu() {
 
 
    cd /media
 
    echo '<openbox_pipe_menu>'
 
 
    for i in *
 
    do
 
if [ "$i" != "*" ] && [[ ! "$i" =~ ^U3|cd|dvd|fl ]]; then
 
    echo "<item label=\"Browse $i\">"
 
    echo "<action name=\"Execute\">"
 
    echo "<execute>$FM_CMD /media/$i</execute>"
 
    echo "</action></item>"
 
    echo "<item label=\"Unmount $i\">"
 
    echo "<action name=\"Execute\">"
 
    echo "<execute>$DIR/$SCRIPT unmount /media/$i</execute>"
 
    echo "</action></item>"
 
    echo "<separator/>"
 
fi
 
    done
 
 
    echo "<item label=\"Eject CD/DVD\">"
 
    echo "<action name=\"Execute\">"
 
    echo "<execute>eject -T</execute>"
 
    echo "</action></item>"
 
 
    echo "<item label=\"Remount all\">"
 
    echo "<action name=\"Execute\">"
 
    echo "<execute>$DIR/$SCRIPT remount</execute>"
 
    echo "</action></item>"
 
 
    echo "</openbox_pipe_menu>"
 
}
 
 
case $1 in
 
    unmount)
 
udiskie-umount $2
 
if mountpoint -q $2; then
 
    $NOTIFY "Failed to unmount $2"
 
else
 
    $NOTIFY "Unmounted $2"
 
fi
 
;;
 
    remount)
 
killall udiskie
 
udiskie &
 
$NOTIFY "Mounting removable media..."
 
;;
 
    *)
 
pipemenu
 
;;
 
esac
 
</pre>
 
 
===Window Maker===
 
Create a "Generated Submenu" entry in the root menu.
 
 
<pre>
 
#!/bin/bash
 
 
# For a Window Maker menu for removable media.
 
#
 
# This script will generate sub-menus for any device mounted
 
# under /media. You can browse the device in a file manager or
 
# unmount it.
 
#
 
# It will ignore the "cd", "dvd", and "fl" directories.
 
#
 
# It uses "emelFM2" file manager to browse the media.
 
 
cd /media
 
 
echo \"Media\" MENU
 
 
for i in *
 
do
 
  if ["$i" != "*" ] && [ "$i" != "cd" ] && [ "$i" != "dvd" ] && [ "$i" != "fl" ]
 
  then
 
    echo \"Browse $i\" EXEC \"emelfm2 -1 \'/media/$i\'\"
 
  fi
 
done
 
 
for i in *
 
do
 
  if ["$i" != "*" ] && [ "$i" != "cd" ] && [ "$i" != "dvd" ] && [ "$i" != "fl" ]
 
  then
 
    echo \"Unmount $i\" EXEC \"udiskie-umount \'/media/$i\'\"
 
  fi
 
done
 
 
echo \"Eject Disc\" EXEC \"eject --traytoggle\"
 
 
echo \"Media\" END
 
</pre>
 

Revision as of 19:46, 12 April 2013

Udiskie is an automatic disk mounting service using udisks. It can be used for mounting CDs, flash drives, and other media. It is simple to use and requires no configuration.

Installation

You can install Udiskie by using the udiskie package that is found in the Official Repositories. Start the Udiskie service by adding

udiskie &

to your xinitrc file, before the window manager is loaded.

Once Udiskie is running, all removable media will automatically be mounted under /media under a new directory that matches the device name.

Unmounting

Use the udiskie-umount command to unmount media. For example, for a device named "MY_USB_DRIVE":

 udiskie-umount /media/MY_USB_DRIVE

Or, you can unmount all media with the command:

 udiskie-umount -a