午夜指挥官中的问号

午夜指挥官中的问号

今天我登录了我的 Ubuntu 服务器,发现 Midnight Commander 看起来有所不同:

奇怪的问号

此外,我无法使用功能键(带有 Fn 键的 Mac 键盘)。

我尝试重新安装,但没有成功。有人能帮忙解决这个问题吗?

GNU Midnight Commander 4.8.11

Ubuntu 14.04.4 LTS(GNU/Linux 3.13.0-53-通用 x86_64)

$ echo $TERM
ansi

我正在使用带有 oh-my-zsh 的 macOS Teminal。

$ sudo dpkg-reconfigure locales
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LC_CTYPE = "ru_RU.UTF-8",
    LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Generating locales...
  en_US.UTF-8... up-to-date
Generation complete.


$ locale -a
locale: Cannot set LC_CTYPE to default locale: No such file or directory
C
C.UTF-8
en_US.utf8
POSIX

$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE=ru_RU.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=

答案1

总结:运行sudo dpkg-reconfigure locales并选择 UTF-8 语言环境通常可以解决此问题。

作为乔·哈特回复aptitude、mc 和其他 ncurses 程序中,屏幕上到处都是奇怪的“?”字符(作者 Deboo ^)debian 用户邮件列表:

通常这是因为您当前的语言设置 (locale) 中未定义字符。通常可以通过选择 UTF8 语言环境来修复此问题。dpkg-reconfigure locales 应该可以修复您的问题。

具体来说,角色ncurses用来绘制边框的字体无法显示。可能是选择了非 UTF-8 语言环境,或者您的语言环境(或语言环境配置)已损坏。确保您有UTF-8安装并选择默认语言环境,然后重建区域设置,很有可能解决这个问题。

跑步:

sudo dpkg-reconfigure locales

确保至少一个区域设置(适当的语言和地区)标记为UTF-8在第一个屏幕上被选中。您必须向下滚动(箭头键)。Spacebar选择或取消选择一个项目,Tab在列表和其下方的“按钮”之间切换,并Enter大致执行您期望的操作(它对所选内容执行默认操作)。

配置区域设置(屏幕截图),选择要安装的区域设置

我选择了en_US.UTF8,但任何 UTF-8 语言环境都可以。下划线 ( ) 前面的前两个字母_代表语言,下划线后面的字母代表国家/地区。

可能看起来并不像您想象的那样。例如mcdpkg-reconfigure可能会显示*字符而不是用于绘制边框的字符。但这纯粹是表面现象——您仍然应该能够通过此实用程序选择和配置区域设置。

按下TabEnter“点击”后好的按钮,您必须选择默认语言环境。确保这是 UTF-8 语言环境(并且是您想要的语言和国家/地区)。使用箭头键上下移动,Enter找到您想要的语言环境后按下。这将设置为系统的默认语言环境,并且将(重新)生成所有启用的语言环境。

配置语言环境(屏幕截图),选择默认语言环境

在新的登录中,该问题应该得到解决。

如果没有,请locale -a分别运行和locale,然后编辑您的问题以添加每个的输出。其他遇到类似问题的用户在寻求帮助时发现这篇文章,当然应该不是编辑这个问题,但应该提出新问题并附上他们问题的详细描述以及上下文链接。

答案2

问题出在我的 macOS 终端上。我使用了“Solarized Dark”主题,其中“Terminfo”部分中的“将终端设置为”设置为ansi。解决方案是将其更改为xterm-256color

相关内容