summaryrefslogtreecommitdiff
path: root/addons/x11infoscreen
diff options
context:
space:
mode:
Diffstat (limited to 'addons/x11infoscreen')
-rw-r--r--addons/x11infoscreen/etc/X11/XF86Config-4118
-rw-r--r--addons/x11infoscreen/etc/X11/XF86Config-4-Trident118
-rw-r--r--addons/x11infoscreen/etc/X11/XF86Config-4-Trident.orig0
-rw-r--r--addons/x11infoscreen/etc/X11/XF86Config-4.diff91
-rw-r--r--addons/x11infoscreen/etc/X11/XF86Config-4.orig131
-rwxr-xr-xaddons/x11infoscreen/etc/init.d/flashybrid128
-rw-r--r--addons/x11infoscreen/etc/init.d/flashybrid.diff12
-rwxr-xr-xaddons/x11infoscreen/etc/init.d/flashybrid.orig125
-rwxr-xr-xaddons/x11infoscreen/etc/init.d/local-infoscreen106
l---------addons/x11infoscreen/etc/rc2.d/S99local-infoscreen1
-rwxr-xr-xaddons/x11infoscreen/usr/local/bin/launch-feh19
-rwxr-xr-xaddons/x11infoscreen/usr/local/bin/launch-qiv19
-rwxr-xr-xaddons/x11infoscreen/usr/local/bin/launch-slideshow16
-rwxr-xr-xaddons/x11infoscreen/usr/local/bin/launch-sync18
-rwxr-xr-xaddons/x11infoscreen/usr/local/bin/launch-unclutter16
-rwxr-xr-xaddons/x11infoscreen/usr/local/bin/launch-x1116
-rwxr-xr-xaddons/x11infoscreen/usr/local/bin/mksshauth68
-rwxr-xr-xaddons/x11infoscreen/usr/local/bin/pickx86config13
-rwxr-xr-xaddons/x11infoscreen/usr/local/bin/savelocaltweaks61
-rwxr-xr-xaddons/x11infoscreen/usr/local/bin/slideshow33
-rwxr-xr-xaddons/x11infoscreen/usr/local/bin/xsetbin0 -> 36168 bytes
21 files changed, 1109 insertions, 0 deletions
diff --git a/addons/x11infoscreen/etc/X11/XF86Config-4 b/addons/x11infoscreen/etc/X11/XF86Config-4
new file mode 100644
index 0000000..059147c
--- /dev/null
+++ b/addons/x11infoscreen/etc/X11/XF86Config-4
@@ -0,0 +1,118 @@
+# XF86Config-4 (XFree86 X Window System server configuration file)
+#
+# This file was generated by dexconf, the Debian X Configuration tool, using
+# values from the debconf database.
+#
+# Edit this file with caution, and see the XF86Config-4 manual page.
+# (Type "man XF86Config-4" at the shell prompt.)
+#
+# This file is automatically updated on xserver-xfree86 package upgrades *only*
+# if it has not been modified since the last upgrade of the xserver-xfree86
+# package.
+#
+# If you have edited this file but would like it to be automatically updated
+# again, run the following commands as root:
+#
+# cp /etc/X11/XF86Config-4 /etc/X11/XF86Config-4.custom
+# md5sum /etc/X11/XF86Config-4 >/var/lib/xfree86/XF86Config-4.md5sum
+# dpkg-reconfigure xserver-xfree86
+
+Section "Module"
+ Load "GLcore"
+ Load "bitmap"
+ Load "dbe"
+ Load "ddc"
+ Load "dri"
+ Load "extmod"
+ Load "freetype"
+ Load "glx"
+ Load "int10"
+ Load "record"
+ Load "speedo"
+ Load "type1"
+ Load "vbe"
+ Load "xtt"
+EndSection
+
+Section "InputDevice"
+ Identifier "Generic Keyboard"
+ Driver "keyboard"
+ Option "CoreKeyboard"
+ Option "XkbRules" "xfree86"
+ Option "XkbModel" "pc105"
+ Option "XkbLayout" "dk"
+EndSection
+
+Section "InputDevice"
+ Identifier "Configured Mouse"
+ Driver "mouse"
+ Option "CorePointer"
+ Option "Device" "/dev/psaux"
+ Option "Protocol" "PS/2"
+ Option "Emulate3Buttons" "true"
+ Option "ZAxisMapping" "4 5"
+EndSection
+Section "InputDevice"
+ Identifier "Generic Mouse"
+ Driver "mouse"
+ Option "SendCoreEvents" "true"
+ Option "Device" "/dev/input/mice"
+ Option "Protocol" "ImPS/2"
+ Option "Emulate3Buttons" "true"
+ Option "ZAxisMapping" "4 5"
+EndSection
+
+Section "Device"
+ Identifier "Generic Video Card"
+ Driver "vesa"
+EndSection
+
+Section "Monitor"
+ Identifier "Generic Monitor"
+ HorizSync 30-75
+ VertRefresh 50-85
+ Option "DPMS"
+EndSection
+
+Section "Screen"
+ Identifier "Default Screen"
+ Device "Generic Video Card"
+ Monitor "Generic Monitor"
+ DefaultDepth 16
+ SubSection "Display"
+ Depth 1
+ Modes "1600x1200" "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480"
+ EndSubSection
+ SubSection "Display"
+ Depth 4
+ Modes "1600x1200" "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480"
+ EndSubSection
+ SubSection "Display"
+ Depth 8
+ Modes "1600x1200" "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480"
+ EndSubSection
+ SubSection "Display"
+ Depth 15
+ Modes "1600x1200" "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480"
+ EndSubSection
+ SubSection "Display"
+ Depth 16
+ Modes "1600x1200" "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480"
+ EndSubSection
+ SubSection "Display"
+ Depth 24
+ Modes "1600x1200" "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480"
+ EndSubSection
+EndSection
+
+Section "ServerLayout"
+ Identifier "Default Layout"
+ Screen "Default Screen"
+ InputDevice "Generic Keyboard"
+ InputDevice "Configured Mouse"
+ InputDevice "Generic Mouse"
+EndSection
+
+Section "DRI"
+ Mode 0666
+EndSection
diff --git a/addons/x11infoscreen/etc/X11/XF86Config-4-Trident b/addons/x11infoscreen/etc/X11/XF86Config-4-Trident
new file mode 100644
index 0000000..b25dd59
--- /dev/null
+++ b/addons/x11infoscreen/etc/X11/XF86Config-4-Trident
@@ -0,0 +1,118 @@
+# XF86Config-4 (XFree86 X Window System server configuration file)
+#
+# This file was generated by dexconf, the Debian X Configuration tool, using
+# values from the debconf database.
+#
+# Edit this file with caution, and see the XF86Config-4 manual page.
+# (Type "man XF86Config-4" at the shell prompt.)
+#
+# This file is automatically updated on xserver-xfree86 package upgrades *only*
+# if it has not been modified since the last upgrade of the xserver-xfree86
+# package.
+#
+# If you have edited this file but would like it to be automatically updated
+# again, run the following commands as root:
+#
+# cp /etc/X11/XF86Config-4 /etc/X11/XF86Config-4.custom
+# md5sum /etc/X11/XF86Config-4 >/var/lib/xfree86/XF86Config-4.md5sum
+# dpkg-reconfigure xserver-xfree86
+
+Section "Module"
+ Load "GLcore"
+ Load "bitmap"
+ Load "dbe"
+ Load "ddc"
+ Load "dri"
+ Load "extmod"
+ Load "freetype"
+ Load "glx"
+ Load "int10"
+ Load "record"
+ Load "speedo"
+ Load "type1"
+ Load "vbe"
+ Load "xtt"
+EndSection
+
+Section "InputDevice"
+ Identifier "Generic Keyboard"
+ Driver "keyboard"
+ Option "CoreKeyboard"
+ Option "XkbRules" "xfree86"
+ Option "XkbModel" "pc105"
+ Option "XkbLayout" "dk"
+EndSection
+
+Section "InputDevice"
+ Identifier "Configured Mouse"
+ Driver "mouse"
+ Option "CorePointer"
+ Option "Device" "/dev/psaux"
+ Option "Protocol" "PS/2"
+ Option "Emulate3Buttons" "true"
+ Option "ZAxisMapping" "4 5"
+EndSection
+Section "InputDevice"
+ Identifier "Generic Mouse"
+ Driver "mouse"
+ Option "SendCoreEvents" "true"
+ Option "Device" "/dev/input/mice"
+ Option "Protocol" "ImPS/2"
+ Option "Emulate3Buttons" "true"
+ Option "ZAxisMapping" "4 5"
+EndSection
+
+Section "Device"
+ Identifier "Generic Video Card"
+ Driver "trident"
+EndSection
+
+Section "Monitor"
+ Identifier "Generic Monitor"
+ HorizSync 30-75
+ VertRefresh 50-85
+ Option "DPMS"
+EndSection
+
+Section "Screen"
+ Identifier "Default Screen"
+ Device "Generic Video Card"
+ Monitor "Generic Monitor"
+ DefaultDepth 16
+ SubSection "Display"
+ Depth 1
+ Modes "1600x1200" "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480"
+ EndSubSection
+ SubSection "Display"
+ Depth 4
+ Modes "1600x1200" "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480"
+ EndSubSection
+ SubSection "Display"
+ Depth 8
+ Modes "1600x1200" "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480"
+ EndSubSection
+ SubSection "Display"
+ Depth 15
+ Modes "1600x1200" "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480"
+ EndSubSection
+ SubSection "Display"
+ Depth 16
+ Modes "1600x1200" "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480"
+ EndSubSection
+ SubSection "Display"
+ Depth 24
+ Modes "1600x1200" "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480"
+ EndSubSection
+EndSection
+
+Section "ServerLayout"
+ Identifier "Default Layout"
+ Screen "Default Screen"
+ InputDevice "Generic Keyboard"
+ InputDevice "Configured Mouse"
+ InputDevice "Generic Mouse"
+EndSection
+
+Section "DRI"
+ Mode 0666
+EndSection
diff --git a/addons/x11infoscreen/etc/X11/XF86Config-4-Trident.orig b/addons/x11infoscreen/etc/X11/XF86Config-4-Trident.orig
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/addons/x11infoscreen/etc/X11/XF86Config-4-Trident.orig
diff --git a/addons/x11infoscreen/etc/X11/XF86Config-4.diff b/addons/x11infoscreen/etc/X11/XF86Config-4.diff
new file mode 100644
index 0000000..87d5a65
--- /dev/null
+++ b/addons/x11infoscreen/etc/X11/XF86Config-4.diff
@@ -0,0 +1,91 @@
+--- XF86Config-4.orig 2005-01-20 03:41:43.000000000 +0100
++++ XF86Config-4 2004-11-17 03:25:12.000000000 +0100
+@@ -17,20 +17,6 @@
+ # md5sum /etc/X11/XF86Config-4 >/var/lib/xfree86/XF86Config-4.md5sum
+ # dpkg-reconfigure xserver-xfree86
+
+-Section "Files"
+- FontPath "unix/:7100" # local font server
+- # if the local font server has problems, we can fall back on these
+- FontPath "/usr/lib/X11/fonts/misc"
+- FontPath "/usr/lib/X11/fonts/cyrillic"
+- FontPath "/usr/lib/X11/fonts/100dpi/:unscaled"
+- FontPath "/usr/lib/X11/fonts/75dpi/:unscaled"
+- FontPath "/usr/lib/X11/fonts/Type1"
+- FontPath "/usr/lib/X11/fonts/CID"
+- FontPath "/usr/lib/X11/fonts/Speedo"
+- FontPath "/usr/lib/X11/fonts/100dpi"
+- FontPath "/usr/lib/X11/fonts/75dpi"
+-EndSection
+-
+ Section "Module"
+ Load "GLcore"
+ Load "bitmap"
+@@ -45,6 +31,7 @@
+ Load "speedo"
+ Load "type1"
+ Load "vbe"
++ Load "xtt"
+ EndSection
+
+ Section "InputDevice"
+@@ -52,8 +39,8 @@
+ Driver "keyboard"
+ Option "CoreKeyboard"
+ Option "XkbRules" "xfree86"
+- Option "XkbModel" "pc104"
+- Option "XkbLayout" "us"
++ Option "XkbModel" "pc105"
++ Option "XkbLayout" "dk"
+ EndSection
+
+ Section "InputDevice"
+@@ -82,8 +69,8 @@
+
+ Section "Monitor"
+ Identifier "Generic Monitor"
+- HorizSync 28-50
+- VertRefresh 43-75
++ HorizSync 30-75
++ VertRefresh 50-85
+ Option "DPMS"
+ EndSection
+
+@@ -91,30 +78,30 @@
+ Identifier "Default Screen"
+ Device "Generic Video Card"
+ Monitor "Generic Monitor"
+- DefaultDepth 24
++ DefaultDepth 16
+ SubSection "Display"
+ Depth 1
+- Modes "800x600" "640x480"
++ Modes "1600x1200" "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480"
+ EndSubSection
+ SubSection "Display"
+ Depth 4
+- Modes "800x600" "640x480"
++ Modes "1600x1200" "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480"
+ EndSubSection
+ SubSection "Display"
+ Depth 8
+- Modes "800x600" "640x480"
++ Modes "1600x1200" "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480"
+ EndSubSection
+ SubSection "Display"
+ Depth 15
+- Modes "800x600" "640x480"
++ Modes "1600x1200" "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480"
+ EndSubSection
+ SubSection "Display"
+ Depth 16
+- Modes "800x600" "640x480"
++ Modes "1600x1200" "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480"
+ EndSubSection
+ SubSection "Display"
+ Depth 24
+- Modes "800x600" "640x480"
++ Modes "1600x1200" "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480"
+ EndSubSection
+ EndSection
+
diff --git a/addons/x11infoscreen/etc/X11/XF86Config-4.orig b/addons/x11infoscreen/etc/X11/XF86Config-4.orig
new file mode 100644
index 0000000..c6c901e
--- /dev/null
+++ b/addons/x11infoscreen/etc/X11/XF86Config-4.orig
@@ -0,0 +1,131 @@
+# XF86Config-4 (XFree86 X Window System server configuration file)
+#
+# This file was generated by dexconf, the Debian X Configuration tool, using
+# values from the debconf database.
+#
+# Edit this file with caution, and see the XF86Config-4 manual page.
+# (Type "man XF86Config-4" at the shell prompt.)
+#
+# This file is automatically updated on xserver-xfree86 package upgrades *only*
+# if it has not been modified since the last upgrade of the xserver-xfree86
+# package.
+#
+# If you have edited this file but would like it to be automatically updated
+# again, run the following commands as root:
+#
+# cp /etc/X11/XF86Config-4 /etc/X11/XF86Config-4.custom
+# md5sum /etc/X11/XF86Config-4 >/var/lib/xfree86/XF86Config-4.md5sum
+# dpkg-reconfigure xserver-xfree86
+
+Section "Files"
+ FontPath "unix/:7100" # local font server
+ # if the local font server has problems, we can fall back on these
+ FontPath "/usr/lib/X11/fonts/misc"
+ FontPath "/usr/lib/X11/fonts/cyrillic"
+ FontPath "/usr/lib/X11/fonts/100dpi/:unscaled"
+ FontPath "/usr/lib/X11/fonts/75dpi/:unscaled"
+ FontPath "/usr/lib/X11/fonts/Type1"
+ FontPath "/usr/lib/X11/fonts/CID"
+ FontPath "/usr/lib/X11/fonts/Speedo"
+ FontPath "/usr/lib/X11/fonts/100dpi"
+ FontPath "/usr/lib/X11/fonts/75dpi"
+EndSection
+
+Section "Module"
+ Load "GLcore"
+ Load "bitmap"
+ Load "dbe"
+ Load "ddc"
+ Load "dri"
+ Load "extmod"
+ Load "freetype"
+ Load "glx"
+ Load "int10"
+ Load "record"
+ Load "speedo"
+ Load "type1"
+ Load "vbe"
+EndSection
+
+Section "InputDevice"
+ Identifier "Generic Keyboard"
+ Driver "keyboard"
+ Option "CoreKeyboard"
+ Option "XkbRules" "xfree86"
+ Option "XkbModel" "pc104"
+ Option "XkbLayout" "us"
+EndSection
+
+Section "InputDevice"
+ Identifier "Configured Mouse"
+ Driver "mouse"
+ Option "CorePointer"
+ Option "Device" "/dev/psaux"
+ Option "Protocol" "PS/2"
+ Option "Emulate3Buttons" "true"
+ Option "ZAxisMapping" "4 5"
+EndSection
+Section "InputDevice"
+ Identifier "Generic Mouse"
+ Driver "mouse"
+ Option "SendCoreEvents" "true"
+ Option "Device" "/dev/input/mice"
+ Option "Protocol" "ImPS/2"
+ Option "Emulate3Buttons" "true"
+ Option "ZAxisMapping" "4 5"
+EndSection
+
+Section "Device"
+ Identifier "Generic Video Card"
+ Driver "vesa"
+EndSection
+
+Section "Monitor"
+ Identifier "Generic Monitor"
+ HorizSync 28-50
+ VertRefresh 43-75
+ Option "DPMS"
+EndSection
+
+Section "Screen"
+ Identifier "Default Screen"
+ Device "Generic Video Card"
+ Monitor "Generic Monitor"
+ DefaultDepth 24
+ SubSection "Display"
+ Depth 1
+ Modes "800x600" "640x480"
+ EndSubSection
+ SubSection "Display"
+ Depth 4
+ Modes "800x600" "640x480"
+ EndSubSection
+ SubSection "Display"
+ Depth 8
+ Modes "800x600" "640x480"
+ EndSubSection
+ SubSection "Display"
+ Depth 15
+ Modes "800x600" "640x480"
+ EndSubSection
+ SubSection "Display"
+ Depth 16
+ Modes "800x600" "640x480"
+ EndSubSection
+ SubSection "Display"
+ Depth 24
+ Modes "800x600" "640x480"
+ EndSubSection
+EndSection
+
+Section "ServerLayout"
+ Identifier "Default Layout"
+ Screen "Default Screen"
+ InputDevice "Generic Keyboard"
+ InputDevice "Configured Mouse"
+ InputDevice "Generic Mouse"
+EndSection
+
+Section "DRI"
+ Mode 0666
+EndSection
diff --git a/addons/x11infoscreen/etc/init.d/flashybrid b/addons/x11infoscreen/etc/init.d/flashybrid
new file mode 100755
index 0000000..5ab4037
--- /dev/null
+++ b/addons/x11infoscreen/etc/init.d/flashybrid
@@ -0,0 +1,128 @@
+#!/bin/sh
+# Set up/shutdown the flashybrid system, including the ramdisk and partial
+# directory bind mounts. This needs to run at the part of system bootup that
+# mounts all the disks. It should also run at shutdown right before
+# filesystems are unmounted.
+
+CONFDIR=/etc/flashybrid
+if [ -e $CONFDIR/config ]; then
+ . $CONFDIR/config
+fi
+
+ENABLED=no
+if [ -e /etc/default/flashybrid ]; then
+ . /etc/default/flashybrid
+fi
+
+if [ -z "$RAMMOUNT" ]; then
+ exit 0
+fi
+
+is_mounted () {
+ grep -q " $1 " /proc/mounts
+}
+
+case "$1" in
+start)
+ if [ "$ENABLED" != yes ]; then
+ echo "Not setting up flashybrid system: disabled."
+ exit
+ fi
+
+ printf "Setting up flashybrid system..."
+
+ # Set up partial directories and so on, make sure disk is
+ # unmounted.
+ fh-embed >/dev/null
+
+ # Set up ram disk to hold variable data.
+ if ! is_mounted $RAMMOUNT; then
+ mount tmpfs -t tmpfs $RAMMOUNT
+ fi
+
+ # Temporary directories on ram disk.
+ for dir in $(grep -v '^#' $CONFDIR/ramtmp); do
+ mkdir -p -m 1777 $RAMMOUNT/$dir
+ if is_mounted $dir; then
+ umount $dir
+ fi
+ mount --bind $RAMMOUNT/$dir $dir
+ done
+
+ # Copy data from flash to ram disk for these directories.
+ for dir in $(grep -v '^#' $CONFDIR/ramstore); do
+ # Skip dirs that are not present.
+ if [ -d $dir ]; then
+ ramdir=$RAMMOUNT$dir
+ if is_mounted $dir; then
+ umount $dir
+ fi
+ if is_mounted $ramdir.flash; then
+ umount $ramdir.flash
+ fi
+ if [ ! -d $ramdir ]; then
+ mkdir -p ${ramdir%/*} # dirname
+ cp -a $dir $ramdir
+ fi
+ mkdir -p $ramdir.flash
+ mount --bind $dir $ramdir.flash
+ mount --bind $ramdir $dir
+ fi
+ done
+
+ # Make sure virtual filesystems are properly mounted
+ invoke-rc.d mountvirtfs start || /bin/true
+
+ echo "done."
+;;
+stop)
+ if [ "$ENABLED" != yes ]; then
+ echo "Not shutting down flashybrid system: disabled."
+ exit
+ fi
+
+ printf "Shutting down flashybrid system..."
+
+ # Copy data to flash.
+ # Remount the flash read-write so the copies to it will work.
+ mount -o remount,rw /
+ for dir in $(grep -v '^#' $CONFDIR/ramstore); do
+ if [ -d $RAMMOUNT/$dir ] && [ -d $RAMMOUNT/$dir.flash ]; then
+ # rsync is used to avoid churning the flash
+ # unnecessarily. The trailing slashes are very
+ # important..
+ rsync --delete -a $RAMMOUNT/$dir/ $RAMMOUNT/$dir.flash/
+ fi
+ done
+
+ for dir in $(grep -v '^#' $CONFDIR/ramtmp); do
+ if is_mounted $dir; then
+ umount $dir
+ fi
+ done
+
+ for dir in $(grep -v '^#' $CONFDIR/ramstore); do
+ ramdir=$RAMMOUNT$dir
+ if is_mounted $ramdir.flash; then
+ umount $ramdir.flash
+ fi
+ if is_mounted $dir; then
+ umount $dir
+ fi
+ done
+
+ if is_mounted $RAMMOUNT; then
+ umount $RAMMOUNT
+ fi
+
+ echo "done."
+;;
+restart|force-reload)
+ $0 stop
+ $0 start
+;;
+*)
+ echo "Usage: $0 {start|stop|restart|force-reload}"
+ exit 1
+;;
+esac
diff --git a/addons/x11infoscreen/etc/init.d/flashybrid.diff b/addons/x11infoscreen/etc/init.d/flashybrid.diff
new file mode 100644
index 0000000..34c0fda
--- /dev/null
+++ b/addons/x11infoscreen/etc/init.d/flashybrid.diff
@@ -0,0 +1,12 @@
+--- flashybrid.orig 2003-11-25 21:26:14.000000000 +0000
++++ flashybrid 2004-11-17 02:05:22.000000000 +0000
+@@ -70,6 +70,9 @@
+ fi
+ done
+
++ # Make sure virtual filesystems are properly mounted
++ invoke-rc.d mountvirtfs start || /bin/true
++
+ echo "done."
+ ;;
+ stop)
diff --git a/addons/x11infoscreen/etc/init.d/flashybrid.orig b/addons/x11infoscreen/etc/init.d/flashybrid.orig
new file mode 100755
index 0000000..9ea31d7
--- /dev/null
+++ b/addons/x11infoscreen/etc/init.d/flashybrid.orig
@@ -0,0 +1,125 @@
+#!/bin/sh
+# Set up/shutdown the flashybrid system, including the ramdisk and partial
+# directory bind mounts. This needs to run at the part of system bootup that
+# mounts all the disks. It should also run at shutdown right before
+# filesystems are unmounted.
+
+CONFDIR=/etc/flashybrid
+if [ -e $CONFDIR/config ]; then
+ . $CONFDIR/config
+fi
+
+ENABLED=no
+if [ -e /etc/default/flashybrid ]; then
+ . /etc/default/flashybrid
+fi
+
+if [ -z "$RAMMOUNT" ]; then
+ exit 0
+fi
+
+is_mounted () {
+ grep -q " $1 " /proc/mounts
+}
+
+case "$1" in
+start)
+ if [ "$ENABLED" != yes ]; then
+ echo "Not setting up flashybrid system: disabled."
+ exit
+ fi
+
+ printf "Setting up flashybrid system..."
+
+ # Set up partial directories and so on, make sure disk is
+ # unmounted.
+ fh-embed >/dev/null
+
+ # Set up ram disk to hold variable data.
+ if ! is_mounted $RAMMOUNT; then
+ mount tmpfs -t tmpfs $RAMMOUNT
+ fi
+
+ # Temporary directories on ram disk.
+ for dir in $(grep -v '^#' $CONFDIR/ramtmp); do
+ mkdir -p -m 1777 $RAMMOUNT/$dir
+ if is_mounted $dir; then
+ umount $dir
+ fi
+ mount --bind $RAMMOUNT/$dir $dir
+ done
+
+ # Copy data from flash to ram disk for these directories.
+ for dir in $(grep -v '^#' $CONFDIR/ramstore); do
+ # Skip dirs that are not present.
+ if [ -d $dir ]; then
+ ramdir=$RAMMOUNT$dir
+ if is_mounted $dir; then
+ umount $dir
+ fi
+ if is_mounted $ramdir.flash; then
+ umount $ramdir.flash
+ fi
+ if [ ! -d $ramdir ]; then
+ mkdir -p ${ramdir%/*} # dirname
+ cp -a $dir $ramdir
+ fi
+ mkdir -p $ramdir.flash
+ mount --bind $dir $ramdir.flash
+ mount --bind $ramdir $dir
+ fi
+ done
+
+ echo "done."
+;;
+stop)
+ if [ "$ENABLED" != yes ]; then
+ echo "Not shutting down flashybrid system: disabled."
+ exit
+ fi
+
+ printf "Shutting down flashybrid system..."
+
+ # Copy data to flash.
+ # Remount the flash read-write so the copies to it will work.
+ mount -o remount,rw /
+ for dir in $(grep -v '^#' $CONFDIR/ramstore); do
+ if [ -d $RAMMOUNT/$dir ] && [ -d $RAMMOUNT/$dir.flash ]; then
+ # rsync is used to avoid churning the flash
+ # unnecessarily. The trailing slashes are very
+ # important..
+ rsync --delete -a $RAMMOUNT/$dir/ $RAMMOUNT/$dir.flash/
+ fi
+ done
+
+ for dir in $(grep -v '^#' $CONFDIR/ramtmp); do
+ if is_mounted $dir; then
+ umount $dir
+ fi
+ done
+
+ for dir in $(grep -v '^#' $CONFDIR/ramstore); do
+ ramdir=$RAMMOUNT$dir
+ if is_mounted $ramdir.flash; then
+ umount $ramdir.flash
+ fi
+ if is_mounted $dir; then
+ umount $dir
+ fi
+ done
+
+ if is_mounted $RAMMOUNT; then
+ umount $RAMMOUNT
+ fi
+
+ echo "done."
+;;
+restart|force-reload)
+ $0 stop
+ $0 start
+;;
+*)
+ echo "Usage: $0 {start|stop|restart|force-reload}"
+ exit 1
+;;
+esac
diff --git a/addons/x11infoscreen/etc/init.d/local-infoscreen b/addons/x11infoscreen/etc/init.d/local-infoscreen
new file mode 100755
index 0000000..c9ef034
--- /dev/null
+++ b/addons/x11infoscreen/etc/init.d/local-infoscreen
@@ -0,0 +1,106 @@
+#! /bin/sh
+#
+# local-infoscreen
+#
+# Author: Jonas Smedegaard <dr@jones.dk>
+#
+
+set -e
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DESC="infoscreen daemons"
+NAME=infoscreen
+DAEMON=/usr/sbin/$NAME
+PIDFILE=/var/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+
+# Gracefully exit if the package has been removed.
+#test -x $DAEMON || exit 0
+
+# Read config file if it is present.
+#if [ -r /etc/default/$NAME ]
+#then
+# . /etc/default/$NAME
+#fi
+
+#
+# Function that starts the daemon/service.
+#
+d_start() {
+# start-stop-daemon --start --quiet --pidfile $PIDFILE \
+# --exec $DAEMON
+ killall XFree86 -wq || /bin/true
+ /usr/local/bin/launch-x11
+ /usr/local/bin/launch-sync
+ sleep 5
+ /usr/local/bin/launch-unclutter
+# /usr/local/bin/launch-feh
+ /usr/local/bin/launch-qiv
+}
+
+#
+# Function that stops the daemon/service.
+#
+d_stop() {
+# start-stop-daemon --stop --quiet --pidfile $PIDFILE \
+# --name $NAME
+ /usr/local/bin/launch-qiv -k || /bin/true
+# /usr/local/bin/launch-feh -k || /bin/true
+ /usr/local/bin/launch-unclutter -k || /bin/true
+ /usr/local/bin/launch-sync -k || /bin/true
+ /usr/local/bin/launch-x11 -k || /bin/true
+ killall XFree86 -wq || /bin/true
+}
+
+#
+# Function that sends a SIGHUP to the daemon/service.
+#
+d_reload() {
+ start-stop-daemon --stop --quiet --pidfile $PIDFILE \
+ --name $NAME --signal 1
+}
+
+case "$1" in
+ start)
+ echo -n "Starting $DESC: $NAME"
+ d_start
+ echo "."
+ ;;
+ stop)
+ echo -n "Stopping $DESC: $NAME"
+ d_stop
+ echo "."
+ ;;
+ #reload)
+ #
+ # If the daemon can reload its configuration without
+ # restarting (for example, when it is sent a SIGHUP),
+ # then implement that here.
+ #
+ # If the daemon responds to changes in its config file
+ # directly anyway, make this an "exit 0".
+ #
+ # echo -n "Reloading $DESC configuration..."
+ # d_reload
+ # echo "done."
+ #;;
+ restart|force-reload)
+ #
+ # If the "reload" option is implemented, move the "force-reload"
+ # option to the "reload" entry above. If not, "force-reload" is
+ # just the same as "restart".
+ #
+ echo -n "Restarting $DESC: $NAME"
+ d_stop
+ sleep 1
+ d_start
+ echo "."
+ ;;
+ *)
+ # echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
+ echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/addons/x11infoscreen/etc/rc2.d/S99local-infoscreen b/addons/x11infoscreen/etc/rc2.d/S99local-infoscreen
new file mode 120000
index 0000000..d1cdbc0
--- /dev/null
+++ b/addons/x11infoscreen/etc/rc2.d/S99local-infoscreen
@@ -0,0 +1 @@
+../init.d/local-infoscreen \ No newline at end of file
diff --git a/addons/x11infoscreen/usr/local/bin/launch-feh b/addons/x11infoscreen/usr/local/bin/launch-feh
new file mode 100755
index 0000000..7e2126a
--- /dev/null
+++ b/addons/x11infoscreen/usr/local/bin/launch-feh
@@ -0,0 +1,19 @@
+#!/usr/bin/launchtool -C
+
+tag = feh
+#command = DISPLAY=:0 feh --full-screen --slideshow-delay 15 /var/lib/infoscreen/*.png; exit 0
+command = export DISPLAY=:0; /usr/local/bin/xset s reset; /usr/local/bin/xset s off; for file in `find /var/lib/infoscreen -name '*.png'`; do feh --rcfile /dev/null --bg-scale $file; sleep 15; done; exit 0
+daemon = yes
+stats = yes
+#user = myserver
+#root dir = /tmp
+#process count limit = 5
+#open files limit = 10
+wait times = 1,1,1,3,3,3,10,10,10
+infinite runs = yes
+launchtool output = syslog:feh,LOG_DAEMON,LOG_INFO
+launchtool errors = syslog:feh,LOG_DAEMON,LOG_ERR
+command output = syslog:feh,LOG_DAEMON,LOG_INFO
+command errors = syslog:feh,LOG_DAEMON,LOG_ERR
+silent restart time = 5
+silent restart status = 0
diff --git a/addons/x11infoscreen/usr/local/bin/launch-qiv b/addons/x11infoscreen/usr/local/bin/launch-qiv
new file mode 100755
index 0000000..347fa84
--- /dev/null
+++ b/addons/x11infoscreen/usr/local/bin/launch-qiv
@@ -0,0 +1,19 @@
+#!/usr/bin/launchtool -C
+
+tag = qiv
+#command = DISPLAY=:0 qiv --full-screen --slideshow-delay 15 /var/lib/infoscreen/*.png; exit 0
+command = export DISPLAY=:0; /usr/local/bin/xset s reset; /usr/local/bin/xset s off; for file in `find /var/lib/infoscreen -name '*.png'`; do qiv -m --root $file; sleep 15; done; exit 0
+daemon = yes
+stats = yes
+#user = myserver
+#root dir = /tmp
+#process count limit = 5
+#open files limit = 10
+wait times = 1,1,1,3,3,3,10,10,10
+infinite runs = yes
+launchtool output = syslog:qiv,LOG_DAEMON,LOG_INFO
+launchtool errors = syslog:qiv,LOG_DAEMON,LOG_ERR
+command output = syslog:qiv,LOG_DAEMON,LOG_INFO
+command errors = syslog:qiv,LOG_DAEMON,LOG_ERR
+silent restart time = 5
+silent restart status = 0
diff --git a/addons/x11infoscreen/usr/local/bin/launch-slideshow b/addons/x11infoscreen/usr/local/bin/launch-slideshow
new file mode 100755
index 0000000..da4cc8c
--- /dev/null
+++ b/addons/x11infoscreen/usr/local/bin/launch-slideshow
@@ -0,0 +1,16 @@
+#!/usr/bin/launchtool -C
+
+tag = slideshow
+command = /usr/local/bin/slideshow
+daemon = yes
+stats = yes
+#user = myserver
+#root dir = /tmp
+#process count limit = 5
+#open files limit = 10
+wait times = 1,1,1,3,3,3,10,10,10
+infinite runs = yes
+launchtool output = syslog:slideshow,LOG_DAEMON,LOG_INFO
+launchtool errors = syslog:slideshow,LOG_DAEMON,LOG_ERR
+command output = syslog:slideshow,LOG_DAEMON,LOG_INFO
+command errors = syslog:slideshow,LOG_DAEMON,LOG_ERR
diff --git a/addons/x11infoscreen/usr/local/bin/launch-sync b/addons/x11infoscreen/usr/local/bin/launch-sync
new file mode 100755
index 0000000..f52aa8a
--- /dev/null
+++ b/addons/x11infoscreen/usr/local/bin/launch-sync
@@ -0,0 +1,18 @@
+#!/usr/bin/launchtool -C
+
+tag = sync
+command = rsync -ar --delete infoscreen@lager:/home/jonas/websites/info.dgi-huset.dk/img/ /var/lib/infoscreen/; exit 0
+daemon = yes
+stats = yes
+#user = myserver
+#root dir = /tmp
+#process count limit = 5
+#open files limit = 10
+wait times = 1,1,1,3,3,3,10,10,10
+infinite runs = yes
+launchtool output = syslog:sync,LOG_DAEMON,LOG_INFO
+launchtool errors = syslog:sync,LOG_DAEMON,LOG_ERR
+command output = syslog:sync,LOG_DAEMON,LOG_INFO
+command errors = syslog:sync,LOG_DAEMON,LOG_ERR
+silent restart time = 300
+silent restart status = 0
diff --git a/addons/x11infoscreen/usr/local/bin/launch-unclutter b/addons/x11infoscreen/usr/local/bin/launch-unclutter
new file mode 100755
index 0000000..1995126
--- /dev/null
+++ b/addons/x11infoscreen/usr/local/bin/launch-unclutter
@@ -0,0 +1,16 @@
+#!/usr/bin/launchtool -C
+
+tag = unclutter
+command = unclutter -idle 1 -root -display ':0'
+daemon = yes
+stats = yes
+#user = myserver
+#root dir = /tmp
+#process count limit = 5
+#open files limit = 10
+wait times = 1,1,1,3,3,3,10,10,10
+infinite runs = yes
+launchtool output = syslog:unclutter,LOG_DAEMON,LOG_INFO
+launchtool errors = syslog:unclutter,LOG_DAEMON,LOG_ERR
+command output = syslog:unclutter,LOG_DAEMON,LOG_INFO
+command errors = syslog:unclutter,LOG_DAEMON,LOG_ERR
diff --git a/addons/x11infoscreen/usr/local/bin/launch-x11 b/addons/x11infoscreen/usr/local/bin/launch-x11
new file mode 100755
index 0000000..8acff80
--- /dev/null
+++ b/addons/x11infoscreen/usr/local/bin/launch-x11
@@ -0,0 +1,16 @@
+#!/usr/bin/launchtool -C
+
+tag = x11
+command = /usr/bin/X11/XFree86 -allowMouseOpenFail -br -dpms -xf86config `/usr/local/bin/pickx86config`
+daemon = yes
+stats = yes
+#user = myserver
+#root dir = /tmp
+#process count limit = 5
+#open files limit = 10
+wait times = 1,1,1,3,3,3,10,10,10
+infinite runs = yes
+launchtool output = syslog:x11,LOG_DAEMON,LOG_INFO
+launchtool errors = syslog:x11,LOG_DAEMON,LOG_ERR
+command output = syslog:x11,LOG_DAEMON,LOG_INFO
+command errors = syslog:x11,LOG_DAEMON,LOG_ERR
diff --git a/addons/x11infoscreen/usr/local/bin/mksshauth b/addons/x11infoscreen/usr/local/bin/mksshauth
new file mode 100755
index 0000000..9d7c44c
--- /dev/null
+++ b/addons/x11infoscreen/usr/local/bin/mksshauth
@@ -0,0 +1,68 @@
+#!/bin/sh
+#
+# /usr/local/bin/mksshauth
+# Copyright 2000-2001 Juri Jensen <juri@xenux.dk>
+# Copyright 2002 Juri Jensen <juri@xenux.dk> & Jonas Smedegaard <dr@jones.dk>
+#
+# $Id: mksshauth,v 1.5 2003/03/24 12:08:47 jonas Exp $
+#
+# Setup local and remote SSH for non-interactive authorization
+#
+
+set -e
+
+prg=`basename $0`
+
+if [ $# \< 1 ]; then
+ echo "ERROR: Wrong arguments! (Use '$prg --help' for help)"
+ exit 1
+fi
+keytype=$1
+shift
+
+case "$keytype" in
+ --help|-h)
+ echo "$prg: Setup local and remote SSH for non-interactive authorization."
+ echo
+ echo "Usage: $prg keytype [user@]host [options]"
+ echo
+ echo "Options:"
+ echo " keytype: SSH key type, either rsa1, rsa, dsa, 1 or 2."
+ echo " rsa1 is for SSHv1, rsa and dsa is for SSHv2. 1 and 2 are"
+ echo " aliases for rsa1 and dsa. dsa (or 2) is recommended."
+ echo " user: User id on remote host. Default is same as local user."
+ echo " host: Hostname of remote host."
+ echo " options: Options to prepend the authorization key (read 'man sshd')."
+ exit 0
+ ;;
+ 1|rsa1)
+ keytype=rsa1
+ id_file=identity.pub
+ auth_file=authorized_keys
+ ;;
+ 2|dsa)
+ keytype=dsa
+ id_file=id_dsa.pub
+ auth_file=authorized_keys2
+ ;;
+ rsa)
+ keytype=rsa
+ id_file=id_rsa.pub
+ auth_file=authorized_keys2
+ ;;
+ *)
+ echo "ERROR: Wrong keytype! (Use '$prg --help' for help)"
+ exit 1
+ ;;
+esac
+
+host=$1
+shift
+options=$@
+
+if [ -n "$options" ]; then
+ options="$options "
+fi
+
+[ -f ~/.ssh/$id_file ] || ssh-keygen -t $keytype
+ssh $host "mkdir -p ~/.ssh && echo '$options'`cat ~/.ssh/$id_file` >> ~/.ssh/$auth_file"
diff --git a/addons/x11infoscreen/usr/local/bin/pickx86config b/addons/x11infoscreen/usr/local/bin/pickx86config
new file mode 100755
index 0000000..52dbdc9
--- /dev/null
+++ b/addons/x11infoscreen/usr/local/bin/pickx86config
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+# FIXME: Why won't this work?
+#cfgmaybe=`lspci | perl -n -e 's¡^.* VGA .*:\W(\w*).*¡/etc/X11/XF86Config-4-$1¡i && print if -f'`
+
+cfgbase="/etc/X11/XF86Config-4"
+
+cfgmaybe="$cfgbase-`lspci | perl -n -e 's¡^.* VGA .*:\W(\w*).*¡$1¡i && print'`"
+if [ -r "$cfgmaybe" ]; then
+ echo "$cfgmaybe"
+else
+ echo "$cfgbase"
+fi
diff --git a/addons/x11infoscreen/usr/local/bin/savelocaltweaks b/addons/x11infoscreen/usr/local/bin/savelocaltweaks
new file mode 100755
index 0000000..b303cda
--- /dev/null
+++ b/addons/x11infoscreen/usr/local/bin/savelocaltweaks
@@ -0,0 +1,61 @@
+#!/bin/sh
+
+#set -e
+
+basedir="/etc"
+targetdir="/tmp/localtweaks"
+includefile="/etc/local/localtweaks.include"
+excludefile="/etc/local/localtweaks.exclude"
+extensions=".orig .old"
+
+for ext in $extensions; do
+ extfiles="`find $basedir -name \*$ext`"
+ for extfile in $extfiles; do
+ xextfile="${extfile%$ext}"
+ files="$files ${xextfile#$basedir}"
+ done
+done
+
+includes=""
+if [ -d "`dirname $includefile`" ] && [ -r $includefile ]; then
+ includes="`cat $includefile`"
+ for include in $includes; do
+ files="$files ${include#$basedir}"
+ done
+fi
+
+excludes=""
+if [ -d "`dirname $excludefile`" ] && [ -r $excludefile ]; then
+ xexcludes="`cat $excludefile`"
+ for exclude in $xexcludes; do
+ excludes="$excludes ${exclude#$basedir}"
+ done
+fi
+
+# process all files once each
+for file in `for x in $files; do echo $x; done | uniq | sort`; do
+
+ for exclude in $excludes; do
+ [ "$file" = "$exclude" ] && continue 2
+ done
+
+ ext=""
+ for xext in $extensions; do
+ if [ -e $basedir/$file$xext ]; then
+ ext="$xext"
+ continue
+ fi
+ done
+
+ newdir="$targetdir/$basedir/`dirname $file`"
+ mkdir -p $newdir
+ cp -af $basedir/$file $newdir
+
+ # Only diff against existing and non-empty files.
+ if [ -n "$ext" ] && [ -s $basedir/$file$ext ]; then
+ diff -ruN $basedir/$file$ext $basedir/$file > $targetdir/$basedir/$file.diff
+ chown --reference=$basedir/$file $targetdir/$basedir/$file.diff
+ chmod --reference=$basedir/$file $targetdir/$basedir/$file.diff
+ chmod a-x $targetdir/$basedir/$file.diff
+ fi
+done
diff --git a/addons/x11infoscreen/usr/local/bin/slideshow b/addons/x11infoscreen/usr/local/bin/slideshow
new file mode 100755
index 0000000..f0c3915
--- /dev/null
+++ b/addons/x11infoscreen/usr/local/bin/slideshow
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+set -e
+
+if [ -z "$DISPLAY" ]; then
+ export DISPLAY=:0
+fi
+
+# Make sure display is alive and awake
+/usr/local/bin/xset s reset
+/usr/local/bin/xset s off
+
+# Clean out stale directories (hoping noone else use same name!)
+rm -rf /tmp/xslideshow.??????
+
+workdir="`mktemp -d /tmp/xslideshow.XXXXXX`"
+remotehost="lager"
+remoteuser="infoscreen"
+remotedir="/home/jonas/websites/info.dgi-huset.dk/img"
+
+#cd "$workdir"
+
+while true; do
+ rsync -a "$remoteuser@$remotehost":"$remotedir"/*.png "$workdir/"
+ files="`find $workdir -name '*.png' | sort`"
+ for file in $files; do
+# timeslices=`echo $file | sed 's/.*_([0-9]+)s\.png/\1/'`
+# for i in `seq 1 $timeslices`; do
+ qiv -m --root $file
+ sleep 5
+ done
+done
+# qiv -m --slide --delay=5 $files
diff --git a/addons/x11infoscreen/usr/local/bin/xset b/addons/x11infoscreen/usr/local/bin/xset
new file mode 100755
index 0000000..daf82f7
--- /dev/null
+++ b/addons/x11infoscreen/usr/local/bin/xset
Binary files differ