From: Michael Prokop Date: Sun, 30 Dec 2018 11:10:50 +0000 (+0100) Subject: grml-lang: use /etc/default/keyboard instead of /etc/sysconfig/keyboard X-Git-Tag: v2.8.3~1 X-Git-Url: http://git.grml.org/?p=grml-scripts.git;a=commitdiff_plain;h=090cabd7a5adad13d631133914a493a5bca29cf3 grml-lang: use /etc/default/keyboard instead of /etc/sysconfig/keyboard For proper font handling we switched to usage of console-setup and keyboard-configuration packages. We adjusted grml-live and grml-autoconfig to use /etc/default/keyboard instead of /etc/sysconfig/keyboard. To better handle this also within grml-lang itself, switch to usage of /etc/default/keyboard. FTR, this is not the final and bullet-proof solution yet, but meant to be fix the main issues (e.g. booting with Grml defaults, then pressing 'd' for german keyboard within grml-quickconfig and then starting X via 'x' within grml-quickoconfig), using a minimal approach. Initial work addressing https://github.com/grml/grml/issues/115 --- diff --git a/usr_bin/grml-lang b/usr_bin/grml-lang index 5c3fafa..0e774ae 100755 --- a/usr_bin/grml-lang +++ b/usr_bin/grml-lang @@ -6,7 +6,7 @@ # License: This file is licensed under the GPL v2. ################################################################################ -CONFFILE=/etc/sysconfig/keyboard +CONFFILE=/etc/default/keyboard PN="$(basename $0)" usage(){ @@ -16,36 +16,22 @@ usage(){ setvalue(){ [ -n "$2" ] || return 1 - # already present in conffile? - if grep -q ${1} $CONFFILE 2>/dev/null ; then - sudo sed -i "s#^${1}.*#${1}=${2}#" $CONFFILE - else - echo "$1=${2}" | sudo tee -a $CONFFILE >/dev/null - fi + sudo sed -i "s#^${1}=.*#${1}=\"${2}\"#" "${CONFFILE}" } if [ $# -lt "1" ] ; then - usage + usage >&2 exit 1 fi -[ -d /etc/sysconfig ] || sudo mkdir /etc/sysconfig - - LANGUAGE="$1" - . /etc/grml/language-functions -if [ ! -z "$KEYTABLE" ] ; then - setvalue KEYTABLE "$KEYTABLE" -fi - -if [ ! -z "XKEYBOARD" ] ; then - setvalue XKEYBOARD $XKEYBOARD +if [ -n "$XKEYBOARD" ] ; then + setvalue XKBLAYOUT "$XKEYBOARD" fi - if [ -z "$DISPLAY" ] ;then if [ "$1" = "de" ] ; then echo "Loading keymap for Germany..." @@ -96,7 +82,11 @@ else else if [ "$1" = "de" ] ; then echo "Loading keymap for Germany..." - [ -r $HOME/.Xmodmap.german ] && xmodmap $HOME/.Xmodmap.german || setxkbmap de + if [ -r "${HOME}"/.Xmodmap.german ] ; then + xmodmap "${HOME}"/.Xmodmap.german || setxkbmap de + else + setxkbmap de + fi echo -e "\nDone." elif [ "$1" = "at" ] ; then echo "Loading keymap for Austria..." @@ -120,7 +110,11 @@ else echo -e "\nDone." elif [ "$1" = "us" ] ; then echo 'Loading keymap us...' - [ -r $HOME/.Xmodmap ] && xmodmap $HOME/.Xmodmap || setxkbmap us + if [ -r "${HOME}"/.Xmodmap ] ; then + xmodmap "${HOME}"/.Xmodmap || setxkbmap us + else + setxkbmap us + fi echo -e "\nDone." elif [ "$1" = "es" ] ; then echo "Loading keymap es..."