diff --git a/Installer-USB-Stick/scripts/linuxparty.sh b/Installer-USB-Stick/scripts/linuxparty.sh
index 385261c6d03655ac54c2749a0832eacf834f35c8..5bef1bb219b3e3db03546502e9a76d491aca03ce 100755
--- a/Installer-USB-Stick/scripts/linuxparty.sh
+++ b/Installer-USB-Stick/scripts/linuxparty.sh
@@ -5,6 +5,58 @@ set -e
 MY_DIR="$( readlink -f "$( dirname "${BASH_SOURCE[0]}" )" )"
 HIVE_DIR="/media/MultiBoot/hive/" #we assume here that the LIP install stick is mounted at /media/MultiBoot... better idea?
 
+#Packetlisten zur Installation/Auswahl, nur Packete die im Repo liegen. 
+#Hive-Programme (z.B. root) müssen extra behandelt werden
+#Der Textinstaller installiert _ausschließlich_ Packete bei denen Preinstalled gesetzt ist!
+#Syntax: preinstalled? pkgname description
+COMMON_PKGS=(\
+"TRUE" "gufw" "Firewall Frontend" \
+"TRUE" "pwgen" "Tool um Passwoerter zu generieren" \
+"TRUE" "p7zip-full" "Tool um u.a. ZIP Archive zu handhaben" \
+"TRUE" "p7zip-rar" "Erweiterung von p7zip um auch RAR-Archive öffnen zu koennen" \
+"FALSE" "unrar-free" "Zur Verwaltung von RAR-Archiven" \
+"TRUE" "texmaker" "Grafischer Editor fuer La(Tex)" \
+"TRUE" "inkscape" "Bildbearbeitung (Vektorbasiert)" \
+"TRUE" "gimp" "Bildbearbeitung (Pixelbasiert)" \
+"TRUE" "pidgin" "Multi-Messenger-Client" \
+"FALSE" "subversion" "Versionsverwaltungstool (zentral)" \
+"TRUE" "git" "Versionsverwaltungstool (dezentral)" \
+"TRUE" "graphviz" " " \
+"FALSE" "gnome" "GNOME3 Desktop Umgebung" \
+"FALSE" "xubuntu-desktop" "Xubuntu Desktop Umgebung und standard Programme" \
+"FALSE" "fityk" "keine Ahnung..." \
+"FALSE" "openssh-server" "SSH-Server (s. KISS)" \
+"FALSE" "zsh" "Alternative Shell" \
+"FALSE" "zsh-doc" "Dokumentation von zsh" \
+"FALSE" "lftp" "FTP-Client" \
+"FALSE" "linux-firmware-nonfree" "Properitäre Firmware fuer exotische Notebooks/Hardware" \
+"FALSE" "gddrescue" "Falls Daten gelöscht, letzte Option vor dem Tod der Hoffnung" \
+"FALSE" "smartmontools" "Tool und Daemon zum prüfen von Speichermedien (HDD/SSD)" \
+)
+
+PH_PKGS=(\
+"TRUE" "python-numpy" "Numeric Bibiliothek für Python" \
+"TRUE" "python-simpy" "keine Ahnung..." \
+"TRUE" "python-scipy" "dito..." \
+"TRUE" "python-matplotlib" "Schnittstelle um mit Python zu plotten" \
+"TRUE" "ipython" "Python wie auf iOS??" \
+"TRUE" "gnuplot" "Programm um Funktions-und Datenplots anzufertigen" \
+"TRUE" "wxmaxima" "pff..." \
+"TRUE" "bpython" "..." \
+)
+
+IF_PKGS=(\
+"FALSE" "postgresql" "Datenbank-Server. Nett um in der Datenbanken-Vorlesungen Dinge auszuprobieren.\n Aber relativ groß." \
+"TRUE" "dia" "Graphisches Tool, um UML/ER Diagramme für die Vorlesungen Softwaretechnik und Datenbanken anzufertigen" \
+"TRUE" "haskell-platform" "Glaskow Haskell Compiler für die Vorlesung Programmierung" \
+"TRUE" "java7-jdk" "Java JDK für die Vorlesung Programmierung" \
+"TRUE" "swi-prolog" "Prolog Interpreter/Compiler für die Vorlesung Programmierung" \
+)
+
+M_PKGS=(\
+"TRUE" "singular" "Tool für die Vorlesung Computeralgebra" \
+)
+
 if [ -n "$DEBUG" ]
 then
   # DEBUG-Modus:
@@ -26,6 +78,28 @@ else
   fi
 fi
 
