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 /xinitrc | |
| 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.
Diffstat (limited to '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 |
