diff options
| author | Florian Fischer <florian.fl.fischer@fau.de> | 2016-06-02 16:57:09 +0200 |
|---|---|---|
| committer | Florian Fischer <florian.fl.fischer@fau.de> | 2016-06-06 13:03:36 +0200 |
| commit | c8adc26ff6476beec4e50698575a34bdeb0164e8 (patch) | |
| tree | f3c010c311f3a469f05065fefb49e8d6870f015a | |
| parent | c2689b60788487c724bf0c8caee016712ffbcacf (diff) | |
| download | dotfiles-c8adc26ff6476beec4e50698575a34bdeb0164e8.tar.gz dotfiles-c8adc26ff6476beec4e50698575a34bdeb0164e8.zip | |
fix locales not set correct in a X Session
The locales are still not correct on tty.
But this is intentional by systemd because of problems handling some locales.
For further explanation see the comment in xinitrc.
| -rw-r--r-- | xinitrc | 36 |
1 files changed, 36 insertions, 0 deletions
@@ -1,4 +1,6 @@ #!/bin/bash + +# Set my favorite terminal if type urxvt >/dev/null 2>/dev/null then export TERMINAL=urxvt @@ -8,6 +10,40 @@ then export TERMINAL=terminator fi +# agetty unsets passed locale vars. +# See: +# /etc/systemd/system/getty.target.wants/getty@tty1.service +# /usr/lib/systemd/system/getty@.service +# Because of problems with some locales. +# See: +# https://github.com/fish-shell/fish-shell/issues/3092#issuecomment-223154845 +# => Set correct locale. Copied from arch's /etc/profile.d/locale.sh + +if [ -z "$LANG" ]; then + if [ -n "$XDG_CONFIG_HOME" ] && [ -r "$XDG_CONFIG_HOME/locale.conf" ]; then + . "$XDG_CONFIG_HOME/locale.conf" + elif [ -n "$HOME" ] && [ -r "$HOME/.config/locale.conf" ]; then + . "$HOME/.config/locale.conf" + elif [ -r /etc/locale.conf ]; then + . /etc/locale.conf + fi +fi + +LANG=${LANG:-C} +export LANG +[ -n "$LC_CTYPE" ] && export LC_CTYPE +[ -n "$LC_NUMERIC" ] && export LC_NUMERIC +[ -n "$LC_TIME" ] && export LC_TIME +[ -n "$LC_COLLATE" ] && export LC_COLLATE +[ -n "$LC_MONETARY" ] && export LC_MONETARY +[ -n "$LC_MESSAGES" ] && export LC_MESSAGES +[ -n "$LC_PAPER" ] && export LC_PAPER +[ -n "$LC_NAME" ] && export LC_NAME +[ -n "$LC_ADDRESS" ] && export LC_ADDRESS +[ -n "$LC_TELEPHONE" ] && export LC_TELEPHONE +[ -n "$LC_MEASUREMENT" ] && export LC_MEASUREMENT +[ -n "$LC_IDENTIFICATION" ] && export LC_IDENTIFICATION + eval $(ssh-agent -s -a ~/.ssh/agent.sock) [[ -f $HOME/.Xresources ]] && xrdb -merge $HOME/.Xresources |