+preinstalledpkgs() {
+	local pkglist=$1[@]
+	local take="FALSE"
+	local step=0
+	for i in "${!pkglist}"
+	do
+		case $step in
+			0) take="$i"
+			   step=1
+			;;
+			1) if [ $take = "TRUE" ]; then
+				echo -n " $i"
+			   fi
+			   step=2
+			;;
+			*)
+			   step=0
+			;;
+		esac
+	done
+}
+
 askyesno() {
 	while true
 	do
@@ -40,6 +114,7 @@ askyesno() {
 }
 
 pressenter() {
+  echo $@
   echo "Drücke <Enter> um fortzufahren (Strg-C zum Abbrechen)"
   read
 }
@@ -70,6 +145,36 @@ err() {
   echo -e "\033[0m"       # normal
 }
 
+install_pkgs() {
+	#ACHTUNG: nicht vorausgewählte Packete werden _nie_ installiert!
+	local arg=$3[@]
+	pkglist=$(preinstalledpkgs $3)
+	
+	if [ -n "$pkglist" ]; then
+		apt-install $pkglist
+		ok "$pkglist installiert"
+	else
+		ok "Keine Packete installiert" 
+	fi
+}
+
+if [ -z "$NOGUI" ]; then
+
+#overwrite functions with graphical replacements
+askyesno() {
+	zenity --question --text "$@" 2> /dev/null
+}
+
+err() {
+	zenity --error --text "$@" 2> /dev/null
+}
+
+pressenter() {
+	zenity --info --text "$@" 2> /dev/null
+}
+
+fi
+
 # Verbose error trapping
 showerr() {
   err "Bei der Installation ist ein Fehler aufgetreten. Frage einen Helfer."
@@ -80,6 +185,40 @@ apt-install() {
   apt-get install --quiet -y --force-yes $@
 }
 
+
+if [ -z "$NOGUI" ]; then
+
+#graphical installations
+install_pkgs() {
+	local pkglist=$3[@]
+	INSTALL=$(zenity --list --title "$1" --text "$2" --checklist --separator=" " --width=786 --height=400 --column "Installieren?" --column "Packet" --column "Beschreibung" "${!pkglist}" 2> /dev/null || true)
+
+	if [ -n "$INSTALL" ]; then
+		apt-install $INSTALL
+		ok "$INSTALL installiert"
+	else
+		ok "Keine Packete installiert" 
+	fi
+}
+
+fi
+
+install_common() {
+	install_pkgs "Allg. Packete installieren?" "Programme, die der OSAK/die ALUG für sinnvoll hält, sind bereits zur Installation vorselektiert.\nWenn du keine Packete aus der Liste installieren willst, einfach Abbrechen.\nBitte beachten: Das LIP-Script deinstalliert keine Packete, insbesondere also keine Packete die in einem früheren Lauf aktiv waren,\nund diesmal nicht ausgewählt sind!" COMMON_PKGS
+}
+
+install_ph() {
+	install_pkgs "Packete für Physiker installieren?" "Programme, die der OSAK/die ALUG sowie Lehrstühle der Physik für sinnvoll hält, sind bereits zur Installation vorselektiert.\nWenn du keine Packete aus der Liste installieren willst, einfach Abbrechen.\nBitte beachten: Das LIP-Script deinstalliert keine Packete, insbesondere also keine Packete die in einem früheren Lauf aktiv waren,\nund diesmal nicht ausgewählt sind!" PH_PKGS
+}
+
+install_m() {
+	install_pkgs "Packete für Mathematiker installieren?" "Programme, die der OSAK/die ALUG für sinnvoll hält, sind bereits zur Installation vorselektiert.\nWenn du keine Packete aus der Liste installieren willst, einfach Abbrechen.\nBitte beachten: Das LIP-Script deinstalliert keine Packete, insbesondere also keine Packete die in einem früheren Lauf aktiv waren,\nund diesmal nicht ausgewählt sind!" M_PKGS
+}
+
+install_if() {
+	install_pkgs "Packete für Informatiker/Programmierung installieren?" "Programme, die der OSAK/die ALUG für sinnvoll hält, sind bereits zur Installation vorselektiert.\nWenn du keine Packete aus der Liste installieren willst, einfach Abbrechen.\nBitte beachten: Das LIP-Script deinstalliert keine Packete, insbesondere also keine Packete die in einem früheren Lauf aktiv waren,\nund diesmal nicht ausgewählt sind!" IF_PKGS
+}
+
 echo
 echo "Auf dem Install-USB-Stick liegen viele der zu installierenden Packete"
 bright "Es ist dringend empfohlen, jetzt einen Instaĺl-USB-Stick einzustecken"
@@ -99,10 +238,11 @@ else
     err "Installation abgebrochen"
     exit 2
   else
-    warn "LIP-Install-USB-Stick nicht nutzbar."
-    warn "Stelle eine Internetverbindung her und mache weiter (langsames Installieren)"
-    warn "Wenn Du nicht weiter weißt, frage einen Helfer."
-    pressenter
+    #warn "LIP-Install-USB-Stick nicht nutzbar."
+    #warn "Stelle eine Internetverbindung her und mache weiter (langsames Installieren)"
+    #warn "Wenn Du nicht weiter weißt, frage einen Helfer."
+    #pressenter
+    pressenter "LIP-Install-USB-Stick nicht nutzbar.\nStelle eine Internetverbindung her und mache weiter (langsames Installieren)\nWenn Du nicht weiter weißt, frage einen Helfer."
   fi
 fi
 
@@ -133,38 +273,12 @@ fi
 if askyesno "Netzwerk: Soll die Ubuntu Firewall (ufw/gufw) aktiviert werden ?"
 then
   $DEBUG ufw enable
-  apt-install gufw
-  ok "Firewall aktiviert, benutze 'gufw' oder 'ufw' um die Einstellungen der Firewall zu verändern"
-  #ok "Firewall aktiviert, benutze das Kommando 'ufw' in einem Teminal, um die Einstellungen der Firewall zu verändern"
 fi
 
-echo
 echo "Installation:"
 echo "Programme, die für alle Fachrichtungen interressant sind (7zip, gimp, git, ... )"
-if askyesno "Sollen diese Programme installiert werden ?"
-then
-  apt-install pwgen p7zip-full p7zip-rar unrar-free
-  ok "Installation der System-Utilities abgeschlossen"
-  apt-install texmaker inkscape gimp pidgin subversion git graphviz
-  ok "Installation der für alle interessanten Software abgeschlossen."
-
-else
-	echo "Es wurde nichts installiert"
-fi
-
-echo
-echo "Alternative Desktopumgebungen"
-echo "  Das ist für diejenigen interessant, die mit 'unity',"
-echo "  der gerade eingestellten Oberfläche nicht gut klarkommen."
-if askyesno "Soll 'GNOME 3' installiert werden ?"
-then
-  apt-install gnome
-  ok "GNOME 3 wurde installiert"
-fi
-if askyesno "Soll 'xfce' installiert werden ?"
-then
-  apt-install xubuntu-desktop
-  ok "xfce wurde installiert"
+if [ -z "$NOGUI" ] || (askyesno "Sollen diese Programme installiert werden ?"); then
+	install_common
 fi
 
 #Fachrichtung wählen
@@ -173,14 +287,23 @@ echo "Auswahl fachspezifischer Software:"
 
 if askyesno "Software für Vorlesung 'Programmierung' (Pflicht für Informatiker) installieren ?"
 then
-  apt-install haskell-platform java7-jdk swi-prolog
-  ok "Haskell, Java, Prolog und Eclipse wurden installiert"
+  #apt-install haskell-platform java7-jdk swi-prolog
+  #ok "Haskell, Java, Prolog und Eclipse wurden installiert"
+  install_if
+fi
+
+if askyesno "Software für Mathematik installieren ?"
+then
+  #apt-install haskell-platform java7-jdk swi-prolog
+  #ok "Haskell, Java, Prolog und Eclipse wurden installiert"
+  install_m
 fi
 
 if askyesno "Software für Physiker (Python-SciPy,-NumPy,diverse Plot-Programme) installieren ?"
 then
-  apt-install python-numpy python-simpy python-scipy python-matplotlib ipython python-dev gnuplot wxmaxima
-  ok "Python-SciPy, -NumPy, -Matplotlib, ipython, gnuplot, und WxMaxima wurden installiert"
+  #apt-install python-numpy python-simpy python-scipy python-matplotlib ipython python-dev gnuplot wxmaxima
+  #ok "Python-SciPy, -NumPy, -Matplotlib, ipython, gnuplot, und WxMaxima wurden installiert"
+  install_ph
   if askyesno "ROOT installieren (Physiker) ?"
   then
 	if [ ! -d "$HIVE_DIR" ]
@@ -207,7 +330,7 @@ then
 fi
 
 echo
-echo "Falls Du doch noch mehr Software installieren möchtest, starte $0 erneut."
+pressenter "Installation abgeschlossen!\n\nFalls Du doch noch mehr Software installieren möchtest, starte $0 erneut."
 
 echo
 #Folgende Packete koennen auch fuer Helfer waehrend der Installation interessant sein: