Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[solved] Userumgebung auf Deutsch
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

Goto page 1, 2  Next  
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
nisto
n00b
n00b


Joined: 29 Nov 2014
Posts: 59
Location: Magdeburg (Germany)

PostPosted: Thu Mar 29, 2018 9:32 am    Post subject: [solved] Userumgebung auf Deutsch Reply with quote

Hi.
Ich habe vor kurzem meine Userumgebung (Desktopumgebung ist Fluxbox) von Englisch auf Deutsch gestellt. Bisher habe ich den xserver manuell mit startx gestartet. Hier lief alles nach Plan. Nun habe ich xdm als Displaymanager installiert und sobald ich darüber den xserver starte / mich einlogge ist wieder Englisch die Sprache der Wahl.

Jemand eine Idee welche Variable ich noch setzen muss?

Code:

ThinkPad ~ # locale -a
C
POSIX
de_DE
de_DE.iso88591
de_DE.utf8
en_GB
en_GB.iso88591
en_GB.utf8
ThinkPad ~ #


Code:

ThinkPad ~ # eselect locale list
Available targets for the LANG variable:
  [1]   C
  [2]   POSIX
  [3]   de_DE
  [4]   de_DE.iso88591
  [5]   de_DE.utf8
  [6]   en_GB
  [7]   en_GB.iso88591
  [8]   en_GB.utf8
  [9]   de_DE.UTF-8 *
  [ ]   (free form)
ThinkPad ~ #


Code:

ThinkPad ~ $ cat .bashrc
[/quote]
export LANG="de_DE.UTF-8"
export LC_COLLATE="C"

ThinkPad ~ $


Last edited by nisto on Sun Apr 01, 2018 10:32 am; edited 1 time in total
Back to top
View user's profile Send private message
mike155
Advocate
Advocate


Joined: 17 Sep 2010
Posts: 4438
Location: Frankfurt, Germany

PostPosted: Thu Mar 29, 2018 12:15 pm    Post subject: Reply with quote

Hallo nisto,

das liegt sehr wahrscheinlich daran, dass die Umgebungsvariablen, die Du in ~/.bashrc setzt, nicht wirksam werden, wenn Du xdm verwendest. D.h. Du musst nicht zusätzliche Umgebungsvariablen setzen, sondern Du musst dafür sorgen, dass LANG auch wirklich gesetzt ist.

Deshalb ist es besser, die Language Umgebungsvariablen in /etc/env.d/02locale zu setzen. Die Datei sollte folgenden Inhalt haben:
Code:
LANG="de_DE.utf8"
LC_COLLATE="C"

Nach einer Änderung musst Du einmalig 'env-update' aufrufen. Nach einem erneuten Login sollte es funktionieren.

Wenn Du Language Umgebungsvariablen nicht systemweit, sondern nur für einen User setzen möchtest, ist ~/.profile besser als ~/.bashrc. ~/.bashrc wird nur bei bash, nicht aber bei sh oder dash ausgewertet. Und auch bei bash wird die Datei nicht in allen Modis ausgewertet (interactive login shell / intercative shell / non-interactive shell).
Back to top
View user's profile Send private message
nisto
n00b
n00b


Joined: 29 Nov 2014
Posts: 59
Location: Magdeburg (Germany)

PostPosted: Thu Mar 29, 2018 12:36 pm    Post subject: Reply with quote

Hi.
In /etc/env.d/02locale hatte ich schon was zu stehen.
Code:

LANG="de_DE.UTF-8"
LC_COLLATE="C"

Ich habe es nach deiner Vorgabe geändert, gab aber leider keinen Erfolg.
Back to top
View user's profile Send private message
mike155
Advocate
Advocate


Joined: 17 Sep 2010
Posts: 4438
Location: Frankfurt, Germany

PostPosted: Thu Mar 29, 2018 1:39 pm    Post subject: Reply with quote

