summaryrefslogtreecommitdiff
path: root/libmtp.sh.in
blob: b149413e79f4fcc8d4a2ba596a9eea939ff36763 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/bin/sh
# Lifts a plugged in MTP device to user space and
# optionally runs a client program.
# Written by Linus Walleij 2006, based on the "usbcam"
# script by Nalin Dahyabhai.
DEVICEOWNER=root
DEVICEPERMS=666

# Special quirk for SuSE systems using "resmgr"
# (see http://rechner.lst.de/~okir/resmgr/)
if [ -f /sbin/resmgr ]
then
    /sbin/resmgr "${ACTION}" "${DEVICE}" desktop usb
    exit 0
fi

# This is for most other distributions
if [ "${ACTION}" = "add" ] && [ -f "${DEVICE}" ]
then
    # New code, using lock files instead of copying /dev/console permissions
    # This also works with non-gdm logins (e.g. on a virtual terminal)
    # Idea and code from Nalin Dahyabhai <nalin@redhat.com>
    if [ "x$DEVICEOWNER" = "xCONSOLE" ]
    then
	if [ -f /var/run/console/console.lock ]
	then
	    DEVICEOWNER=`cat /var/run/console/console.lock`
	elif [ -f /var/run/console.lock ]
	then
	    DEVICEOWNER=`cat /var/run/console.lock`
	elif [ -f /var/lock/console.lock ]
	then
	    DEVICEOWNER=`cat /var/lock/console.lock`
	else
	    DEVICEOWNER="nobody"
	    DEVICEPERMS="666"
	fi
    fi
    if [ -n "$DEVICEOWNER" ]
    then
        chmod 0000 "${DEVICE}"
        chown "${DEVICEOWNER}" "${DEVICE}"
        chmod "${DEVICEPERMS}" "${DEVICE}"
    fi
fi