#!/bin/bash
# System-Updates einholen
sudo apt-get update && sudo apt-get upgrade

# Benötigte Pakete herunterladen und installieren
sudo apt-get -y install rungetty xorg hal sun-java6-jre unzip openbox openbox-themes openssh-server python-wxgtk2.8

# Benutzer efa hinzufügen
adduser efa

# Benutzer efaadmin der Benutzergruppe efa hinzufügen
addgroup efaadmin efa

# Verzeichnis /efa erstellen (Abweichung von der Konfiguration des Mainzer Rudervereins, bitte beachten)
mkdir /efa

# Verzeichnis /efa Benutzer + Gruppe efa zuweisen
sudo chown efa:efa /efa

# efa Log-Verzeichnis anlegen
mkdir /efa/log

# efa Bin-Verzeichnis anlegen
mkdir /home/efa/bin

# In das soeben erstellte Bin-Verzeichnis wechseln
cd /home/efa/bin

# efa Startscript herunterladen
wget http://uni.mainzerruderverein.de/efa/efa

# Backup vom efa-Profile anlegen
mv /home/efa/.profile .profile.bak

# Zu /home/efa Verzeichnis wechseln
cd /home/efa

# efa-Profile herunterladen

wget http://uni.mainzerruderverein.de/efa/.profile

# X-Server Script herunterladen
wget http://uni.mainzerruderverein.de/efa/.xinitrc

# Openbox Config herunterladen
mkdir /home/efa/.config
cd /home/efa/.config/
mkdir openbox
cd openbox
wget http://uni.mainzerruderverein.de/efa/menu.xml
wget http://uni.mainzerruderverein.de/efa/rc.xml
cd /home/efa

# Backup der XServer config & Konfiguration
cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak
dpkg-reconfigure xserver-xorg

# Optionen des XServers einschränken
echo "Section \"ServerFlags\"" >> /etc/X11/xorg.conf
echo "	Option \"DontZap\" \"true\"" >> /etc/X11/xorg.conf
echo "	Option \"DontVTSwitch\" \"true\"" >> /etc/X11/xorg.conf
echo "	Option \"DontZoom\" \"true\"" >> /etc/X11/xorg.conf
echo "	Option \"StandbyTime\" \"10\"" >> /etc/X11/xorg.conf
echo "	Option \"OffTime\" \"240\"" >> /etc/X11/xorg.conf
echo "EndSection" >> /etc/X11/xorg.conf

# EFA installieren
cd /efa
wget http://efa.nmichael.de/download/efa183.zip
unzip efa183.zip

# Benutzer efa das Herunterfahren erlauben
echo "efa ALL = NOPASSWD: /sbin/shutdown -h now" >> /etc/sudoers

#  Eigene udev-Regel anlegen
# Nehme den eigenen 2GB - USB-Stick aus den udev-Regeln, soll nur für andere USB-Sticks mit anderer Produkt ID gelten
echo "SUBSYSTEMS==\"usb\",KERNEL==\"sd?\",SYSFS{idProduct}==\"4878\",SYMLINK+=\"backup\",RUN+=\"/home/efa/bin/efa-backup.sh\"" >> /etc/udev/rules.d/01-custom.rules

# Python Backup Script herunterladen
cd /home/efa/bin/
wget http://prunkster.ecw.de/wp-content/uploads/2009/06/efa-backup.zip
unzip efa-backup.zip

# Backup-Mountpoint in fstab einrichten
echo "/dev/backup	/home/efa/efa-backup	auto	rw,user,noauto,exec,utf8,umask=000,uid=$(id efa -u),gid=$(id efa -g)	0	0" >> /etc/fstab

# Erstelle /home/efa/efa-backup (Standard-Verzeichnis für das Python-Backup-Script)
mkdir /home/efa/efa-backup

# Alle Konfigurationsdateien gehören dem Benutzer efa
chown -R efa /home/efa
chgrp -R efa /home/efa
chown -R efa /efa
chgrp -R efa /efa

chmod +x /home/efa/bin/efa
chmod +x /home/efa/bin/efa-backup.sh

# Deaktiviere den Syslog & Kernellog Daemon
update-rc.d -f klogd remove
update-rc.d -f sysklogd remove

