Sublime 包 LANG 设置

Sublime package LANG setting

我已经下载并解压了 Red Hat linux 的 Sublime 3 包。我的 /downloads/sublime_text_3.

中有 sublime_text

当我打开 ./sublime_text 时,出现以下错误

Package Control

Your system's locale is set to a value that can not handle non-ASCII characters. Package Control can not properly work unless this is fixed.

On Linux, please reference your distribution's docs for information on properly setting the LANG environmental variable. As a temporary work-around, you can launch Sublime Text from the terminal with:

LANG=en_US.UTF-8 sublime_text

我尝试改变 setenv LANG en_US.UTF-8 但没有任何积极效果。

您是否尝试过 package control issue on Github 中给出的解决方案?

如果LANG=en_US.UTF-8 sublime_textLANG=en_US.UTF-8 LC_CTYPE=en_US.UTF-8 sublime_text都不起作用,您可以尝试以下方法:

Define a system wide locale [...]:

in /etc/locale.conf:

LANG="en_US.UTF-8"

And reboot your sytem.

simply changing only the LANG variable in /etc/locale.conf from my default setting to en_US.UTF-8, as so --

/etc/locale.conf:

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

-- but Package Control continued to throw the error until I culled the file down to only the first line --

/etc/locale.conf:

LANG=en_US.UTF-8

Hope that helps someone!

您还可以查看 this question

vim /etc/locale.gen

en_US.UTF-8 UTF-8  
en_US ISO-8859-1 

语言环境生成

vim /etc/locale.conf

LANG=en_US.UTF-8

语言环境

LANG=en_US.UTF-8
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=

您可以使用

设置系统区域

/etc/locale.conf

LANG=en_US.UTF-8

或 只需 运行 这个命令

localectl set-locale LANG=en_US.UTF-8

然后重启系统。

检查您的 ~/.bashrc 文件、~/.profile 文件或其他文件中是否导出了 LANGLC_ALLLC_CTYPE修改你的路径。当我从我的 ~/.bashrc 中注释掉 export LC_ALL="C" 时(我不记得我最初为什么把它放在那里),该消息不再出现在我的 subl 启动时。

即使我删除了根据顶部答案添加到 /etc/locale.conf 的两行(将其恢复到无内容或不存在的原始状态)并重新启动后也是如此。

对于那些 没有 sudo 的人(例如在企业 CentOS 上),清除 LC_ALL,设置 LANG,然后 运行:

setenv LC_ALL ''
setenv LANG en_US.UTF-8
subl

这是 csh 的单行启动器:

/usr/bin/csh -c "setenv LC_ALL '' && setenv LANG en_US.UTF-8 && subl"

kali的解决方案linux

嘿,我知道这已经解决了,但我花了一些时间为 Kali Linux 寻找解决方案。根据这个人 (https://forum.sublimetext.com/t/where-does-st3-look-for-locale-settings/48206) 的说法,这个错误发生在通过远程桌面连接时,不确定这是否正确,但这是我的情况。

解决办法就是上面那个: 运行 LANG=en_US.UTF-8 LC_CTYPE=en_US.UTF-8 sublime_text.

如果你像我一样喜欢 运行 终端中的一切都很快,那么:

a) cd 到 /usr/bin

b) sudo nano subl (如果你没有,试试: sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/bin/subl)

c) 确保您的文件如下所示:

#!/bin/sh

LANG=en_US.UTF-8 LC_CTYPE=en_US.UTF-8 /opt/sublime_text/sublime_text