From 68bb782adff0be811bbc08648806aa40426ef77c Mon Sep 17 00:00:00 2001 From: pascal Date: Mon, 22 Dec 2008 18:25:01 +0000 Subject: [PATCH] =?UTF-8?q?weitere=20Verbesserung=20am=20Installationsskri?= =?UTF-8?q?pt=20=E2=80=93=20unterschiedliche=20Optionen,=20auch=20eine=20D?= =?UTF-8?q?einstallation=20m=C3=B6glich?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- linux/bin/installiere_neo | 214 ++++++++++++++++++++++++++++++-------- 1 file changed, 169 insertions(+), 45 deletions(-) diff --git a/linux/bin/installiere_neo b/linux/bin/installiere_neo index 61586300..019809cd 100755 --- a/linux/bin/installiere_neo +++ b/linux/bin/installiere_neo @@ -10,26 +10,20 @@ # Nun ist NEO auf Ihrem System dauerhaft installier # Ein Wechsel zurück zu QWERTZ ist jederzeit mit ›uiae‹ leicht möglich -# Wenn NEO nicht automatisch nach dem Login gestartet werden soll, genügt es, die beiden Zeilen -# # NEO: -# asdf -# in der Datei $HOME/.profile zu löschen -# (siehe dazu auch den Abschnitt ›Deinstallation‹ +# Wenn NEO nicht automatisch nach dem Login gestartet werden soll, genügt es, vor die Zeile, die mit +# asdf # mit einem # am Zeilenanfang +# beginnt und sich in der Datei $HOME/.profile befinden, ein # zu setzen # ============================== # ======= Deinstallation ======= -# Um NEO wieder zu deinstallieren muss vor allem der Abschnitt ›#NEO:‹ in der .profile entfernt werden (2 Zeilen) -# Das Verzeichnis $HOME/neo und die Datei $HOME/.neorc können einfach gelöscht werden -# Achtung: dieses Skript kann NICHT dazu genutzt werden, NEO wieder zu deinstallieren oder QWERTZ wieder -# zur Standardbelegung zu machen. +# Um NEO wieder zu deinstallieren, kann das Skript ›installiere_neo‹ ein weiteres Mal aufgerufen werden # ============================== # ======= Bemerkungen ========== # Dieses Skript ist eine rudimentäre Installation. Derzeit gibt es keine Konfigurationsmöglichkeit. # Es wird immer das Standardverzeichnis $HOME/neo verwendet -# Bei mehrfacher Anwendung (trozt Warnung) werden Zeilen in der .profile doppelt erzeugt. # Es gibt keine graphische Installation # Dennoch kann dieses Skrip helfen, NEO auf eine einfache Weise zu installieren. # Dieses Skript wird mit der Zeit verbessert werden. @@ -98,6 +92,40 @@ erzeuge() { esac } +entferne(){ + echo "Entferne $1" + rm $1 || echo -e "${R}Konnte die Datei $1 nicht entfernen!${B}" +} + +deinstall() { #remove all NEO-directories and files + echo + echo + rmfromprofile + entferne $HOME/.neorc + entferne $HOME/bin/uiae + entferne $HOME/neo/uiae + entferne $HOME/bin/asdf + entferne $HOME/neo/asdf + entferne $HOME/neo/neo.map + entferne $HOME/neo/neo_de.xmodmap + echo "Entferne $HOME/neo/" + rmdir $HOME/neo/ || echo -e "${R}Konnte das Verzeichenis $HOME/neo/ nicht entfernen!${B}" +} + +rmfromprofile() { + grep -v "^\# NEO:$" $HOME/.profile | grep -v "asdf \# mit" > $HOME/profile.neo.tmp + rm /$HOME/.profile + mv $HOME/profile.neo.tmp $HOME/.profile +} + +clear +echo +echo " *** NEO – Ergonomie und Zeichenvielfalt ***" +echo +echo +echo " Ihr System wird untersucht…" +echo + if [ -f "${NEO_CONFIG}" ]; then . "${NEO_CONFIG}" || die "Failed to source ${NEO_CONFIG}" elif [ -f "${HOME}"/.neorc ]; then @@ -105,7 +133,58 @@ elif [ -f "${HOME}"/.neorc ]; then elif [ -f /etc/neo.conf ]; then . /etc/neo.conf || die "Failed to source /etc/neo.conf" else - echo "NEO mit xmodmap wird installiert…" + + echo "Bislang gibt es kein vollständig konfiguriertes NEO auf Ihrem System" + echo + echo "Sie haben folgende Möglichkeiten:" + echo + echo " [1] NEO nur testen" + echo " Sie haben die Möglichkeit, NEO zu Testen, ihre Standardbelegung (in der Regel QWERTZ) bleibt erhalten" + echo + echo + echo " [2] NEO als Standardbelegung" + echo " Mit dieser Option wird NEO die neue Standardbelegung für diesen Benutzer und nach (nicht vor!) dem" + echo " Login automatisch aktiviert" + echo + echo + echo -e " Wenn ${G}installiere_neo${B} ein weiteres Mal aufgerufen wird, haben weitere Optionen – z.B. die Deinstallation von NEO" + echo + + installoption="" + while [ ! $installoption ] + do + echo + read -p "Wählen Sie eine Option [1,2]: " -e installoption + case $installoption in + 2) + echo + echo "Nach dem Login wird NEO die Standardbelegung sein." + echo -e "Um dies zu ändern, kann ${G}installiere_neo${B} ein weiteres Mal ausgeführt werden." + echo + read -n1 -p "Drücke eine Taste um fortzufahren oder STRG+C zum Abbrechen" + ;; + 1) + echo + echo "Das Standardlayout wird nich verändert." + echo -e "Zu NEO kann man jederzeit mit der Abrollbewegung ${G}asdf${B} wechseln." + echo + read -n1 -p "Drücke eine Taste um fortzufahren oder STRG+C zum Abbrechen" + ;; + *) + echo + echo "Bitte wählen Sie die Optionen 1, um NEO zu testen oder 2, um NEO zur Standardbelegung zu machen" + installoption="" + ;; + esac + done + + + echo + echo + echo " Installation von NEO mit xmodmap wird gestartet…" + echo + echo + erzeuge d $HOME/neo erzeuge f xmodmap $HOME/neo/neo_de.xmodmap erzeuge f console $HOME/neo/neo.map @@ -117,43 +196,88 @@ else erzeuge l uiae erzeuge f neorc $HOME/.neorc - layout="" - while [ ! $layout ] - do - read -p "Soll NEO oder QWERTZ die Standardbelegung nacht dem Login sein? [N,Q] " -e layout - case $layout in - N) - echo - echo "Nach dem Login wird NEO die Standardbelegung sein." - echo "Um dies zu ändern bitte die Kurzanleitung am Anfang dieses Skriptes lesen." - datei profile.neo > $HOME/neo/neo.profile - cd $HOME/neo - cat neo.profile >> $HOME/.profile - rm ./neo.profile - ;; - Q) - echo - echo "Das Standardlayout wird nich verändert." - echo -e "Zu NEO kann man jederzeit in der Konsole mit der Abrollbewegung ${G}asdf${B} wechseln." -# datei profile.qwertz > $HOME/neo/neo.profile - ;; - *) - echo - echo "Bitte wählen Sie zwischen N für NEO und Q für QWERTZ" - layout="" - ;; - esac - done + + case $installoption in + 2) + echo + echo "Nach dem Login wird NEO die Standardbelegung sein." + echo -e "Um dies zu ändern, kann ${G}installiere_neo${B} ein weiteres Mal ausgeführt werden." + rmfromprofile + datei profile.neo > $HOME/neo/neo.profile + cat $HOME/neo/neo.profile >> $HOME/.profile + rm $HOME/neo/neo.profile + ;; + 1) + echo + echo "Das Standardlayout wird nich verändert." + echo -e "Zu NEO kann man jederzeit mit der Abrollbewegung ${G}asdf${B} wechseln." + rmfromprofile + datei profile.qwertz > $HOME/neo/neo.profile + cat $HOME/neo/neo.profile >> $HOME/.profile + rm $HOME/neo/neo.profile + ;; + esac + cd $HOME/neo + echo + echo "Die Belegung wird nun auf NEO geändert…" ./asdf xmodmap - echo -e "Um zu QWERTZ zurückzukehren, genügt es, die Abrollbewegung ${G}uiae${B} in die Konsole einzugeben." + echo -e "Um zu QWERTZ zurückzukehren, genügt es, die Abrollbewegung ${G}uiae${B} einzugeben." exit fi -echo "Es scheint schon eine Konfiguration für NEO auf Ihrem System zu geben." -echo -e "Wenn sie sicher sind, NEO über dieses Skript installieren zu wollen, löschen Sie zuvor ${R}$HOME/.neorc${B} und ${R}/etc/neo.conf${B}" + + echo "Es gibt auf Ihrem System bereits eine Konfiguration für NEO." + echo + echo "Sollte NEO nur für diesen Benutzer installiert sein, haben folgende Möglichkeiten:" + echo + echo " [1] NEO zukünftig nicht mehr als Standardbelegung" + echo -e " NEO wird nicht länger direkt nach dem Login zur Verfügung stehen, wohl aber nach Eingabe von ${G}adsf${B}." + echo + echo + echo " [2] NEO vollständig vom System entfernen" + echo " Dieso Option entfernt alle zuvor angelegten Verzeichnisse, Datein und Einträge zur NEO-Belegung" + echo + echo + echo " Diese Optionen funktionieren nur dann zuverlässig, wenn NEO auch mit ${G}installiere_neo${B} installiert wurde" + echo + + deinstalloption="" + while [ ! $deinstalloption ] + do + echo + read -p "Wählen Sie eine Option [1,2]: " -e deinstalloption + case $deinstalloption in + 2) + echo + echo -e "Alle zuvor von ${G}installiere_neo${B} vorgenommen Änderungen am System werden gelöscht!" + echo + read -n1 -p "Drücke eine Taste um fortzufahren oder STRG+C zum Abbrechen" + deinstall + ;; + 1) + echo + echo "NEO wird als Standardbelegung entfernt" + echo -e "Zu NEO kann man weiterhin jederzeit mit der Abrollbewegung ${G}asdf${B} wechseln." + echo + read -n1 -p "Drücke eine Taste um fortzufahren oder STRG+C zum Abbrechen" + echo + rmfromprofile + echo >> $HOME/.profile + echo "# NEO:" >> $HOME/.profile + echo "# asdf # mit einem # am Zeilenanfang bleibt QWERTZ das Standardlayout, sonst ist es NEO" >> $HOME/.profile + ;; + *) + echo + echo "Bitte wählen Sie die Optionen 1, um NEO nicht länger als Standardbelegung zu nutzen" + echo " oder 2, um NEO vollständig zu entfernen" + deinstalloption="" + ;; + esac + done exit + #neo: xmodmap --- Beginn !! ~/.xmodmap !! @@ -1427,12 +1551,12 @@ NEO_CONSOLE_KEYMAP="$HOME/neo/neo" # if necessary add „.map“ #neo: neorc --- Ende #neo: profile.neo --- Beginn -# Neo: -asdf xmodmap # mit einem # am Zeilenanfang bleibt QWERTZ das Standardlayout, sonst ist es NEO +# NEO: +asdf # mit einem # am Zeilenanfang bleibt QWERTZ das Standardlayout, sonst ist es NEO #neo: profile.neo --- Ende #neo: profile.qwertz --- Beginn -# Neo: -# asdf xmodmap # mit einem # am Zeilenanfang bleibt QWERTZ das Standardlayout, sonst ist es NEO +# NEO: +# asdf # mit einem # am Zeilenanfang bleibt QWERTZ das Standardlayout, sonst ist es NEO #neo: profile.qwertz --- Ende