diff options
author | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2015-02-18 12:03:57 +0100 |
---|---|---|
committer | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2015-02-18 12:03:57 +0100 |
commit | 66bfd651af618bf30f01037b2b5b79a1725c1bba (patch) | |
tree | 2774d8e5678fb4d60ae7741ab7b6a716e4b69352 | |
parent | 8c07c2470b68bcab3c32eeb99c83243c038ae427 (diff) | |
download | itzks-systems-66bfd651af618bf30f01037b2b5b79a1725c1bba.tar.gz itzks-systems-66bfd651af618bf30f01037b2b5b79a1725c1bba.tar.bz2 itzks-systems-66bfd651af618bf30f01037b2b5b79a1725c1bba.zip |
itzks-systems-smartboard: Start SMARTBoardService daemon in user context (not as root) and provide proper udev rules to grant normal users sufficient access to SMART whiteboard devices.
-rwxr-xr-x | bin/smarttech-SMARTBoardService | 2 | ||||
-rwxr-xr-x | bin/smarttech-SMARTBoardService.as-root | 3 | ||||
-rw-r--r-- | debian/changelog | 3 | ||||
-rw-r--r-- | debian/control | 10 | ||||
-rw-r--r-- | debian/itzks-systems-smartboard.install | 3 | ||||
-rw-r--r-- | etc/schroot/chroot.d/precise-i386-smartboard-ITZkS | 2 | ||||
-rw-r--r-- | etc/schroot/slxdesktop.ITZkS/copyfiles | 4 | ||||
-rw-r--r-- | etc/schroot/slxdesktop.ITZkS/fstab | 27 | ||||
-rw-r--r-- | etc/schroot/slxdesktop.ITZkS/nssdatabases | 11 | ||||
-rw-r--r-- | lib-udev-rules.d/60-SMARTBoard32.rules | 23 | ||||
-rw-r--r-- | share/polkit-1/actions/org.debian.pkexec.smarttech-SMARTBoardService.policy | 19 |
11 files changed, 77 insertions, 30 deletions
diff --git a/bin/smarttech-SMARTBoardService b/bin/smarttech-SMARTBoardService index 8b91702..fa53617 100755 --- a/bin/smarttech-SMARTBoardService +++ b/bin/smarttech-SMARTBoardService @@ -1,3 +1,3 @@ #!/bin/bash -pkexec smarttech-SMARTBoardService.as-root
\ No newline at end of file +schroot -p -c precise-i386-smartboard-ITZkS "/opt/SMART Technologies/SMART Product Drivers/bin/SMARTBoardService" -start &
\ No newline at end of file diff --git a/bin/smarttech-SMARTBoardService.as-root b/bin/smarttech-SMARTBoardService.as-root deleted file mode 100755 index eaeb97c..0000000 --- a/bin/smarttech-SMARTBoardService.as-root +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -schroot -p -u root -c precise-i386-smartboard-ITZkS "/opt/SMART Technologies/SMART Product Drivers/bin/SMARTBoardService" -start &
\ No newline at end of file diff --git a/debian/changelog b/debian/changelog index 790954d..6797e8f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,9 @@ itzks-systems (2015.02.17.1) UNRELEASED; urgency=medium * debian/control: + Add D (workstation-like systems): audacity. + * itzks-systems-smartboard: Start SMARTBoardService daemon in user + context (not as root) and provide proper udev rules to grant + normal users sufficient access to SMART whiteboard devices. -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Tue, 17 Feb 2015 13:55:00 +0100 diff --git a/debian/control b/debian/control index 9a8c8db..9fe7e31 100644 --- a/debian/control +++ b/debian/control @@ -380,7 +380,6 @@ Depends: mate-desktop-environment, mate-desktop-environment-extras, mate-media-pulse, - mate-screensaver, mate-settings-daemon-pulse, mc, memtest86, @@ -528,7 +527,6 @@ Depends: imagemagick, itzks-keyring, kdm, - kdm-gdmcompat, kturtle, lazarus, libreoffice, @@ -569,7 +567,6 @@ Depends: mate-desktop-environment, mate-desktop-environment-extras, mate-media-pulse, - mate-screensaver, mate-settings-daemon-pulse, mc, musescore, @@ -720,7 +717,6 @@ Depends: imagemagick, itzks-keyring, kdm, - kdm-gdmcompat, kturtle, lazarus, libreoffice, @@ -761,7 +757,6 @@ Depends: mate-desktop-environment, mate-desktop-environment-extras, mate-media-pulse, - mate-screensaver, mate-settings-daemon-pulse, mc, musescore, @@ -848,6 +843,8 @@ Conflicts: openoffice.org-thesaurus-de, openoffice.org-thesaurus-de-ch, openoffice.org-writer, +Recommends: + kdm-gdmcompat, Description: Profiling for ITZkS Workstation Systems Install this package to pull in all dependencies required on ITZkS (diskfull) Workstation systems. @@ -862,6 +859,9 @@ Depends: ${misc:Depends}, Recommends: itzks-systems-workstation (>= ${source:Version}), + xscreensaver, +Conflicts: + mate-screensaver, Description: Profiling for ITZkS Workstation Systems running a SMART Board Install this package to pull in all dependencies required on ITZkS (diskfull) Workstation systems. diff --git a/debian/itzks-systems-smartboard.install b/debian/itzks-systems-smartboard.install index 5db729b..8e21a6c 100644 --- a/debian/itzks-systems-smartboard.install +++ b/debian/itzks-systems-smartboard.install @@ -1,5 +1,6 @@ bin/smarttech* usr/bin/ etc/xdg/autostart/smarttech-SMART*.desktop etc/xdg/autostart/ etc/schroot/chroot.d/precise-i386-smartboard-ITZkS etc/schroot/chroot.d/ +etc/schroot/slxdesktop.ITZkS etc/schroot/ share/itzks-systems-smartboard/ usr/share/ -share/polkit-1/actions/*smarttech*.policy usr/share/polkit-1/actions/
\ No newline at end of file +lib-udev-rules.d/60-SMARTBoard32.rules lib/udev/rules.d/
\ No newline at end of file diff --git a/etc/schroot/chroot.d/precise-i386-smartboard-ITZkS b/etc/schroot/chroot.d/precise-i386-smartboard-ITZkS index eb1ace3..f61334d 100644 --- a/etc/schroot/chroot.d/precise-i386-smartboard-ITZkS +++ b/etc/schroot/chroot.d/precise-i386-smartboard-ITZkS @@ -5,5 +5,5 @@ description=Ubuntu precise/i386 with SMART Notebook directory=/srv/schroot/precise-i386-smartboard-ITZkS groups=root,teachers,admins,sudo root-groups=root,admins,sudo -profile=desktop +profile=slxdesktop.ITZkS personality=linux32 diff --git a/etc/schroot/slxdesktop.ITZkS/copyfiles b/etc/schroot/slxdesktop.ITZkS/copyfiles new file mode 100644 index 0000000..22b2961 --- /dev/null +++ b/etc/schroot/slxdesktop.ITZkS/copyfiles @@ -0,0 +1,4 @@ +# Files to copy into the chroot from the host system. +# +# <source and destination> +/etc/resolv.conf diff --git a/etc/schroot/slxdesktop.ITZkS/fstab b/etc/schroot/slxdesktop.ITZkS/fstab new file mode 100644 index 0000000..481db98 --- /dev/null +++ b/etc/schroot/slxdesktop.ITZkS/fstab @@ -0,0 +1,27 @@ +# fstab: static file system information for chroots. +# Note that the mount point will be prefixed by the chroot path +# (CHROOT_PATH) +# +# <file system> <mount point> <type> <options> <dump> <pass> +/proc /proc none rw,bind 0 0 +/sys /sys none rw,bind 0 0 +/dev /dev none rw,bind 0 0 +/dev/pts /dev/pts none rw,bind 0 0 +/home /home none rw,bind 0 0 +/tmp /tmp none rw,bind 0 0 +/srv /srv none rw,bind 0 0 +/skole /skole none rw,rbind 0 0 + +# If you use gdm3, uncomment this line to allow Xauth to work +#/var/run/gdm3 /var/run/gdm3 none rw,bind 0 0 +# For PulseAudio and other desktop-related things +/var/lib/dbus /var/lib/dbus none rw,bind 0 0 + +# It may be desirable to have access to /run, especially if you wish +# to run additional services in the chroot. However, note that this +# may potentially cause undesirable behaviour on upgrades, such as +# killing services on the host. +#/run /run none rw,bind 0 0 +#/run/lock /run/lock none rw,bind 0 0 +#/dev/shm /dev/shm none rw,bind 0 0 +#/run/shm /run/shm none rw,bind 0 0 diff --git a/etc/schroot/slxdesktop.ITZkS/nssdatabases b/etc/schroot/slxdesktop.ITZkS/nssdatabases new file mode 100644 index 0000000..722a451 --- /dev/null +++ b/etc/schroot/slxdesktop.ITZkS/nssdatabases @@ -0,0 +1,11 @@ +# System databases to copy into the chroot from the host system. +# +# <database name> +passwd +shadow +group +gshadow +services +protocols +networks +hosts diff --git a/lib-udev-rules.d/60-SMARTBoard32.rules b/lib-udev-rules.d/60-SMARTBoard32.rules new file mode 100644 index 0000000..1737de2 --- /dev/null +++ b/lib-udev-rules.d/60-SMARTBoard32.rules @@ -0,0 +1,23 @@ +#SMART Technologies rules for permissions. +SUBSYSTEM=="usb", ATTR{idVendor}=="0b8c", MODE="0666" +SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_interface", ATTR{idVendor}=="0b8c", MODE="0666" +SUBSYSTEMS=="usb", DRIVERS=="usb", ATTRS{idVendor}=="0b8c", MODE:="0666" +# +#Kernel 2.6.32 and greater has a bug that causes the mouse pointer to jump to the top left corner in HID mouse mode. +#Disable the event stream for affected products. +#Actually the bug began in 2.6.30, but these rules only work on 2.6.32. You need an fdi policy file to work around 2.6.31. +#KERNEL=="event*", ATTRS{idVendor}=="0b8c", ATTRS{idProduct}=="0001", NAME="SB%k" +#KERNEL=="event*", ATTRS{idVendor}=="0b8c", ATTRS{idProduct}=="0002", NAME="SB%k" +#KERNEL=="event*", ATTRS{idVendor}=="0b8c", ATTRS{idProduct}=="0003", NAME="SB%k" +#KERNEL=="event*", ATTRS{idVendor}=="0b8c", ATTRS{idProduct}=="0004", NAME="SB%k" +#KERNEL=="event*", ATTRS{idVendor}=="0b8c", ATTRS{idProduct}=="0005", NAME="SB%k" +#KERNEL=="event*", ATTRS{idVendor}=="0b8c", ATTRS{idProduct}=="0006", NAME="SB%k" +#KERNEL=="event*", ATTRS{idVendor}=="0b8c", ATTRS{idProduct}=="0007", NAME="SB%k" +#KERNEL=="event*", ATTRS{idVendor}=="0b8c", ATTRS{idProduct}=="0008", NAME="SB%k" +#KERNEL=="event*", ATTRS{idVendor}=="0b8c", ATTRS{idProduct}=="000a", NAME="SB%k" +#KERNEL=="event*", ATTRS{idVendor}=="0b8c", ATTRS{idProduct}=="000b", NAME="SB%k" +#KERNEL=="event*", ATTRS{idVendor}=="0b8c", ATTRS{idProduct}=="0017", NAME="SB%k" +#KERNEL=="event*", ATTRS{idVendor}=="0b8c", ATTRS{idProduct}=="0060", NAME="SB%k" +#KERNEL=="event*", ATTRS{idVendor}=="0b8c", ATTRS{idProduct}=="0061", NAME="SB%k" +#KERNEL=="event*", ATTRS{idVendor}=="0b8c", ATTRS{idProduct}=="0042", NAME="SB%k" + diff --git a/share/polkit-1/actions/org.debian.pkexec.smarttech-SMARTBoardService.policy b/share/polkit-1/actions/org.debian.pkexec.smarttech-SMARTBoardService.policy deleted file mode 100644 index 6184c57..0000000 --- a/share/polkit-1/actions/org.debian.pkexec.smarttech-SMARTBoardService.policy +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE policyconfig PUBLIC - "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN" - "http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd"> -<policyconfig> - - <action id="org.debian.pkexec.smarttech-SMARTBoardService"> - <message>Authentication is required to run the SMART Board Service</message> - <icon_name>system-run</icon_name> - <defaults> - <allow_any>no</allow_any> - <allow_inactive>no</allow_inactive> - <allow_active>yes</allow_active> - </defaults> - <annotate key="org.freedesktop.policykit.exec.path">/usr/bin/smarttech-SMARTBoardService.as-root</annotate> - <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate> - </action> - -</policyconfig> |