Wenn ich es richtig verstehe, ist die Sprache in Fluxbox Deutsch, wenn Du die X11-Umgebung mit startx startest und sie ist Englisch, wenn Du sie über xdm startest. Richtig?

Dann bitte die LANG- und LC_COLLATE-Einträge aus .bashrc entfernen. Sie werden nicht benötigt, da die Umgebungsvariablen ja bereits über /etc/env.d/02locale gesetzt werden.

Danach bitte nacheinander beide Varianten (startx und xdm) starten und jeweils eine Shell öffnen und dort "export > datei1" bzw. "export > datei2" ausführen. Hinterher die beiden Dateien mit "diff datei1 datei2" o.ä. vergleichen. Gibt es Unterschiede?
Back to top
View user's profile Send private message
nisto
n00b
n00b


Joined: 29 Nov 2014
Posts: 59
Location: Magdeburg (Germany)

PostPosted: Thu Mar 29, 2018 4:53 pm    Post subject: Reply with quote

Ja so ist es.
Ich hatte einige Jahre alles auf Englisch. Das System startet, ich logge mich auf der Konsole ein und gebe startx ein, somit starte ich Fluxbox. Auf diesem Wege habe ich jetzt alles auf deutsch umgestellt.

Nun habe ich ein xdm als Displaymanager installiert, der jetzt Fluxbox startet, hier bleibt alles auf Englisch.

Aus der ~/.bashrc habe ich die Einträge wieder entfernt.
Deinen anderen Vorschlag probiere ich morgen aus.
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5175

PostPosted: Thu Mar 29, 2018 5:33 pm    Post subject: Reply with quote

Über einen display manager (wie xdm) wird eine "login" shell gestartet.
Und und im fallde der bash wertet diese nicht die ~/.bashrc aus sondern ~/.bash_profile, ~/.bash_login oder ~/.profile.

Wenn die Umstellung auf Deutsch nur für den einzelnen User gemacht werden soll dann muss es in eines der oben genannten dateien die Änderungen gemacht werden.
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
nisto
n00b
n00b


Joined: 29 Nov 2014
Posts: 59
Location: Magdeburg (Germany)

PostPosted: Fri Mar 30, 2018 7:09 am    Post subject: Reply with quote

firefly wrote:
~/.bash_profile, ~/.bash_login oder ~/.profile.

