xdm/xloginのスウェーデン語のUnicode文字

xdm/xloginのスウェーデン語のUnicode文字

XDMログイン画面をローカライズすることにしましたが、スウェーデン語の文字が壊れています。

ここに画像の説明を入力してください。

私は次の目的でDebian Wheezyを使用します。/etc/X11/xdm/Xresources

Xcursor.theme:whiteglass

xlogin*login.translations: #再定義 \
        CtrlR: 表示() 中断\n\
        F1:セッションパラメータ設定(安全装置)完了フィールド()\ n \
        削除: delete-character()\n\
        左:文字を後ろに移動()\n\
        右: 文字を前に移動()\n\
        ホーム: 最初に移動()\n\
        end: end() に移動\n\
        CtrlKP_Enter: set-session-argument(failsafe) 終了フィールド()\n\
        KP_Enter: set-session-argument() 終了フィールド()\n\
        CtrlReturn: set-session-argument(failsafe) 終了フィールド()\n\
        戻り値: set-session-argument() 終了フィールド()

!xlogin*挨拶: CLIENTHOSTまでV\303\244lkommen
xlogin*挨拶:CLIENTHOSTまでVälkommen
xlogin*name プロンプト: 回答:
!xlogin * fail:気分がいい!
xlogin*fail: Fel lösenord !

!xlogin*greetFace: Inconsolata:size=16
!xlogin*顔: Inconsolata:size=14
!xlogin*promptFace: Inconsolata:size=14
!xlogin*failFace: Inconsolata:size=20
xlogin*greetFace -*-fixed-r-*--*-200-*-*-*-*-iso8859-15
xlogin*failFace -*-fixed-r-*--*-200-*-*-*-*-iso8859-15
xlogin*promptFace -*-fixed-r-*--*-200-*-*-*-*-iso8859-15
xlogin*face -*-fixed-r-*--*-200-*-*-*-*-iso8859-15

xlogin*ボーダー幅:0
xlogin*フレーム幅: 0
xlogin*innerFramesWidth: 0
xlogin*shd カラー: grey30
xlogin*hi 色: grey90
xlogin*背景: グレー
!xlogin*フォアグラウンド: ダークグリーン
xlogin*挨拶色:黒
xlogin*失敗色:赤
*前景:黒
*背景: #fffff0

xlogin*ロゴファイル名:/home/stemid/heart.xpm
xlogin*useShape: true
xlogin*logoPadding: 10

XConsole.text.Geometry: 480x130
XConsole.verbose: 真
XConsole*iconic: 真
XConsole* フォント: 固定

セレクター*形状: 700x500+300+200
セレクタ *allowShellResize: false
Chooser*viewport.forceBars: true
セレクター *label.Font:*-新世紀教科書-Bold-i-Normal-*-240-*
Chooser*label.label: CLIENTHOST の XDMCP ホストメニュー
セレクタ*リスト.フォント:-*-*-medium-r-normal-*-*-230-*-*-c-*-iso8859-1
セレクタ *Command.font: *-new Century schoolbook-bold-r-normal-*-180-*

/etc/X11/xdm/Xsetup

#!/bin/sh
#
#このスクリプトは、ログインウィジェットを表示する前にrootとして実行されます。
エクスポート_言語= sv_SE
エクスポート LANG=sv_SE
エクスポートLC_ALL = sv_SE

xsetroot-solid "#002b36"

睡眠 10 && import -w root /home/stemid/.login_screen.jpg &
chown Stemid:stemid /home/stemid.login_screen.jpg&

最初は環境で sv_SE.UTF-8 を試しましたが、両方のロケールが Debian locale-gen で有効になりました。

~/.xsession

エクスポート_言語= sv_SE
エクスポート LANG=sv_SE
エクスポートLC_ALL = sv_SE

テスト -f ~/.Xresources && xrdb ~/.Xresources

xsetroot-solid "#002b36"

xscreensaver - スプラッシュなし &
ネズミを実行する

また、.profileでロケールを設定しようとしました。

Debianは通常xorg.confを必要としませんが、その中に2つのファイルを作成しました/etc/X11/xorg.conf.d。 1つはSynapticsタッチパッド用、もう1つはフォントパス用です。

「ファイル」セクション
モジュールパス "/usr/lib/xorg/modules/"
フォントパス "/usr/share/fonts/X11/misc/"
フォントパス "/usr/share/fonts/X11/TTF/"
フォントパス "/usr/share/fonts/X11/OTF"
フォントパス "/usr/share/fonts/X11/Type1/"
フォントパス "/usr/share/fonts/X11/100dpi/"
フォントパス "/usr/share/fonts/X11/75dpi/"
フォントパス "/usr/share/fonts/X11/misc/artwiz-aleczapka-se-1.3/"
終わり

また、スウェーデン語を特別にサポートするフォントをインストールしてみましたが、xfontselの行を使用してXresourcesで使用することはできません。

xlsfontsには、新しいartwizフォントを含む私が期待しているすべてのフォントがリストされています。私の例では、フォントの問題ではなくエンコードの問題のようです。

また、3つの設定をすべて適用してXを再起動してみましたdpkg-reconfigure locales。これらは、私がアクティブにしてそれぞれをデフォルトとしてテストした唯一の3つのロケールです。

  • sv_SE
  • sv_SE.ISO-8859-1
  • sv_SE.ISO-8859-15
  • sv_SE.UTF-8

ベストアンサー1

あなたの環境がそのように設定されていても、xdmはUTF-8をサポートしていないようです。文字列の解釈と文字列に含めることができるエンコーディングを処理することは、まだアプリケーションによって異なります。

この問題を解決するために、utf8でエンコードされた文字列を削除し、対応するISO-8859-15文字列に置き換えました(使用するiso-8859-15シーケンスのリストを取得できますman iso_8859-15)。だからこれは私に効果があるようです:

xlogin*greeting: V\344lkommen till CLIENTHOST
xlogin*namePrompt: Anv\344ndare:
xlogin*fail: Fel l\366senord!

これは、Xsetupで何も設定する必要がないことを意味します(最初はsv_SE.utf8を試しました)。

おすすめ記事