git-svn-id: https://svn.code.sf.net/p/gphoto/code/trunk/libgphoto2@15370 67ed7778-7388-44ab-90cf-0a291f65f57c
77 lines
2.3 KiB
Bash
77 lines
2.3 KiB
Bash
#!/bin/bash
|
|
# This program is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU Lesser General Public
|
|
# License as published by the Free Software Foundation; either
|
|
# version 2 of the License, or (at your option) any later version.
|
|
#
|
|
# This library is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
# Lesser General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU Lesser General Public
|
|
# License along with this library; if not, write to the
|
|
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
# Boston, MA 02110-1301 USA
|
|
#
|
|
#
|
|
# $Id$
|
|
#
|
|
# /etc/hotplug/usb/usbcam
|
|
#
|
|
# Sets up newly plugged in USB camera so that just one certain user
|
|
|
|
USER=root
|
|
|
|
# can access it from user space. (Replace root by the user you want
|
|
# to have access to the cameras.)
|
|
|
|
# It then runs the X11 application (gtkam is used as an example)
|
|
|
|
X11_APP=/usr/bin/gtkam
|
|
|
|
# on the X11 display (:0 should work on most single user workstations)
|
|
|
|
DISPLAY=:0
|
|
|
|
# in the directory (~$USER is just the user's home directory)
|
|
|
|
DIRECTORY=~$USER
|
|
|
|
#
|
|
# Note that for this script to work, you'll need all of the following:
|
|
# a) a line in the file /etc/hotplug/usermap that corresponds to the
|
|
# camera you are using. You can get the correct lines for all cameras
|
|
# supported by libgphoto2 by running
|
|
# $ print-camera-list usb-usermap usbcam
|
|
# b) run your camera software as the user given above
|
|
# c) a Linux kernel supporting hotplug and usbdevfs
|
|
# d) the hotplug package (http://linux-hotplug.sourceforge.net/)
|
|
# e) su
|
|
# f) env
|
|
# g) X11
|
|
#
|
|
# In the usermap file, the first field "usb module" should be named
|
|
# "usbcam" like this script.
|
|
#
|
|
# Script written by Trevor Woerner but slightly adapted for inclusion
|
|
# into libgphoto2.
|
|
|
|
SU=/bin/su
|
|
ENV=/usr/bin/env
|
|
|
|
if [ "${ACTION}" = "add" ] && [ -f "${DEVICE}" ]
|
|
then
|
|
chmod a-rwx "${DEVICE}"
|
|
chown "${USER}" "${DEVICE}"
|
|
chmod u+rw "${DEVICE}"
|
|
|
|
if [ "${USER}" != "root" ]
|
|
then
|
|
# we don't want to run this as root. definitely not.
|
|
cd "${DIRECTORY}"
|
|
usrhome=~${USER}
|
|
"${SU}" "${USER}" -c "${ENV} DISPLAY=${DISPLAY} HOME=${usrhome} ${X11_APP}"
|
|
fi
|
|
fi
|