Moin.
Ich habe alle Dateien nacheinander angelegt, bleibe aber über xdm in Englisch. :(
Back to top
View user's profile Send private message
nisto
n00b
n00b


Joined: 29 Nov 2014
Posts: 59
Location: Magdeburg (Germany)

PostPosted: Fri Mar 30, 2018 7:12 am    Post subject: Reply with quote

mike155 wrote:
"export > datei1" bzw. "export > datei2" ausführen. Hinterher die beiden Dateien mit "diff datei1 datei2" o.ä. vergleichen. Gibt es Unterschiede?

Moin.
Es gibt Unterschiede. LANG wird nicht gesetzt, obwohl in 02locale definiert.
Code:

ThinkPad ~/Downloads $ diff xdm.txt xstart.txt
0a1
> declare -x ANT_HOME="/usr/share/ant"
1a3,4
> declare -x CONFIG_PROTECT="/usr/share/gnupg/qualified.txt"
> declare -x CONFIG_PROTECT_MASK="/etc/sandbox.d /etc/fonts/fonts.conf /etc/gentoo-release /etc/terminfo /etc/dconf /etc/ca-certificates.conf /etc/revdep-rebuild"
3a7,9
> declare -x FLTK_DOCDIR="/usr/share/doc/fltk-1.3.3-r3/html"
> declare -x GCC_SPECS=""
> declare -x GSETTINGS_BACKEND="dconf"
5a12,21
> declare -x HUSHLOGIN="FALSE"
> declare -x HZ="100"
> declare -x INFOPATH="/usr/share/gcc-data/x86_64-pc-linux-gnu/6.4.0/info:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.29.1/info:/usr/share/info"
> declare -x JAVAC="/etc/java-config-2/current-system-vm/bin/javac"
> declare -x JAVA_HOME="/etc/java-config-2/current-system-vm"
> declare -x JDK_HOME="/etc/java-config-2/current-system-vm"
> declare -x LANG="de_DE.utf8"
> declare -x LC_COLLATE="C"
> declare -x LESS="-R -M --shift 5"
> declare -x LESSOPEN="|lesspipe %s"
7a24,26
> declare -x MANPAGER="manpager"
> declare -x MANPATH="/etc/java-config-2/current-system-vm/man:/usr/share/gcc-data/x86_64-pc-linux-gnu/6.4.0/man:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.29.1/man:/usr/lib/llvm/5/share/man:/etc/java-config-2/current-system-vm/man/:/usr/local/share/man:/usr/share/man"
> declare -x MOZ_GMP_PATH="/usr/lib64/nsbrowser/plugins/gmp-gmpopenh264/system-installed"
8a28,29
> declare -x OPENGL_PROFILE="xorg-x11"
> declare -x PAGER="/usr/bin/less"
11a33
> declare -x QT_GRAPHICSSYSTEM="raster"
13c35
< declare -x SHLVL="2"
---
> declare -x SHLVL="4"
16c38,39
< declare -x WINDOWID="8388621"
---
> declare -x VBOX_APP_HOME="/usr/lib64/virtualbox"
> declare -x WINDOWID="6291469"
18c41,44
< declare -x XTERM_LOCALE="C"
---
> declare -x XAUTHORITY="/home/nisto/.Xauthority"
> declare -x XDG_CONFIG_DIRS="/etc/xdg"
> declare -x XDG_DATA_DIRS="/usr/local/share:/usr/share"
> declare -x XTERM_LOCALE="de_DE.utf8"
ThinkPad ~/Downloads $
Back to top
View user's profile Send private message
mike155
Advocate
Advocate


Joined: 17 Sep 2010
Posts: 4438
Location: Frankfurt, Germany

PostPosted: Fri Mar 30, 2018 12:45 pm    Post subject: Reply with quote

Quote:
LANG wird nicht gesetzt, obwohl in 02locale definiert.

Ich verstehe zwar noch nicht, warum LANG nicht gesetzt ist - aber wir wissen zumindest, dass wir an der richtigen Stelle suchen :-)

OK, prüfen wir erst einmal die Basics:

1) /etc/env.d/02locale wird nicht direkt von der Shell gelesen. Nach Änderungen muss man env-update aufrufen und die Daten werden nach /etc/profile.env geschrieben. Bitte prüfe, dass in /etc/profile.env die gewünschten Werte für LANG und LC_COLLATE stehen.

2) Auch /etc/profile.env wird nicht direkt von der Shell gelesen. Stattdessen liest die Shell die Datei /etc/profile. In dieser Datei muss u.a. folgendes stehen:
Code:
# Load environment settings from profile.env, which is created by
# env-update from the files in /etc/env.d
if [ -e /etc/profile.env ] ; then
        . /etc/profile.env
fi

Ist das der Fall?

