Difference between revisions of "Udiskie"

From ArchWiki
Jump to: navigation, search
(Permissions)
(fix broken redirect)
 
(15 intermediate revisions by 9 users not shown)
Line 1: Line 1:
[[Category:Hardware detection and troubleshooting]]
+
#REDIRECT: [[Udisks]]
[http://bitbucket.org/byronclark/udiskie Udiskie] is an automatic disk mounting service using {{Pkg|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 [[pacman|install]] Udiskie by using the {{pkg|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 <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 [[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 ==
 
Use the <code>udiskie-umount</code> 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
 
 
 
== 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>
 

Latest revision as of 10:53, 13 April 2015

Redirect to: