Once upon a time, I heard Orm Finnendahl say:
Vermutlich wird das selbe passieren, wenn Du aus dem Menü direkt ein XTerm öffnest?
Nein. Das funktioniert einwandfrei.
Ist ja auch Blödsinn, weil Du LC_CTYPE in der Shell-Konfiguration festlegst. Wenn Du also ein Terminal startest und darin die Shell, dann läuft es. Wenn Du allerdings ein Terminal startest ohne die Shell darin und an dessen Stelle ein Programm wie mutt ausführst, dann setzt auch niemand die Umgebungsvariablen.
Aufruf in der .fvwm2rc | Ergebnis der Eingabe von "äöü" | Exec xterm | äöü
Der erste child-process des XTerms ist in diesem Fall die diensthabende Shell, die mit der Initialisierung die Umgebungsvariablen setzt.
Exec xterm -e mutt | ???
mutt ist der erste child-process ist und niemand hat vorher irgendwas gesetzt.
Exec galeon | ??? (wenn mutt als subprozess gestartet wird)
Dito, niemand setzt Umgebungsvariablen, also weder galeon, noch mutt und XTerm auch nicht.
von einem durch fvwm-menü gestarteten xterm aus, in dem die Umlaute funktionieren:
xterm -e mutt | äöü
Das ist auch klar, weil Du zuerst in einem XTerm die Shell startest, diese die Variablen setzt und an alle ihre child-processes weitergibt, also auch im Speziellen an den child-process "xterm -e mutt", welcher dann mit einer korrekten Umgebung läuft.
Hast Du schonmal probiert, die ~/.xsession zu bearbeiten? Also beispielsweise:
$ echo 'set LC_CTYPE="de_DE"' > .xsession
So müßte schon der fvwm die Umgebungsvariablen kennen und an jeden seiner child-processes, also auch an jedes aus dem Menü gestartete XTerm weitergeben, selbst wenn darin keine Shell ausgeführt wird.
hej så länge.