![午夜指挥官中的问号](https://linux22.com/image/1058824/%E5%8D%88%E5%A4%9C%E6%8C%87%E6%8C%A5%E5%AE%98%E4%B8%AD%E7%9A%84%E9%97%AE%E5%8F%B7.png)
今天我登录了我的 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 语言环境都可以。下划线 ( ) 前面的前两个字母_
代表语言,下划线后面的字母代表国家/地区。
可能看起来并不像您想象的那样。例如mc
,dpkg-reconfigure
可能会显示*
字符而不是用于绘制边框的字符。但这纯粹是表面现象——您仍然应该能够通过此实用程序选择和配置区域设置。
按下Tab并Enter“点击”后好的按钮,您必须选择默认语言环境。确保这是 UTF-8 语言环境(并且是您想要的语言和国家/地区)。使用箭头键上下移动,Enter找到您想要的语言环境后按下。这将设置为系统的默认语言环境,并且将(重新)生成所有启用的语言环境。
在新的登录中,该问题应该得到解决。
如果没有,请locale -a
分别运行和locale
,然后编辑您的问题以添加每个的输出。其他遇到类似问题的用户在寻求帮助时发现这篇文章,当然应该不是编辑这个问题,但应该提出新问题并附上他们问题的详细描述以及上下文链接。
答案2
问题出在我的 macOS 终端上。我使用了“Solarized Dark”主题,其中“Terminfo”部分中的“将终端设置为”设置为ansi
。解决方案是将其更改为xterm-256color
。