-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnomadjukebox
48 lines (46 loc) · 1.38 KB
/
nomadjukebox
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
46
47
48
#!/bin/sh
# Lifts a plugged in nomad jukebox to user space and
# optionally runs a client program.
# Written by Linus Walleij 2004, based on the "usbcam"
# script by Nalin Dahyabhai.
DEVICEOWNER=CONSOLE
DEVICEPERMS=0600
PROGRAM="cd ~; gnomad2 --display=localhost:0"
# 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 <[email protected]>
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}"
# Then run an optional program - this does not work yet.
# su "${CONSOLEOWNER}" -c "${PROGRAM}"
fi
fi