使用Same-Open身份验证时,X-Terminals不会正确显示UTF-8字符


1

我对X终端仿真器有这个非常奇怪的问题。我想使用UTF-8,它可以在我的系统中的其他地方工作,但不能在图形终端中工作。当我开始时Urxvt并按öäå-keys它不会渲染任何东西。如果我在父终端内启动一个新的Urxvt终端,一切正常。一切都在tty(Crtl + Alt + F1)中起作用。

我们正在使用 同样 - 开放连接域名 。我不知道,但是这会导致locales出现问题吗?

在问之前我做了什么?

  • 尝试不同的终端(Urxvt和xterm),没有人工作
  • 试图改变字体
  • 甚至尝试过不同的桌面环境(真棒和xfce)
  • 尝试不同的shell(zsh,bash)

我也测试了不同的用户。本地用户和使用same-open进行域身份验证的用户。 与本地用户一切正常 ,即使他们有相同的区域设置。

以下是运行区域设置的输出(两个用户具有相同的区域设置):

LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8

据我所知,正确 LC_CTYPE 是Urxvt使用的环境变量。

我没有任何想法如何解决这个问题,但希望其他人有。


只是为了澄清:Xterm从一开始就工作,URxVt只在运行第二个实例后?设置区域设置后重启机器了吗?
mpy

对不起,我的解释不好所以没有一个终端不能从头开始工作,只是我从父终端运行的终端工作。我还在设置区域设置后重新启动了计算机。
rainmaker

我试图让你的问题更清楚,所有终端都受到影响,并强调你只有同样开放的认证才能解决这些问题。这就是我所能做的,因为我不知道开放是如何工作的,但是@ Gabe的回答可能会给你正确的方向。
mpy

实际上,我错过了本地用户和lightwise-open之间的区别。真正的答案可能只是这样: bugs.launchpad.net/ubuntu/+source/likewise-open/+bug/1162836 - 同样打开的pam配置被打破;对于Debian / Ubuntu,修补程序是打包的,对于其他我不知道的,但是关于该错误的注释#14可能是你需要检查/修复的东西。
Gabe

这是同样开放的bug,我设法通过遵循#3注释来修复它。感谢@Gabe帮助解决这个问题。
rainmaker

Answers:


1

这看起来好像是在.profile或.bashrc中设置$ LC_CTYPE或者其他什么。这还没有在你的第一个终端之前运行,因此在它的环境中没有这个终端:

在里面 - (发射) - > 显示经理 - (发射) - > 桌面环境 - (发射) - > 终奌站 - (发射) - > 贝壳

然后shell发送它的启动文件(.profile,.bashrc,.zshrc,.login,无论它适用于你的shell),它设置了环境,只有当你启动终端时,它才知道它应该是什么语言环境设置。使用。

您需要在链中进一步设置LC_CTYPE - 在哪里以及如何,取决于您的桌面环境(我希望您不使用“只是一个窗口管理器”,可能是gnome或KDE?),显示管理器(gdm或kdm或xdm)或者lightdm或者其他),init变体(传统的“sysv-style”或upstart)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.