From ac663d5d7fc48e545710d058dd2a01799914d567 Mon Sep 17 00:00:00 2001 From: ben Date: Mon, 5 Jan 2009 15:40:07 +0000 Subject: Makefile für installiere_neo hinzugefügt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.neo-layout.org@1381 b9310e46-f624-0410-8ea1-cfbb3a30dc96 --- Makefile | 12 +- .../erzeuge_installation/erzeuge.installiere_neo | 36 --- linux/bin/erzeuge_installation/installiere_neo.1 | 265 --------------------- linux/bin/erzeuge_installation/installiere_neo.2 | 63 ----- .../neo.conf.erzeuge.installiere_neo | 58 ----- linux/bin/installiere_neo/Makefile | 8 + linux/bin/installiere_neo/erzeuge.installiere_neo | 36 +++ linux/bin/installiere_neo/installiere_neo.1 | 265 +++++++++++++++++++++ linux/bin/installiere_neo/installiere_neo.2 | 63 +++++ .../neo.conf.erzeuge.installiere_neo | 58 +++++ 10 files changed, 438 insertions(+), 426 deletions(-) delete mode 100755 linux/bin/erzeuge_installation/erzeuge.installiere_neo delete mode 100644 linux/bin/erzeuge_installation/installiere_neo.1 delete mode 100644 linux/bin/erzeuge_installation/installiere_neo.2 delete mode 100644 linux/bin/erzeuge_installation/neo.conf.erzeuge.installiere_neo create mode 100644 linux/bin/installiere_neo/Makefile create mode 100755 linux/bin/installiere_neo/erzeuge.installiere_neo create mode 100644 linux/bin/installiere_neo/installiere_neo.1 create mode 100644 linux/bin/installiere_neo/installiere_neo.2 create mode 100644 linux/bin/installiere_neo/neo.conf.erzeuge.installiere_neo diff --git a/Makefile b/Makefile index 62c1c72..d9828f7 100644 --- a/Makefile +++ b/Makefile @@ -1,14 +1,18 @@ all: make -C portable deploy make -C grafik + make -C linux/bin/installiere_neo -clean: +svnclean: make -C portable clean + make -C linux/bin/installiere_neo clean + +clean: svnclean make -C grafik clean -svnupdate: - make -C portable clean +svnupdate: + make svnclean svn up make -.PHONY: all clean svnupdate +.PHONY: all clean svnupdate svnclean diff --git a/linux/bin/erzeuge_installation/erzeuge.installiere_neo b/linux/bin/erzeuge_installation/erzeuge.installiere_neo deleted file mode 100755 index a110283..0000000 --- a/linux/bin/erzeuge_installation/erzeuge.installiere_neo +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash - -fuege_ein() { -datei=$2 -name=$1 -name_gross=`echo $name | tr [:lower:] [:upper:]` - -cp $datei ./erzeuge_installiere_neo.bak1 -sed s/\\$/\\\\$/g erzeuge_installiere_neo.bak1 > erzeuge_installiere_neo.bak2 -sed s/\`/\\\\\`/g erzeuge_installiere_neo.bak2 > erzeuge_installiere_neo.bak3 - -echo -echo "$name ()" -echo "{" -echo "cat <<$name_gross" -cat ./erzeuge_installiere_neo.bak3 -echo $name_gross -echo "}" -rm ./erzeuge_installiere_neo.bak[123] -} - - -cat installiere_neo.1 -echo - -fuege_ein neo_xmodmap ../../xmodmap/neo_de.xmodmap -fuege_ein neo_console ../../console/neo.map -fuege_ein neo_asdf ../asdf -fuege_ein neo_uiae ../uiae -fuege_ein neo_referenz ../../../A-REFERENZ-A/neo20.txt -fuege_ein neo_neo ../neo -fuege_ein neo_num ../num -fuege_ein neo_compose ../../../Compose/Compose.neo -fuege_ein neorc neo.conf.erzeuge.installiere_neo - -cat installiere_neo.2 \ No newline at end of file diff --git a/linux/bin/erzeuge_installation/installiere_neo.1 b/linux/bin/erzeuge_installation/installiere_neo.1 deleted file mode 100644 index c0a93df..0000000 --- a/linux/bin/erzeuge_installation/installiere_neo.1 +++ /dev/null @@ -1,265 +0,0 @@ -#!/bin/bash -# Copyright 2008 Pascal Hauck - -# ======= Installation ======= -# Um NEO auf Ihrem System zu (dauerhaft) zu installieren, genügt es, dieses Skript auszuführen -# z.B. in der Konsole die folgenden beiden Zeilen eingeben: -# chmod u+x installiere_neo -# ./installiere_neo -# Nun ist NEO auf Ihrem System installiert -# Nach Eingabe von ›. starte_neo‹ oder nach dem nächsten Login ist: -# ein Wechsel von NEO zu QWERTZ ist jederzeit mit ›uiae‹ leicht möglich und -# ein Wechsel von QWERTZ zu NEO ist jederzeit mit ›asdf‹ ebenso leicht möglich - -# Wenn NEO nicht automatisch nach dem Login gestartet werden soll, genügt es, vor die Zeile -# asdf # mit einem # am Zeilenanfang bleibt QWERTZ das Standardlayout, sonst ist es NEO -# in der Datei $HOME/.profile ein # zu setzen -# Alternativ kann das Skript ›installiere_neo‹ ein weiteres mal aufgerufen werden -# ============================== - - -# ======= Deinstallation ======= -# Um NEO wieder zu deinstallieren, kann das Skript ›installiere_neo‹ ein weiteres Mal aufgerufen werden -# ============================== - - -# ======= Bemerkungen ========== -# Dieses Skript ist eine rudimentäre Installation. -# Es wird immer das Standardverzeichnis $inst_dir verwendet -# 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. -# ============================== - - -# colours in the Bash -normal="\033[0m" -red="\033[31m" -green="\033[32m" - -inst_dir=$HOME/neo - -# remove the entry in $HOME/.profile -rmfromprofile() -{ - grep -v "^\# NEO:$" $HOME/.profile | grep -v "asdf \# mit" | grep -v "asdf" > $HOME/profile.neo.tmp - rm /$HOME/.profile - mv $HOME/profile.neo.tmp $HOME/.profile -} - -# create directories, files and entries -create() -{ - if [ -f $2 ] # if already exists - then - echo -e "Die Datei ${red}$2${normal} gibt es bereits – soll die bestehende Datei überschrieben werden? \c"; read -p "[J,N] " -e overwrite - if [ "$overwrite" = "J" ] # overwrite? - then - echo "Datei $2 wird überschrieben!" - rm -f $2 # remove if user wants to overwrite - else - echo -e "Datei ${red}$2${normal} gibt es schon → Installation abgebrochen" - exit - fi - fi - echo "Erstelle Datei $2" # create - $1 > $2 # call subroutine $1 and write to file $2 -} - -## show options if NEO is not installed so far -install_options() -{ - 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 ${green}installiere_neo${normal} ein weiteres Mal aufgerufen wird, haben weitere Optionen – z.B. die Deinstallation von NEO" - echo - - installoption="" - while [ ! $installoption ] # choose between QWERTZ or NEO as standard - do # switch with ›asdf‹ and ›uiae‹ - 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 ${green}installiere_neo${normal} ein weiteres Mal ausgeführt werden." - echo -e ${red} - read -n1 -p "Drücke eine Taste um fortzufahren oder STRG+C zum Abbrechen" - echo -e ${normal} - ;; - 1) - echo - echo "Das Standardlayout wird nicht verändert." - echo -e "Zu NEO kann man jederzeit mit der Abrollbewegung ${green}asdf${normal} wechseln." - echo -e ${red} - read -n1 -p "Drücke eine Taste um fortzufahren oder STRG+C zum Abbrechen" - echo -e ${normal} - ;; - *) - 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 "Installation von NEO mit xmodmap wird gestartet…" - echo - echo - -# *** main installation process *** -# creating a directory $inst_dir - if [ -d $inst_dir ] - then - echo -e "Das Verzeichnis ${red}$inst_dir${normal} gibt es bereits – wird verwendet…" - else - echo -e "Erstelle $inst_dir" - mkdir $inst_dir - fi - -# creating NEO files in $inst_dir - create neo_xmodmap $inst_dir/neo_de.xmodmap - create neo_console $inst_dir/neo.map - create neo_asdf $inst_dir/asdf - chmod u+x $inst_dir/asdf - create neo_uiae $inst_dir/uiae - chmod u+x $inst_dir/uiae - create neo_referenz $inst_dir/neo20.txt - create neo_neo $inst_dir/neo - chmod u+x $inst_dir/neo - create neo_num $inst_dir/num - chmod u+x $inst_dir/num - - echo "Ergängze die Compose-Erweiterung von NEO…" - create neo_compose $inst_dir/Compose.neo - if [ -f $HOME/.XCompose ] - then - echo -e "Die Datei ${red}$HOME/.XCompose${normal} gibt es bereits – soll die bestehende Datei überschrieben werden? \c"; read -p "[J,N] " -e overwrite - if [ "$overwrite" = "J" ] # overwrite? - then - echo "Datei $HOME/.XCompose wird überschrieben!" - cat /usr/share/X11/locale/en_US.UTF-8/Compose $inst_dir/Compose.neo > $HOME/.XCompose - else - echo -e "Datei ${red}$HOME/.XCompose${normal} bleibt erhalten, jedoch kann die Compos-Erweiterung von NEO nicht genutzt werden." - fi - fi - - create neorc $HOME/.neorc - -# entry in $HOME/.profile with NEO or QWERTZ as standard keyboard layout after login - case $installoption in - 2) - echo - echo "Nach dem Login wird NEO die Standardbelegung sein." - echo -e "Um dies zu ändern, kann ${green}installiere_neo${normal} ein weiteres Mal ausgeführt werden." - rmfromprofile - profile_neo >> $HOME/.profile - ;; - 1) - echo - echo "Das Standardlayout wird nich verändert." - rmfromprofile - profile_qwertz >> $HOME/.profile - ;; - esac -} - -# remove files for uninstall option -remove() -{ - echo "Entferne $1" - rm $1 || echo -e "${red}Konnte die Datei $1 nicht entfernen!${normal}" -} - -# remove all directories, files and entries made by ›installiere_neo‹ -deinstall() -{ - echo - echo - rmfromprofile - remove $HOME/.neorc - remove $inst_dir/starte_neo - remove $inst_dir/Compose.neo - remove $inst_dir/neo20.txt - remove $inst_dir/num - remove $inst_dir/neo - remove $inst_dir/uiae - remove $inst_dir/asdf - remove $inst_dir/neo.map - remove $inst_dir/neo_de.xmodmap - echo "Entferne $inst_dir/" - rmdir $inst_dir/ || echo -e "${red}Konnte das Verzeichenis $inst_dir/ nicht entfernen!${normal}" -} - -# show options if NEO is already installed -deinstall_options() -{ - 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 ${green}adsf${normal}." - 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 -e " Diese Optionen funktionieren nur dann zuverlässig, wenn NEO auch mit ${green}installiere_neo${normal} installiert wurde" - echo - - deinstalloption="" - while [ ! $deinstalloption ] # choose between deleting NEO as standard layout or delete NEO at all - do # if deleted as standard layout only, ›asdf‹ is still working - echo - read -p "Wählen Sie eine Option [1,2]: " -e deinstalloption - case $deinstalloption in - 2) - echo - echo -e "Alle zuvor von ${green}installiere_neo${normal} vorgenommen Änderungen am System werden gelöscht!" - echo -e ${red} - read -n1 -p "Drücke eine Taste um fortzufahren oder STRG+C zum Abbrechen" - echo -e ${normal} - cd $inst_dir - ./uiae - deinstall # full deinstallation - echo - echo -e "Alle von ${green}installiere_neo${normal} gemachten Änderungen an Ihrem System wurden entfernt." - ;; - 1) - echo - echo "NEO wird als Standardbelegung entfernt" - echo -e "Zu NEO kann man weiterhin jederzeit mit der Abrollbewegung ${green}asdf${normal} wechseln." - echo -e ${red} - read -n1 -p "Drücke eine Taste um fortzufahren oder STRG+C zum Abbrechen" - echo -e ${normal} - echo - rmfromprofile # alter the entry in $HOME/.profile; first: remove old entry - profile_qwertz >> $HOME/.profile # write the new entry - echo - echo "Nach dem nächsten Login wird NEO nicht mehr die Standardbelegung sein. " - ;; - *) - 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 -} \ No newline at end of file diff --git a/linux/bin/erzeuge_installation/installiere_neo.2 b/linux/bin/erzeuge_installation/installiere_neo.2 deleted file mode 100644 index d6b858d..0000000 --- a/linux/bin/erzeuge_installation/installiere_neo.2 +++ /dev/null @@ -1,63 +0,0 @@ -#!/bin/bash - -profile_neo() { -cat < $inst_dir/starte_neo - echo - echo -e "Um NEO nun jetzt zu aktivieren geben Sie bitte »${green}. $inst_dir/starte_neo${normal}« (mit Punkt und Leerzeichen!) ein." - echo -e "Danach oder nach dem nächsten Login kann jederzeit mit ${green}asdf${normal} von QWERTZ zu NEO und mit ${green}uiae${normal} von NEO zu QWERTZ gewechselt werden." - exit -fi - - -# configuration file found → delete/deinstall options -deinstall_options -exit - diff --git a/linux/bin/erzeuge_installation/neo.conf.erzeuge.installiere_neo b/linux/bin/erzeuge_installation/neo.conf.erzeuge.installiere_neo deleted file mode 100644 index 292212a..0000000 --- a/linux/bin/erzeuge_installation/neo.conf.erzeuge.installiere_neo +++ /dev/null @@ -1,58 +0,0 @@ -# This file contains the configuration for the Neo scripts - -# To use the scripts ›neo‹ and ›num‹ you should specify the full path to the -# Neo reference -NEO_REFERENCE="$HOME/neo/neo20.txt" - - -# Select the neo Variant to be used when using an X Server -# Values are "xkbmap", "xmodmap", "xprog", "alternative" or "evdev" -# default is xkbmap, this variable should always be set -NEO_X_VARIANTE="xmodmap" - - -# When using xkbmap, you may specify which xkbmap should be used, the default -# is "de" (This is useful if you installed the symbols file under a different -# name): -#NEO_XKBMAP=de - -# You can also specify the xkbmap variant to be used, the default is "neo": -#NEO_XKBVARIANT=neo - - -# When using a xmodmap, you may specify the full path to the xmodmap to be used. -# Default: -NEO_XMODMAP="$HOME/neo/neo_de.xmodmap" -#NEO_XMODMAP_XPROG="$HOME/neo/neo_de_x-prog.xmodmap" -#NEO_XMODMAP_ALTERNATIVE="$HOME/neo/neo_de_alternative.xmodmap" -#NEO_XMODMAP_EVDEV="$HOME/neo/neo_de_evdev.xmodmap" - - -# Standard keyboard layout to switch back to when executing "uiae": -#STD_XKBMAP=de - -# Standard layout variant to switch back to when executing "uiae": -#STD_XKBVARIANT=nodeadkeys - -# Numlock status when switching to standard keyboard layout using "uiae", -# values are "on" and "off": -#NUM_LOCK_STATUS=on - - -# For Neo without an X System set the path to the console keymap -NEO_CONSOLE_KEYMAP="$HOME/neo/neo" # if necessary add „.map“ - -# Set the standard console keymap to switch back to -#STD_CONSOLE_KEYMAP="de-latin1-nodeadkeys" - - -# If you installed one of these programs in a non-standard path you may, -# uncomment the variable and change the path to the executable: -#PATH_XMODMAP=/usr/bin/xmodmap -#PATH_SETXKBMAP=/usr/bin/setxkbmap -#PATH_LOADKEYS=/usr/bin/loadkeys -#PATH_SUDO=/usr/bin/sudo -#PATH_SETLEDS=/usr/bin/setleds -#PATH_NUMLOCKX=/usr/bin/numlockx -#PATH_XSET=/usr/bin/xset - diff --git a/linux/bin/installiere_neo/Makefile b/linux/bin/installiere_neo/Makefile new file mode 100644 index 0000000..5af1bcd --- /dev/null +++ b/linux/bin/installiere_neo/Makefile @@ -0,0 +1,8 @@ +installiere_neo: ../../xmodmap/neo_de.xmodmap ../../console/neo.map ../asdf ../uiae ../../../A-REFERENZ-A/neo20.txt ../neo ../num ../../../Compose/Compose.neo neo.conf.erzeuge.installiere_neo + ./erzeuge.installiere_neo > installiere_neo + chmod a+x installiere_neo + +clean: + rm -f installiere_neo + +.PHONY: clean diff --git a/linux/bin/installiere_neo/erzeuge.installiere_neo b/linux/bin/installiere_neo/erzeuge.installiere_neo new file mode 100755 index 0000000..a110283 --- /dev/null +++ b/linux/bin/installiere_neo/erzeuge.installiere_neo @@ -0,0 +1,36 @@ +#!/bin/bash + +fuege_ein() { +datei=$2 +name=$1 +name_gross=`echo $name | tr [:lower:] [:upper:]` + +cp $datei ./erzeuge_installiere_neo.bak1 +sed s/\\$/\\\\$/g erzeuge_installiere_neo.bak1 > erzeuge_installiere_neo.bak2 +sed s/\`/\\\\\`/g erzeuge_installiere_neo.bak2 > erzeuge_installiere_neo.bak3 + +echo +echo "$name ()" +echo "{" +echo "cat <<$name_gross" +cat ./erzeuge_installiere_neo.bak3 +echo $name_gross +echo "}" +rm ./erzeuge_installiere_neo.bak[123] +} + + +cat installiere_neo.1 +echo + +fuege_ein neo_xmodmap ../../xmodmap/neo_de.xmodmap +fuege_ein neo_console ../../console/neo.map +fuege_ein neo_asdf ../asdf +fuege_ein neo_uiae ../uiae +fuege_ein neo_referenz ../../../A-REFERENZ-A/neo20.txt +fuege_ein neo_neo ../neo +fuege_ein neo_num ../num +fuege_ein neo_compose ../../../Compose/Compose.neo +fuege_ein neorc neo.conf.erzeuge.installiere_neo + +cat installiere_neo.2 \ No newline at end of file diff --git a/linux/bin/installiere_neo/installiere_neo.1 b/linux/bin/installiere_neo/installiere_neo.1 new file mode 100644 index 0000000..c0a93df --- /dev/null +++ b/linux/bin/installiere_neo/installiere_neo.1 @@ -0,0 +1,265 @@ +#!/bin/bash +# Copyright 2008 Pascal Hauck + +# ======= Installation ======= +# Um NEO auf Ihrem System zu (dauerhaft) zu installieren, genügt es, dieses Skript auszuführen +# z.B. in der Konsole die folgenden beiden Zeilen eingeben: +# chmod u+x installiere_neo +# ./installiere_neo +# Nun ist NEO auf Ihrem System installiert +# Nach Eingabe von ›. starte_neo‹ oder nach dem nächsten Login ist: +# ein Wechsel von NEO zu QWERTZ ist jederzeit mit ›uiae‹ leicht möglich und +# ein Wechsel von QWERTZ zu NEO ist jederzeit mit ›asdf‹ ebenso leicht möglich + +# Wenn NEO nicht automatisch nach dem Login gestartet werden soll, genügt es, vor die Zeile +# asdf # mit einem # am Zeilenanfang bleibt QWERTZ das Standardlayout, sonst ist es NEO +# in der Datei $HOME/.profile ein # zu setzen +# Alternativ kann das Skript ›installiere_neo‹ ein weiteres mal aufgerufen werden +# ============================== + + +# ======= Deinstallation ======= +# Um NEO wieder zu deinstallieren, kann das Skript ›installiere_neo‹ ein weiteres Mal aufgerufen werden +# ============================== + + +# ======= Bemerkungen ========== +# Dieses Skript ist eine rudimentäre Installation. +# Es wird immer das Standardverzeichnis $inst_dir verwendet +# 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. +# ============================== + + +# colours in the Bash +normal="\033[0m" +red="\033[31m" +green="\033[32m" + +inst_dir=$HOME/neo + +# remove the entry in $HOME/.profile +rmfromprofile() +{ + grep -v "^\# NEO:$" $HOME/.profile | grep -v "asdf \# mit" | grep -v "asdf" > $HOME/profile.neo.tmp + rm /$HOME/.profile + mv $HOME/profile.neo.tmp $HOME/.profile +} + +# create directories, files and entries +create() +{ + if [ -f $2 ] # if already exists + then + echo -e "Die Datei ${red}$2${normal} gibt es bereits – soll die bestehende Datei überschrieben werden? \c"; read -p "[J,N] " -e overwrite + if [ "$overwrite" = "J" ] # overwrite? + then + echo "Datei $2 wird überschrieben!" + rm -f $2 # remove if user wants to overwrite + else + echo -e "Datei ${red}$2${normal} gibt es schon → Installation abgebrochen" + exit + fi + fi + echo "Erstelle Datei $2" # create + $1 > $2 # call subroutine $1 and write to file $2 +} + +## show options if NEO is not installed so far +install_options() +{ + 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 ${green}installiere_neo${normal} ein weiteres Mal aufgerufen wird, haben weitere Optionen – z.B. die Deinstallation von NEO" + echo + + installoption="" + while [ ! $installoption ] # choose between QWERTZ or NEO as standard + do # switch with ›asdf‹ and ›uiae‹ + 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 ${green}installiere_neo${normal} ein weiteres Mal ausgeführt werden." + echo -e ${red} + read -n1 -p "Drücke eine Taste um fortzufahren oder STRG+C zum Abbrechen" + echo -e ${normal} + ;; + 1) + echo + echo "Das Standardlayout wird nicht verändert." + echo -e "Zu NEO kann man jederzeit mit der Abrollbewegung ${green}asdf${normal} wechseln." + echo -e ${red} + read -n1 -p "Drücke eine Taste um fortzufahren oder STRG+C zum Abbrechen" + echo -e ${normal} + ;; + *) + 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 "Installation von NEO mit xmodmap wird gestartet…" + echo + echo + +# *** main installation process *** +# creating a directory $inst_dir + if [ -d $inst_dir ] + then + echo -e "Das Verzeichnis ${red}$inst_dir${normal} gibt es bereits – wird verwendet…" + else + echo -e "Erstelle $inst_dir" + mkdir $inst_dir + fi + +# creating NEO files in $inst_dir + create neo_xmodmap $inst_dir/neo_de.xmodmap + create neo_console $inst_dir/neo.map + create neo_asdf $inst_dir/asdf + chmod u+x $inst_dir/asdf + create neo_uiae $inst_dir/uiae + chmod u+x $inst_dir/uiae + create neo_referenz $inst_dir/neo20.txt + create neo_neo $inst_dir/neo + chmod u+x $inst_dir/neo + create neo_num $inst_dir/num + chmod u+x $inst_dir/num + + echo "Ergängze die Compose-Erweiterung von NEO…" + create neo_compose $inst_dir/Compose.neo + if [ -f $HOME/.XCompose ] + then + echo -e "Die Datei ${red}$HOME/.XCompose${normal} gibt es bereits – soll die bestehende Datei überschrieben werden? \c"; read -p "[J,N] " -e overwrite + if [ "$overwrite" = "J" ] # overwrite? + then + echo "Datei $HOME/.XCompose wird überschrieben!" + cat /usr/share/X11/locale/en_US.UTF-8/Compose $inst_dir/Compose.neo > $HOME/.XCompose + else + echo -e "Datei ${red}$HOME/.XCompose${normal} bleibt erhalten, jedoch kann die Compos-Erweiterung von NEO nicht genutzt werden." + fi + fi + + create neorc $HOME/.neorc + +# entry in $HOME/.profile with NEO or QWERTZ as standard keyboard layout after login + case $installoption in + 2) + echo + echo "Nach dem Login wird NEO die Standardbelegung sein." + echo -e "Um dies zu ändern, kann ${green}installiere_neo${normal} ein weiteres Mal ausgeführt werden." + rmfromprofile + profile_neo >> $HOME/.profile + ;; + 1) + echo + echo "Das Standardlayout wird nich verändert." + rmfromprofile + profile_qwertz >> $HOME/.profile + ;; + esac +} + +# remove files for uninstall option +remove() +{ + echo "Entferne $1" + rm $1 || echo -e "${red}Konnte die Datei $1 nicht entfernen!${normal}" +} + +# remove all directories, files and entries made by ›installiere_neo‹ +deinstall() +{ + echo + echo + rmfromprofile + remove $HOME/.neorc + remove $inst_dir/starte_neo + remove $inst_dir/Compose.neo + remove $inst_dir/neo20.txt + remove $inst_dir/num + remove $inst_dir/neo + remove $inst_dir/uiae + remove $inst_dir/asdf + remove $inst_dir/neo.map + remove $inst_dir/neo_de.xmodmap + echo "Entferne $inst_dir/" + rmdir $inst_dir/ || echo -e "${red}Konnte das Verzeichenis $inst_dir/ nicht entfernen!${normal}" +} + +# show options if NEO is already installed +deinstall_options() +{ + 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 ${green}adsf${normal}." + 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 -e " Diese Optionen funktionieren nur dann zuverlässig, wenn NEO auch mit ${green}installiere_neo${normal} installiert wurde" + echo + + deinstalloption="" + while [ ! $deinstalloption ] # choose between deleting NEO as standard layout or delete NEO at all + do # if deleted as standard layout only, ›asdf‹ is still working + echo + read -p "Wählen Sie eine Option [1,2]: " -e deinstalloption + case $deinstalloption in + 2) + echo + echo -e "Alle zuvor von ${green}installiere_neo${normal} vorgenommen Änderungen am System werden gelöscht!" + echo -e ${red} + read -n1 -p "Drücke eine Taste um fortzufahren oder STRG+C zum Abbrechen" + echo -e ${normal} + cd $inst_dir + ./uiae + deinstall # full deinstallation + echo + echo -e "Alle von ${green}installiere_neo${normal} gemachten Änderungen an Ihrem System wurden entfernt." + ;; + 1) + echo + echo "NEO wird als Standardbelegung entfernt" + echo -e "Zu NEO kann man weiterhin jederzeit mit der Abrollbewegung ${green}asdf${normal} wechseln." + echo -e ${red} + read -n1 -p "Drücke eine Taste um fortzufahren oder STRG+C zum Abbrechen" + echo -e ${normal} + echo + rmfromprofile # alter the entry in $HOME/.profile; first: remove old entry + profile_qwertz >> $HOME/.profile # write the new entry + echo + echo "Nach dem nächsten Login wird NEO nicht mehr die Standardbelegung sein. " + ;; + *) + 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 +} \ No newline at end of file diff --git a/linux/bin/installiere_neo/installiere_neo.2 b/linux/bin/installiere_neo/installiere_neo.2 new file mode 100644 index 0000000..d6b858d --- /dev/null +++ b/linux/bin/installiere_neo/installiere_neo.2 @@ -0,0 +1,63 @@ +#!/bin/bash + +profile_neo() { +cat < $inst_dir/starte_neo + echo + echo -e "Um NEO nun jetzt zu aktivieren geben Sie bitte »${green}. $inst_dir/starte_neo${normal}« (mit Punkt und Leerzeichen!) ein." + echo -e "Danach oder nach dem nächsten Login kann jederzeit mit ${green}asdf${normal} von QWERTZ zu NEO und mit ${green}uiae${normal} von NEO zu QWERTZ gewechselt werden." + exit +fi + + +# configuration file found → delete/deinstall options +deinstall_options +exit + diff --git a/linux/bin/installiere_neo/neo.conf.erzeuge.installiere_neo b/linux/bin/installiere_neo/neo.conf.erzeuge.installiere_neo new file mode 100644 index 0000000..292212a --- /dev/null +++ b/linux/bin/installiere_neo/neo.conf.erzeuge.installiere_neo @@ -0,0 +1,58 @@ +# This file contains the configuration for the Neo scripts + +# To use the scripts ›neo‹ and ›num‹ you should specify the full path to the +# Neo reference +NEO_REFERENCE="$HOME/neo/neo20.txt" + + +# Select the neo Variant to be used when using an X Server +# Values are "xkbmap", "xmodmap", "xprog", "alternative" or "evdev" +# default is xkbmap, this variable should always be set +NEO_X_VARIANTE="xmodmap" + + +# When using xkbmap, you may specify which xkbmap should be used, the default +# is "de" (This is useful if you installed the symbols file under a different +# name): +#NEO_XKBMAP=de + +# You can also specify the xkbmap variant to be used, the default is "neo": +#NEO_XKBVARIANT=neo + + +# When using a xmodmap, you may specify the full path to the xmodmap to be used. +# Default: +NEO_XMODMAP="$HOME/neo/neo_de.xmodmap" +#NEO_XMODMAP_XPROG="$HOME/neo/neo_de_x-prog.xmodmap" +#NEO_XMODMAP_ALTERNATIVE="$HOME/neo/neo_de_alternative.xmodmap" +#NEO_XMODMAP_EVDEV="$HOME/neo/neo_de_evdev.xmodmap" + + +# Standard keyboard layout to switch back to when executing "uiae": +#STD_XKBMAP=de + +# Standard layout variant to switch back to when executing "uiae": +#STD_XKBVARIANT=nodeadkeys + +# Numlock status when switching to standard keyboard layout using "uiae", +# values are "on" and "off": +#NUM_LOCK_STATUS=on + + +# For Neo without an X System set the path to the console keymap +NEO_CONSOLE_KEYMAP="$HOME/neo/neo" # if necessary add „.map“ + +# Set the standard console keymap to switch back to +#STD_CONSOLE_KEYMAP="de-latin1-nodeadkeys" + + +# If you installed one of these programs in a non-standard path you may, +# uncomment the variable and change the path to the executable: +#PATH_XMODMAP=/usr/bin/xmodmap +#PATH_SETXKBMAP=/usr/bin/setxkbmap +#PATH_LOADKEYS=/usr/bin/loadkeys +#PATH_SUDO=/usr/bin/sudo +#PATH_SETLEDS=/usr/bin/setleds +#PATH_NUMLOCKX=/usr/bin/numlockx +#PATH_XSET=/usr/bin/xset + -- cgit v1.2.3