Debian

xdm / xlogin 中的瑞典語 unicode 字元

  • September 1, 2013

我決定本地化我的 XDM 登錄螢幕,但我遇到了損壞的瑞典字元。

在此處輸入圖像描述

我正在使用帶有以下內容的 Debian Wheezy/etc/X11/xdm/Xresources

Xcursor.theme:白玻璃

xlogin*login.translations: #覆蓋\
CtrlR: 中止顯示()\n\
F1: 設置會話參數(故障安全)完成欄位()\n\
刪除:刪除字元()\n\
左:向後移動字元()\n\
右:前移字元()\n\
首頁:移動到開始()\n\
結束:移動到結束()\n\
CtrlKP_Enter: set-session-argument(failsafe) finish-field()\n\
KP_Enter: set-session-argument() finish-field()\n\
CtrlReturn: set-session-argument(failsafe) finish-field()\n\
返回:set-session-argument()finish-field()

! xlogin * 問候語:歡迎來到 CLIENTHOST
xlogin * 問候語:歡迎來到 CLIENTHOST
xlogin * 名稱提示:使用者:
!xlogin * 失敗:Fel l \ 303 \ 266senord!
xlogin * 失敗:密碼錯誤!

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

xlogin*borderWidth: 0
xlogin*frameWidth: 0
xlogin * innerFramesWidth: 0
xlogin*shd顏色:灰色30
xlogin*hi顏色:灰色90
xlogin*背景:灰色
!xlogin*foreground: 深綠色
xlogin*greet顏色:黑色
xlogin*fail顏色:紅色
*前景:黑色
*背景:#fffff0

xlogin*logoFileName: /home/stemid/heart.xpm
xlogin*useShape: 真
xlogin*logoPadding: 10

XConsole.text.geometry:480x130
XConsole.verbose:真
XConsole*icon: true
XConsole*字型:固定

選擇器*幾何尺寸:700x500+300+200
選擇器*allowShellResize: false
選擇器*viewport.forceBars: true
選擇器*label.font:*-新世紀教科書-bold-i-normal-*-240-*
Chooser*label.label:來自 CLIENTHOST 的 XDMCP 主機菜單
選擇器*list.font:-*-*-medium-r-normal-*-*-230-*-*-c-*-iso8859-1
選擇器*Command.font:*-新世紀教科書-bold-r-normal-*-180-*

/etc/X11/xdm/Xsetup

#!/bin/sh
#
# 此腳本在顯示登錄小元件之前以 root 身份執行。
導出語言 = sv_SE
導出 LANG = sv_SE
導出 LC_ALL = sv_SE

xsetroot -solid "#002b36"

睡眠 10 && 導入 -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 -no-splash &
執行官毒藥

我也嘗試在 .profile 中設置語言環境。

Debian 通常不需要 xorg.conf,但我在 中創建了兩個文件/etc/X11/xorg.conf.d,一個用於 synaptics 觸摸板,一個用於字型路徑。

“文件”部分
模組路徑“/usr/lib/xorg/modules/”
FontPath "/usr/share/fonts/X11/misc/"
FontPath "/usr/share/fonts/X11/TTF/"
字型路徑“/usr/share/fonts/X11/OTF”
FontPath "/usr/share/fonts/X11/Type1/"
FontPath "/usr/share/fonts/X11/100dpi/"
FontPath "/usr/share/fonts/X11/75dpi/"
FontPath "/usr/share/fonts/X11/misc/artwiz-aleczapka-se-1.3/"
端部

我還嘗試安裝一種專門支持瑞典語的字型,但我無法使用來自 xfontsel 的行在 Xresources 中使用它。

xlsfonts 列出了我希望出現的所有字型,包括新的 artwiz 字型。對我來說,這似乎不是字型問題,更像是編碼。

此外,我嘗試dpkg-reconfigure locales使用所有三種設置重新啟動 X。這是我啟用的僅有的三個語言環境,並且每個語言環境都作為預設值進行了測試。

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

我懷疑 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)。

引用自:https://unix.stackexchange.com/questions/89080