3) In /etc/profile.env und /etc/profile.d/* dürfen keine Anweisungen stehen, die LANG oder LC_COLLATE zurücksetzen oder überschreiben. Bitte überprüfen.

4) Deine Ausgabe von "eselect locale list" enthält sowohl de_DE.utf8, als auch de_DE.UTF-8. Das ist zwar wahrscheinlich nicht der Grund für das Problem, es ist aber auch nicht richtig. Bitte /etc/locale.gen auf einen doppelten Eintrag überprüfen.
Back to top
View user's profile Send private message
nisto
n00b
n00b


Joined: 29 Nov 2014
Posts: 59
Location: Magdeburg (Germany)

PostPosted: Fri Mar 30, 2018 4:55 pm    Post subject: Reply with quote

Hey, weiter gehts :)

1) LANG und LC_COLLATE sind geschrieben
Code:

ThinkPad ~ # cat /etc/profile.env
# THIS FILE IS AUTOMATICALLY GENERATED BY env-update.
# DO NOT EDIT THIS FILE. CHANGES TO STARTUP PROFILES
# GO INTO /etc/profile NOT /etc/profile.env

export ANT_HOME='/usr/share/ant'
export CONFIG_PROTECT='/usr/share/gnupg/qualified.txt'
export CONFIG_PROTECT_MASK='/etc/sandbox.d /etc/fonts/fonts.conf /etc/gentoo-release /etc/terminfo /etc/dconf /etc/ca-certificates.conf /etc/revdep-rebuild'
export FLTK_DOCDIR='/usr/share/doc/fltk-1.3.3-r3/html'
export GCC_SPECS=''
export GSETTINGS_BACKEND='dconf'
export INFOPATH='/usr/share/gcc-data/x86_64-pc-linux-gnu/6.4.0/info:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.29.1/info:/usr/share/info'
export LANG='de_DE.utf8'
export LC_COLLATE='C'
export LESS='-R -M --shift 5'
export LESSOPEN='|lesspipe %s'
export MANPAGER='manpager'
export MANPATH='/usr/share/gcc-data/x86_64-pc-linux-gnu/6.4.0/man:/usr/share/binutils-data/x86_64-pc-linux-gnu/2.29.1/man:/usr/lib/llvm/5/share/man:/etc/java-config-2/current-system-vm/man/:/usr/local/share/man:/usr/share/man'
export MOZ_GMP_PATH='/usr/lib64/nsbrowser/plugins/gmp-gmpopenh264/system-installed'
export OPENGL_PROFILE='xorg-x11'
export PATH='/usr/x86_64-pc-linux-gnu/gcc-bin/6.4.0:/usr/lib/llvm/5/bin:/usr/local/bin:/usr/bin:/bin:/opt/bin'
export QT_GRAPHICSSYSTEM='raster'
export ROOTPATH='/usr/x86_64-pc-linux-gnu/gcc-bin/6.4.0:/usr/lib/llvm/5/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin'
export VBOX_APP_HOME='/usr/lib64/virtualbox'
export XDG_CONFIG_DIRS='/etc/xdg'
export XDG_DATA_DIRS='/usr/local/share:/usr/share'


2) Codeschnipsel ist enthalten
Code:

ThinkPad ~ # cat /etc/profile
# Load environment settings from profile.env, which is created by
# env-update from the files in /etc/env.d
if [ -e /etc/profile.env ] ; then
        . /etc/profile.env
fi

3) Sieht gut aus

4) Das habe ich nach Deinem Hinweis geändert.
Code:

ThinkPad ~ # eselect locale list
Available targets for the LANG variable:
  [1]   C
  [2]   POSIX
  [3]   de_DE
  [4]   de_DE.iso88591
  [5]   de_DE.utf8 *
  [6]   en_GB
  [7]   en_GB.iso88591
  [8]   en_GB.utf8
  [ ]   (free form)
ThinkPad ~ # locale -a
C
POSIX
de_DE
de_DE.iso88591
de_DE.utf8
en_GB
en_GB.iso88591
en_GB.utf8
ThinkPad ~ #
Back to top
View user's profile Send private message
mike155
Advocate
Advocate


Joined: 17 Sep 2010
Posts: 4438
Location: Frankfurt, Germany

PostPosted: Fri Mar 30, 2018 5:15 pm    Post subject: Reply with quote

Quote:
Hey, weiter gehts :)

Gut! Dann kommen wir ans Eingemachte! :-)

Wenn die Doku stimmt (man xdm), ist die Datei '/usr/lib64/X11/xdm/Xsession' das erste Script, das im Kontext des Users ausgeführt wird:
Code:
SESSION PROGRAM
The Xsession program is the command which is run as the user's session.  It is run with the permissions of the authorized user.

Bei mir beginnt das Script mit '#!/bin/bash --login' - und damit sollte beim Ausführen auch '/etc/profile' eingelesen werden.

Bitte die Datei '/usr/lib64/X11/xdm/Xsession' editieren und in der zweiten Zeile folgendes hinzufügen:
Code:
export > "/tmp/environment-$$"

Dann bitte xdm neu starten und anmelden, so dass die GUI erscheint. Jetzt sollte es eine (oder mehrere?) Dateien '/tmp/environment-XXXX' geben. Stehen dort die richtigen Werte für LANG und LC_ALL drin?
  • Wenn es keine Datei '/tmp/environment-XXXX' gibt, wird '/usr/lib64/X11/xdm/Xsession' nicht ausgeführt.
  • Wenn es die Datei gibt und sie die richtigen Werte für LANG und LC_COLLATE enthält, müssten wir versuchen herauszufinden, warum sie später wieder verschwinden.
  • Wenn es die Datei gibt und sie die falschen Werte für LANG und LC_COLLATE enthält, müssten wir herausfinden, warum 'bash --login' in der ersten Zeile von '/usr/lib64/X11/xdm/Xsession' nicht funktioniert.
Back to top
View user's profile Send private message
nisto
n00b
n00b


Joined: 29 Nov 2014
Posts: 59
Location: Magdeburg (Germany)

PostPosted: Fri Mar 30, 2018 5:28 pm    Post subject: Reply with quote

Es gibt keine environment-XXXX files in /tmp/.
Back to top
View user's profile Send private message
mike155
Advocate
Advocate


Joined: 17 Sep 2010
Posts: 4438
Location: Frankfurt, Germany

PostPosted: Fri Mar 30, 2018 5:51 pm    Post subject: Reply with quote

Quote:
Es gibt keine environment-XXXX files in /tmp/.

Das wundert mich...

Was steht denn in der Datei '/etc/X11/xdm/xdm-config'? Steht dort etwas anderes als:
Code:
...
DisplayManager*startup:         /usr/lib64/X11/xdm/Xstartup
DisplayManager*session:         /usr/lib64/X11/xdm/Xsession
DisplayManager*reset:           /usr/lib64/X11/xdm/Xreset
...

Oder andersherum gefragt: in welcher Datei bzw. wie hast Du denn konfiguriert, dass nach dem Login bei xdm Fluxbox gestartet wird?
Back to top
View user's profile Send private message
Tyrus
Guru
Guru


Joined: 03 Feb 2018
Posts: 300

PostPosted: Fri Mar 30, 2018 6:20 pm    Post subject: Reply with quote

@nisto
Ich wundere mich wieso du xdm installieren musstest? Du meinst damit x11-apps/xdm, richtig?

Wenn du den x11-base/xorg-server einsetzt, hast du automatisch (mit /etc/init.d/xdm und /etc/init.d/xdm-setup) zwei Skripte dabei, die den Start eines Displaymanagers erledigen. Du musst die natürlich beim Booten automatisch starten lassen. Also liegt daran ob du openRC einsetzt oder systemd. Aber da kannste das doch einfach aktivieren?

Gut, ich kenn mich nicht weiter mit Fluxbox aus. Für kde startet man auch nicht mehr mit kdm, sondern mit sddm im Normalfall.

Lies mal hier: https://wiki.gentoo.org/wiki/Fluxbox
Da wird auch gesagt.
Code:

rc-update add xdm default


Das ist aber jetzt der Weg unter openRC.
Und ausserdem schlagen die x11-misc/slim als LoginManager vor.
Wenn du das machst, musste dann folgendes eintragen in /etc/conf.d/xdm.
Code:

DISPLAYMANAGER="slim"


Ich will jetzt nicht vorhersagen ob das die Sprachprobleme löst, aber es wäre der Weg den ich bevorzugen würde, also statt x11-apps/xdm zu verwenden.
Back to top
View user's profile Send private message
nisto
n00b
n00b


Joined: 29 Nov 2014
Posts: 59
Location: Magdeburg (Germany)

PostPosted: Sat Mar 31, 2018 7:35 am    Post subject: Reply with quote

mike155 wrote:
Oder andersherum gefragt: in welcher Datei bzw. wie hast Du denn konfiguriert, dass nach dem Login bei xdm Fluxbox gestartet wird?

Guten Morgen.
Ich habe in /home/nisto/.xsession definiert das Xsession gestartet werden soll.

und in
Code:

ThinkPad ~ # cat /etc/X11/xdm/Xsession
#!/bin/sh
#
# $XdotOrg: app/xdm/config/Xsession.cpp,v 1.4 2006/03/18 03:43:18 alanc Exp $
# $Xorg: Xsession,v 1.4 2000/08/17 19:54:17 cpqbld Exp $
# $XFree86: xc/programs/xdm/config/Xsession,v 1.2 1998/01/11 03:48:32 dawes Exp $


#. /etc/X11/Xsession
exec startfluxbox
ThinkPad ~ #

steht es auch
Back to top
View user's profile Send private message
nisto
n00b
n00b


Joined: 29 Nov 2014
Posts: 59
Location: Magdeburg (Germany)

PostPosted: Sat Mar 31, 2018 7:42 am    Post subject: Reply with quote

mike155 wrote:
Was steht denn in der Datei '/etc/X11/xdm/xdm-config'?

Code:

ThinkPad ~ # cat /etc/X11/xdm/xdm-config
! $Xorg: xdm-conf.cpp,v 1.3 2000/08/17 19:54:17 cpqbld Exp $
! $XdotOrg: $   
!
!
!
!
! $XFree86: xc/programs/xdm/config/xdm-conf.cpp,v 1.10 2002/11/30 19:11:32 herrb Exp $
!

DisplayManager.errorLogFile:    /var/log/xdm.log
DisplayManager.pidFile:         /var/run/xdm.pid
DisplayManager.keyFile:         /etc/X11/xdm/xdm-keys
DisplayManager.servers:         /etc/X11/xdm/Xservers
DisplayManager.accessFile:      /etc/X11/xdm/Xaccess
DisplayManager.authDir: /var/lib/xdm
DisplayManager*resources:       /etc/X11/xdm/Xresources
DisplayManager.willing:         su nobody -c /etc/X11/xdm/Xwilling
! All displays should use authorization, but we cannot be sure
! X terminals will be configured to support it, so those that do not will
! require individual resource settings.
DisplayManager*authorize:       true
!
DisplayManager*chooser:         /usr/lib/X11/xdm/chooser
DisplayManager*startup:         /etc/X11/xdm/Xstartup
DisplayManager*session:         /etc/X11/xdm/Xsession
DisplayManager*setup:           /etc/X11/xdm/Xsetup_0
DisplayManager*reset:           /etc/X11/xdm/Xreset
DisplayManager*authComplain:    true
DisplayManager*userPath:        /usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
DisplayManager*systemPath:      /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11

DisplayManager*loginmoveInterval:       10

! SECURITY: do not listen for XDMCP or Chooser requests
! Comment out this line if you want to manage X terminals with xdm
DisplayManager.requestPort:     0
ThinkPad ~ #
Back to top
View user's profile Send private message
nisto
n00b
n00b


Joined: 29 Nov 2014
Posts: 59
Location: Magdeburg (Germany)

PostPosted: Sat Mar 31, 2018 7:51 am    Post subject: Reply with quote

Tyrus wrote:
@nisto
Ich wundere mich wieso du xdm installieren musstest? Du meinst damit x11-apps/xdm, richtig?

Hi.
Ja das Paket habe ich installiert.
Code:

ThinkPad ~ # equery list -p x11-apps/xdm
 * Searching for xdm in x11-apps ...
[IP-] [  ] x11-apps/xdm-1.1.11-r3:0
ThinkPad ~ #

Ich nutze openRC und habe xdm als default mit rc-update eingetragen.

Mit x11-base/xorg-server muss ich mal beschäftigen, installiert ist es.
Back to top
View user's profile Send private message
nisto
n00b
n00b


Joined: 29 Nov 2014
Posts: 59
Location: Magdeburg (Germany)

PostPosted: Sat Mar 31, 2018 8:03 am    Post subject: Reply with quote

@mike155
In /home/nisto/.xsession habe ich es auskommentiert, wird ja laut der config nicht benötigt.
Back to top
View user's profile Send private message
mike155
Advocate
Advocate


Joined: 17 Sep 2010
Posts: 4438
Location: Frankfurt, Germany

PostPosted: Sat Mar 31, 2018 10:31 am    Post subject: Reply with quote

Hallo nisto,

mal schauen, ob ich es richtig verstehe:

1) Bei Dir steht in der Datei '/etc/X11/xdm/xdm-config' für 'DisplayManager*session' der Wert '/etc/X11/xdm/Xsession'.

2) Dadurch wird bei Dir nach einem Login die Datei '/etc/X11/xdm/Xsession' ausgeführt, die folgenden Inhalt hat (Kommentare gekürzt):
Code:
#!/bin/sh

exec startfluxbox

==> Dann ist die Lösung ganz einfach: Ersetze die erste Zeile der Datei '/etc/X11/xdm/Xsession' durch '#!/bin/bash --login'. Die Datei sollte dann also folgendermaßen aussehen (Kommentare gekürzt):
Code:
#!/bin/bash --login

exec startfluxbox

Dann wird beim Starten von '/etc/X11/xdm/Xsession' die Datei '/etc/profile' eingelesen (was bei einem Login auch immer geschehen sollte - von daher ist '#!/bin/sh' nicht nur ungewöhnlich, sondern falsch). Über '/etc/profile' werden dann auch die in der Datei '/etc/env.d/02locale' gesetzten Umgebungsvariablen für die Sprache wirksam. :-)
Back to top
View user's profile Send private message
musv
Advocate
Advocate


Joined: 01 Dec 2002
Posts: 3337
Location: de

PostPosted: Sat Mar 31, 2018 9:14 pm    Post subject: Reply with quote

firefly wrote:
Über einen display manager (wie xdm) wird eine "login" shell gestartet.
Und und im fallde der bash wertet diese nicht die ~/.bashrc aus sondern ~/.bash_profile, ~/.bash_login oder ~/.profile.

Wenn die Umstellung auf Deutsch nur für den einzelnen User gemacht werden soll dann muss es in eines der oben genannten dateien die Änderungen gemacht werden.


Kommt mir das nur komisch vor? xdm wird wohl kaum unter dem User laufen, der sich gerade einloggen will. Bei sddm gibt's auch einen User sddm. Die Configs für das Ding stehen unter /etc. Und eventuell lässt sich auch die Sprache irgendwo im xdm umstellen.
Back to top
View user's profile Send private message
mike155
Advocate
Advocate


Joined: 17 Sep 2010
Posts: 4438
Location: Frankfurt, Germany

PostPosted: Sat Mar 31, 2018 9:35 pm    Post subject: Reply with quote

musv wrote:
xdm wird wohl kaum unter dem User laufen, der sich gerade einloggen will

xdm läuft unter root. Nachdem sich ein User angemeldet hat, wird Xstartup als root ausgeführt, danach wechselt xdm zu dem User, der sich angemeldet hat, und führt Xsession aus. Welche Scripte sich hinter Xstartup und Xsession verbergen, wird in /etc/X11/xdm/xdm-config definiert.

musv wrote:
Und eventuell lässt sich auch die Sprache irgendwo im xdm umstellen.

Wie in meinem letzten Post beschrieben, hat der Fragesteller ein eigenes Xsession Script. Es beginnt nicht wie das mit xdm mitgelieferte Xsession Script mit '#!/bin/bash --login', sondern mit '#!/bin/sh'. Deshalb wird /etc/profile für den neu angemeldeten User nicht eingelesen - und damit fehlen wichtige Umgebungsvariablen (siehe auch das oben gepostete Diff). Zu den fehlenden Umgebungsvariablen gehören auch die Spracheinstellungen.

Die Lösung ist, die erste Zeile des Xsession Scripts des Fragestellers auf '#!/bin/bash --login' zu ändern - so wie auch in dem Xsession Script, das mit xdm mitgeliefert wird.
Back to top
View user's profile Send private message
nisto
n00b
n00b


Joined: 29 Nov 2014
Posts: 59
Location: Magdeburg (Germany)

PostPosted: Sun Apr 01, 2018 1:08 am    Post subject: Reply with quote

mike155 wrote:

==> Dann ist die Lösung ganz einfach: Ersetze die erste Zeile der Datei '/etc/X11/xdm/Xsession' durch '#!/bin/bash --login'. Die Datei sollte dann also folgendermaßen aussehen (Kommentare gekürzt):
Code:
#!/bin/bash --login

exec startfluxbox


Hey.
Ja das war's. Vielen Dank für deine Mühe und Zeit ... Frohe Ostern.

p.s. Diese Zeile ist doch auskommentiert, wie kann diese denn Bedeutung haben?
Back to top
View user's profile Send private message
haegar87
Apprentice
Apprentice


Joined: 08 Jan 2006
Posts: 164

PostPosted: Sun Apr 01, 2018 2:47 am    Post subject: Reply with quote

nisto wrote:
mike155 wrote:

==> Dann ist die Lösung ganz einfach: Ersetze die erste Zeile der Datei '/etc/X11/xdm/Xsession' durch '#!/bin/bash --login'. Die Datei sollte dann also folgendermaßen aussehen (Kommentare gekürzt):
Code:
#!/bin/bash --login

exec startfluxbox


Hey.
Ja das war's. Vielen Dank für deine Mühe und Zeit ... Frohe Ostern.

p.s. Diese Zeile ist doch auskommentiert, wie kann diese denn Bedeutung haben?


Stimmt so nicht ganz. Die erste Zeile "#!/bin/bash --login" ist nicht auskommentiert, das Zeichen (#!) ist ein besonderes Zeichen mit einer anderen Funktion.
Sagen wir mal du schreibst ein Skript, setzt die Dateiattribute für ausführen (+x) und rufst dann dein Skript auf.
Woher soll dein System wissen, was es tun soll (okay, es weiß, dass es die Datei ausführen soll, aber wie? Womit?)
Dafür ist dieses Steuerzeichen zuständig. In deinem Fall soll also das Skript von /bin/bash mit dem Parameter --login ausgeführt werden.
Könnte auch /bin/zsh oder /bin/sh oder /bin/bash oder oder oder sein. Hängt vom Skript ab.

Deshalb haben auch vorher deine Einträge in der .bashrc nicht gezogen, dein Skript wurde von /bin/sh ausgeführt nicht von /bin/bash.
Und der shell ist deine .bashrc herzlich egal...

Folgend noch ein Link für eine (umfangreiche) Erklärung: https://de.wikipedia.org/wiki/Shebang
_________________
"Spielt man die Windows CD rückwärts ab, hört man satanistische Texte!" - "Das ist ja noch harmlos! Wenn man sie vorwärts abspielt, installiert sich das Teufelszeug!"
Back to top
View user's profile Send private message
nisto
n00b
n00b


Joined: 29 Nov 2014
Posts: 59
Location: Magdeburg (Germany)

PostPosted: Sun Apr 01, 2018 7:21 am    Post subject: Reply with quote

Okay danke.

Wie setze ich auf gelöst?
Back to top
View user's profile Send private message
musv
Advocate
Advocate


Joined: 01 Dec 2002
Posts: 3337
Location: de

PostPosted: Sun Apr 01, 2018 10:25 am    Post subject: Reply with quote

nisto wrote:
Wie setze ich auf gelöst?


Du editierst den ersten Beitrag und setzt ein "[solved]" an den Anfang des Titels.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum