# /bin/sh

CMDLN_ARGS="$@" # Dem Script mitgegebene Parameter
export CMDLN_ARGS

# script als Root starten falls nötig
chk_root () {
  if [ ! $( id -u ) -eq 0 ]; then
    echo "Please run this script as superuser."
    exit ${?}  
  fi
}

# überprüfen, ob Superuser-Rechte vorhanden sind
chk_root

# Einstellungen und Optik, werden gegen Ende des Scripts gesetzt
# a) Schriftarten festlegen - extra gross für hochauflösenden TFT
   app_font="Ubuntu Standard 14" 	# Anwendungen
   doc_font="Sans 13"			# Dokumentenschrift 
   desktop_font="Ubuntu Standard 13"	# Desktop Font
   title_font="Ubuntu Bold 13"		# Schrift für Fenstertitel
   mono_font="Monospace 13"		# Schrift für feste Zeichenbreite
# b) Optik festlegen 
   bg_color_left="#315A70" 		# Farbe links 
   bg_color_right="#4A68e8"		# Farbe rechts 
   window_content_theme="Smooth-Winter" # Fensterinhalt 
   border_theme="Sorbet" 		# Rahmen
   icon_theme="Gartoon"			# Symbole
   cursor_theme="Chameleon-White-Large" # Zeiger
   bg_bitmap="/usr/share/pixmaps/backgrounds/gnome/abstract.png"
# c) andere Einstellungen
   sound_theme="moblin"			# Klangthema

# die Aufrufe von gconftool-2 vereinfachen/kürzen
   gconf_set_gdm="sudo -u gdm gconftool-2 --set"  
   gconf_set_default="gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --set"
   gconf_unset_recursive_default="gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults --recursive-unset"
 

export REMIXWEB="http://www.teamubuntu.ch/pub/10.10-desktop+swiss-remix"

# Universe und Multiverse aktivieren (beim ubuntu.iso nötig) 
# /etc/apt/sources.list oder unsere variante holen

# hier wäre eine saubere Variante richtig, falls der Script z.B.
# nicht auf einem brandneuen System oder auf 64-bit oder PPC genutzt wird
wget $REMIXWEB/build/sources.list --output-document=/etc/apt/sources.list
apt-get update 
apt-get -y upgrade

# PPA Schweiz aktivieren (eigene Datei swiss-users.list nach /etc/apt/sources.list.d)
# und key holen
sudo wget $REMIXWEB/build/swiss-users.list --output-document=/etc/apt/sources.list.d/swiss-users.list
# sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 4525EAC83CB8E5F3 
# sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 9a19440b5eefa855
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 5EEFA855
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 3CB8E5F3

## Behebt ein gelegentliches Problem mit den Schlüsseln 
sudo -H gpg –keyserver keyserver.ubuntu.com –recv 3E5C1192
sudo -H gpg –export –armor 3E5C1192 | sudo apt-key add -
  
# Medibuntu aktivieren:
sudo wget http://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list --output-document=/etc/apt/sources.list.d/medibuntu.list
sudo apt-get -q update
sudo apt-get --yes -q --allow-unauthenticated install medibuntu-keyring
sudo apt-get -q update
sudo apt-get --yes --force-yes install app-install-data-medibuntu apport-hooks-medibuntu


# Die Pakete, welche UCK anhand der Spracheinstellungen abholt 
# hier ergänzt, falls der Script auf einer eigenen Installation gestartet wird.
apt-get -y install evolution-common gnome-user-guide-it hunspell-de-at hunspell-de-ch hunspell-de-de hunspell-fr language-pack-gnome-it-base language-pack-it-base language-support-writing-de language-support-writing-fr language-support-writing-it myspell-it openoffice.org-help-de openoffice.org-help-fr openoffice.org-help-it openoffice.org-hyphenation-de openoffice.org-hyphenation-it openoffice.org-l10n-de openoffice.org-l10n-fr openoffice.org-l10n-it openoffice.org-thesaurus-de openoffice.org-thesaurus-de-ch   openoffice.org-thesaurus-it wfrench witalian wngerman wogerman wswiss language-pack-fr language-pack-fr-base language-pack-gnome-fr language-pack-gnome-fr-base gnome-user-guide-de openoffice.org-hyphenation openoffice.org-l10n-en-gb gnome-user-guide-en openoffice.org-help-en-gb openoffice.org-l10n-en-za openoffice.org-hyphenation-en-us openoffice.org-thesaurus-en-au openoffice.org-thesaurus-en-us gnome-user-guide-fr openoffice.org-hyphenation-fr openoffice.org-thesaurus-fr

# Productivity
apt-get -y install openoffice.org-l10n-en-gb gnome-user-guide-en openoffice.org-help-en-gb openoffice.org-l10n-en-za gnome-user-guide-fr language-pack-gnome-fr openoffice.org-help-en-gb openoffice.org-hyphenation openoffice.org-hyphenation-en-us openoffice.org-hyphenation-fr openoffice.org-thesaurus-en-au openoffice.org-thesaurus-en-us openoffice.org-thesaurus-fr hunspell-de-med openoffice.org-presentation-minimizer openoffice.org-starter-guide  python-openoffice unoconv xul-ext-bindwood

# Utilities (für ubuntu-swiss-desktop)
apt-get -y install nautilus-clamscan clamtk clamav-freshclam giver dosbox nautilus-actions nautilus-gksu nautilus-image-converter nautilus-script-audio-convert nautilus-sendto nautilus-share nautilus-wallpaper gpointing-device-settings oxygen-cursor-theme-extra chameleon-cursor-theme 

# Graphics Tools 
apt-get -y install tuxpaint tuxpaint-config ttf-droid ttf-liberation ttf-larabie-deco ttf-larabie-straight ttf-larabie-uncommon gnome-themes-extras tropic-theme peace-theme tropic-wallpapers tropic-wallpapers gnome-colors gnome-backgrounds gimp gimp-data-extras gimp-help-de gimp-help-fr gimp-help-it mypaint inkscape 
apt-get -y install feisty-wallpapers gutsy-wallpapers nautilus-wallpaper peace-wallpapers ttf-sil-gentium ttf-ubuntu-title opendict pdfmod xournal freemind compiz-plugins elementary-icon-theme 
# Internet & Productivity Add-ons 
apt-get -y install ekiga 

# weitere productivity tools 
apt-get -y install gnome-randr-applet glipper default-jre moonlight-plugin-mozilla community-themes gnome-themes gtk-smooth-themes metacity-themes silicon-theme resilience-theme gstreamer0.10-packagekit apturl telepathy-gnome cellwriter edubuntu-artwork 

# Multimedia Add-on 
apt-get -y install gstreamer0.10-fluendo-mp3 ubuntustudio-sounds gtk-recordmydesktop ttf-linux-libertine gnome-alsamixer gstreamer-dbus-media-service gstreamer-tools asoundconf-gtk gnome-audio sound-theme-freedesktop timidity ttf-dejavu freepats vlc mozilla-plugin-vlc cheese soundconverter 

apt-get -y install atomix gnome-icon-theme-gartoon gobby frozen-bubble gbrainy numptyphysics childsplay tuxmath celestia celestia-gnome childsplay-alphabet-sounds-fr childsplay-alphabet-sounds-it childsplay-alphabet-sounds-de 
apt-get -y install ktouch language-pack-kde-de kde-l10n-de kde-l10n-engb language-pack-kde-en blinken parley language-pack-kde-fr language-pack-kde-it kde-l10n-fr kde-l10n-it

# more office stuff 
apt-get -y install openoffice.org-pdfimport openoffice.org-java-common openoffice.org-filter-binfilter openoffice.org-evolution openclipart-openoffice.org mozilla-openoffice.org glabels gbirthday ooo-thumbnailer vym

# system stuff 
apt-get -y --no-install-recommends install powertop joe gdebi aptitude nautilus-filename-repairer p7zip-full ethtool htop utouch gnome-network-admin fuseiso traceroute edubuntu-menus edubuntu-menueditor

# Windows & virtual computing 
apt-get -y install wine winbind wine-gecko cabextract orange smbfs smbnetfs samba system-config-samba gnome-exe-thumbnailer smbnetfs

# This is restricted software. If you activate the line note, that such distributions are not allowed to be 
# transferred from one legal entity to another. For further information, check the license agreements applicable
apt-get install -y ubuntu-restricted-extras sunjava6 sunjava6-fonts non-free-codecs t1-xfree86-nonfree ttf-xfree86-nonfree linux-firmware-nonfree

# Equinox Theme - nice
  add-apt-repository ppa:tiheum/equinox

# getdeb
  wget -q http://archive.getdeb.net/getdeb-archive.key -O- | sudo apt-key add - 
  add-apt-repository 'deb http://archive.getdeb.net/ubuntu maverick-getdeb apps games'

# reload repo data
  apt-get update 

# special additions, installations
  apt-get -y install gtk2-engines-equinox equinox-theme equinox-ubuntu-theme faenza-icon-theme faenza-dark-extras
  apt-get -y install gitso 
  apt-get -y install gnomenu # gezielt aktuellere Versionen von getdeb holen

#  bug found in add-apt-repository with parameter --remove: deb-src lines are handled incorrectly
#  add-apt-repository --remove ppa:tiheum/equinox
#  add-apt-repository --remove ppa:pmcenery/ppa 
  rm /etc/apt/sources.list.d/tiheum*
  rm /etc/apt/sources.list.d/pmcenery*
  add-apt-repository --remove 'deb-src http://archive.getdeb.net/ubuntu maverick-getdeb apps games'
  add-apt-repository --remove 'deb http://archive.getdeb.net/ubuntu maverick-getdeb apps games'

# crashes would reappear after installation if we don't delete the files
rm /var/crash/*

# ein paar nette Ergänzungen, Mediathek und Ubuntu Tweak

cd /tmp
wget $REMIXWEB/options/tvbrowser_3.0-RC2-1_all.deb
wget $REMIXWEB/options/ubuntu-tweak_0.5.7-1_all.deb
ls *.deb | while read filename; do gdebi -n $filename ; done

## Refresh
apt-get -y update 
apt-get -y upgrade 
apt-get -y dist-upgrade 
apt-get -y clean 
apt-get -y autoclean 
apt-get -y autoremove

# so können *.desktop editiert werden - z.B. zum Menü-einträge verschieben
# sudo -H sed -i 's/Categories=Application;Internet;Network;WebBrowser;/Categories=Application;Utility;/' edit/usr/share/applications/firefox.desktop

### Schriftarten einrichten gemäss Definition oben
# Anwendungen
   $gconf_set_gdm /desktop/gnome/interface/font_name --type string "$app_font"
   $gconf_set_default /desktop/gnome/interface/font_name --type string "$app_font"
# Dokumentenschrift
   $gconf_set_gdm /desktop/gnome/interface/document_font_name --type string "$doc_font"
   $gconf_set_default /desktop/gnome/interface/document_font_name --type string "$doc_font"
# Schrift der Arbeitsfläche
   $gconf_set_gdm /apps/nautilus/preferences/desktop_font --type string "$desktop_font"
   $gconf_set_default /apps/nautilus/preferences/desktop_font --type string "$desktop_font"
# Schrift in Fenstertiteln
   $gconf_set_gdm /apps/metacity/general/titlebar_font --type string "$title_font"
   $gconf_set_default /apps/metacity/general/titlebar_font --type string "$title_font"
# Dicktengleiche Schrift
   $gconf_set_gdm /desktop/gnome/interface/monospace_font_name --type string "$mono_font"
   $gconf_set_default /desktop/gnome/interface/monospace_font_name --type string "$mono_font"

### Desktop Anpassungen & Farben für Hintergrund (standard & GDM)
# Farbverlauf
   $gconf_set_gdm --type string /desktop/gnome/background/color_shading_type "horizontal-gradient"
   $gconf_set_default --type string /desktop/gnome/background/color_shading_type "horizontal-gradient"
# Farbe links 
   $gconf_set_gdm --type string /desktop/gnome/background/primary_color $bg_color_left
   $gconf_set_default --type string /desktop/gnome/background/primary_color $bg_color_left
# Farbe rechts 
   $gconf_set_gdm --type string /desktop/gnome/background/secondary_color $bg_color_right
   $gconf_set_default --type string /desktop/gnome/background/secondary_color $bg_color_right
# Hintergrund 
   $gconf_set_gdm --type string /desktop/gnome/background/picture_filename $bg_bitmap
   $gconf_set_default --type string /desktop/gnome/background/picture_filename $bg_bitmap
# Fensterinhalt Theme
   $gconf_set_gdm --type string /desktop/gnome/interface/gtk_theme $window_content_theme
   $gconf_set_default --type string /desktop/gnome/interface/gtk_theme $window_content_theme
# Thema für Rahmen
   $gconf_set_gdm --type string /apps/metacity/general/theme $border_theme
   $gconf_set_default --type string /apps/metacity/general/theme $border_theme
# Thema für Symbole
   $gconf_set_gdm --type string /desktop/gnome/interface/icon_theme $icon_theme
   $gconf_set_default --type string /desktop/gnome/interface/icon_theme $icon_theme
# Zeiger
   $gconf_set_gdm --type string /desktop/gnome/peripherals/mouse/cursor_theme $cursor_theme
   $gconf_set_default --type string /desktop/gnome/peripherals/mouse/cursor_theme $cursor_theme

### andere Einstellungen
# Klangthema
   $gconf_set_gdm --type string /desktop/gnome/sound/theme_name $sound_theme
   $gconf_set_default --type string /desktop/gnome/sound/theme_name $sound_theme
# Buttons rechts anordnen:
   $gconf_set_gdm --type string /apps/metacity/general/button_layout "menu:minimize,maximize,close"
   $gconf_set_default --type string /apps/metacity/general/button_layout "menu:minimize,maximize,close"
# das Toppanel vergrössern
   $gconf_set_default --type integer /apps/panel/toplevels/top_panel_screen0/size "32"
# das Bottompanel löschen (falls cairo-docky zum Einsatz kommt ...)
   $gconf_unset_recursive_default /apps/panel/toplevels/bottom_panel_screen0

# customizations for cmpc, see http://lug-myk.de/doku.php?id=cmpc
cd /tmp
wget http://www.butzel.info/files/cmpc_install.tar.gz
tar zxvf cmpc_install.tar.gz

# minimales Systems Management
# Definition Policy für Software Aktualisierung
# - Nur wichtige Systemaktuallisierungen
# - Prüfung alle zwei Wochen
# - Sicherheitsaktualisierungen ohne Bestätigung installieren

# Stromsparoptionen 
# - 10 Minuten im Akkubetrieb vor Ruhezustand
# - Beim Schliessen des Deckels: Bildschirm abdunkeln
# - Bildschirmschoner: auf untätig setzen nach 15 Minuten, schwarzer Schirm
   $gconf_set_default /apps/gnome-screensaver/lock_enabled --type bool 0
   $gconf_set_default /apps/gnome-screensaver/idle_activation_enabled --type bool 1
   $gconf_set_default /apps/gnome-screensaver/cycle_delay --type int 10
   $gconf_set_default /apps/gnome-screensaver/theme --type string "screensavers-ubuntu_theme"
   $gconf_set_default /apps/gnome-screensaver/user_switch_enabled --type bool 1
   $gconf_set_default /apps/gnome-screensaver/idle_delay --type int 10
   $gconf_set_default /apps/gnome-screensaver/logout_delay --type int 120
   $gconf_set_default /apps/gnome-screensaver/power_management_delay --type int 30
   $gconf_set_default /apps/gnome-screensaver/themes --type string "[screensavers-glschool]"

# Checks
# - Schreib-/Lesemodus für Schüler auf USB Stick  
# - funktioniert Mount / Entpacken von ISO Dateien
# - Kiosk-Modus für Firefox im System / oder pro Benutzer
# - Pen funktionen
# - Tochpad zum Scrollen (mit zwei Finger)
# - Spezialtasten 
# - metacity compositing eingeschaltet? 
# - passt plymouth theme? 
# - wird hostname von dhcpserver übernommen?

# Gruppe & Benutzer einrichten
# - Gruppe schule
# - lehrer
# - schueler
echo Konto für Lehrer wird erstellt, Sie müssen das Passwort einrichten ...
adduser lehrer --gecos Lehrer
echo Konto für SChueler wird erstellt, Sie müssen das Passwort einrichten ...
adduser schueler --gecos Schüler
addgroup schule
addgroup lehrer schule  
addgroup schueler schule
mkdir /home/schule
chown -R lehrer.schule /home/schule

echo
echo "Finished Installation, software downloaded and updated" 
echo


