本是想统一用默认的英文就可以,但是shell里的输出是中文,ss-qt5也是中文,不知道哪儿设置的
$ printenv | grep -i ang
LANG=en_US.UTF-8
LANGUAGE=en_US:zh_CN:zh_TW:ja
================
十五樓上了圖
最近编辑记录 foodtooth (2018-10-13 11:22:44)
离线
这个问题我前两天也碰到过……无论locale是啥终端输出都是中文。
没深究原因,后来直接把~/.config/locale.conf删掉就好了。
不过还是不知道ss-qt5的语言是哪来的……
最近编辑记录 Kurobac (2018-09-09 13:11:09)
# pacman -Syu
离线
compare-env LANG
在线
看你的程序是咋启动的,肯定有某个配置文件写了local呗,localectl看下系统级设置,用户是不是有.pam_environment之类的,bash是不是有.bash_profile,图形界面启动的时候是不是xinit启动的导致会读.xinitrc ,你的终端模拟器软件是不是有什么配置项设置了shell进程的环境变量。有的程序压根不管环境变量自己走一套配置,或者本地化不到位支持七国语言不带中文导致fallback到英文UI.
反社会,精神极其不稳定,随时可能炸碎身边所有人
离线
这个问题我前两天也碰到过……无论locale是啥终端输出都是中文。
没深究原因,后来直接把~/.config/locale.conf删掉就好了。
不过还是不知道ss-qt5的语言是哪来的……
我這兒並沒有那個文件……或者類似的文件
$ ls ~/.config/lo*
ls: 无法访问'/home/mike/.config/lo*': 没有那个文件或目录
离线
离线
看你的程序是咋启动的,肯定有某个配置文件写了local呗,localectl看下系统级设置,用户是不是有.pam_environment之类的,bash是不是有.bash_profile,图形界面启动的时候是不是xinit启动的导致会读.xinitrc ,你的终端模拟器软件是不是有什么配置项设置了shell进程的环境变量。有的程序压根不管环境变量自己走一套配置,或者本地化不到位支持七国语言不带中文导致fallback到英文UI.
1. 程序就是kde左下角的menu裏起的,用的是desktop那種配置文件?
2.
$ localectl
System Locale: LANG=en_US.UTF-8
VC Keymap: n/a
X11 Layout: n/a
3.
$ cat ~/.pam_environment
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
4.
$ cat ~/.bash_profile
#
# ~/.bash_profile
#
[[ -f ~/.bashrc ]] && . ~/.bashrc
$ cat ~/.bashrc
#
# ~/.bashrc
#
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
alias ls='ls --color=auto'
PS1='[\u@\h \W]\$ '
5. plasma是sddm起的
6. 這邊是想統一用英文啊,settings裏面首選英文,然後是簡體中文等等。但是像ss-qt就是菜單欄 + 各條目都是中文顯示。terminal是菜單欄、配置等都是英文,一用上某些命令就是中文輸出(比如yay -Syu)
7. konsole settings裏面的environment設置是這樣的……
TERM=xterm-256color
COLORTERM=truecolor
离线
Kurobac 说:这个问题我前两天也碰到过……无论locale是啥终端输出都是中文。
没深究原因,后来直接把~/.config/locale.conf删掉就好了。
不过还是不知道ss-qt5的语言是哪来的……我這兒並沒有那個文件……或者類似的文件
$ ls ~/.config/lo* ls: 无法访问'/home/mike/.config/lo*': 没有那个文件或目录
我也不大清楚这个是怎么“解决”的。我当时怎么也想不出来什么配置会既影响tty也影响终端模拟器,影响bash也影响zsh。即使运行程序时指定LANG照样不行…
而且我可以确定某个时间之前这个配置是工作正常的。因为我在zshrc里面写了一条是tty就把locale改到英文,之前一直工作正常直到某一天发现tty乱码…
而删掉用户级别的locale.conf就好了让我更摸不到头脑…这个文件和/etc/locale.conf的内容完全相同…
要说是bug我当时建了个新用户却完全正常…
# pacman -Syu
离线
国内的话,可以用 ustc 的 crates.io 源。
不能知道异常从哪里来,但是看到异常的分布,可以做一些猜测。
PS: 如果你有耐心的话,也可以去 htop 里边一个个进程按 e 检查环境变量。
PPS: 如果你会编程的话,自己写一个类似的程序很容易的。
在线
6. 這邊是想統一用英文啊,settings裏面首選英文,然後是簡體中文等等。但是像ss-qt就是菜單欄 + 各條目都是中文顯示。terminal是菜單欄、配置等都是英文,一用上某些命令就是中文輸出(比如yay -Syu)
shell 里执行 locale 命令,应该能看到语言设置是中文的。然后你追踪一下它是从哪里来的?(可以使用 strace)
在线
foodtooth 说:国内的话,可以用 ustc 的 crates.io 源。
不能知道异常从哪里来,但是看到异常的分布,可以做一些猜测。
PS: 如果你有耐心的话,也可以去 htop 里边一个个进程按 e 检查环境变量。
PPS: 如果你会编程的话,自己写一个类似的程序很容易的。
來一起看看分佈呀
$ .cargo/bin/compare-env LANG
6 Nothing ([565, 604, 608, 1094, 1098, 1121])
50 Value("en_US.UTF-8") ([558, 566, 574, 603, 605, 615, 621, 632, 643, 655, 657, 659, 671, 673, 678, 681, 718, 720, 738, 744, 748, 774, 785, 797, 802, 808, 819, 827, 828, 834, 875, 878, 879, 880, 881, 882, 892, 901, 905, 906, 908, 909, 911, 914, 989, 1556, 1946, 2013, 13214, 13954])
168 Fail ([1, 2, 3, 4, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 42, 46, 47, 48, 49, 50, 51, 52, 53, 54, 56, 57, 58, 60, 102, 103, 104, 105, 106, 107, 116, 129, 167, 170, 171, 172, 173, 179, 180, 203, 204, 213, 224, 234, 235, 237, 246, 250, 289, 294, 299, 331, 364, 369, 370, 371, 372, 428, 431, 433, 434, 435, 446, 448, 458, 461, 464, 555, 559, 660, 679, 686, 769, 1097, 1100, 1186, 1205, 1267, 1323, 1333, 1371, 1384, 1388, 1397, 1405, 1422, 1429, 1466, 1479, 1491, 1497, 1577, 1584, 1594, 1604, 1619, 1641, 1645, 1697, 1712, 1719, 1722, 1733, 1736, 1743, 1754, 1757, 1762, 1775, 1782, 1785, 1792, 1799, 2030, 2058, 7087, 7157, 7277, 7312, 7365, 7399, 7434, 7454, 7455, 7456, 7485, 8652, 9529, 13270, 13475, 13522, 13537, 13551, 13565, 13755, 13770, 13772, 13787, 13839, 13887, 13890, 13949])
看了幾個例子
$ ps aux | egrep "[1]3214|^USER"
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
mike 13214 0.4 0.9 1005200 79224 ? SLl 17:05 0:03 /usr/bin/ss-qt5
$ ps aux | egrep "[1]3839|^USER"
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 13839 0.0 0.0 0 0 ? I 17:14 0:00 [kworker/0:3-events]
$ ps aux | egrep "[1]121|^USER"
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
mike 1121 0.0 2.1 669120 173424 ? Sl Sep22 0:58 /usr/lib/chromium/chromium --type=gpu-process --field-trial-handle=10177196974108529031,2598045621234816855,131072 --gpu-preferences=KAAAAAAAAACAAABAAQAAAAAAAAAAAGAAAAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAA --service-request-channel-token=1981753388314757497
仙子這個如何推測啊……
离线
foodtooth 说:6. 這邊是想統一用英文啊,settings裏面首選英文,然後是簡體中文等等。但是像ss-qt就是菜單欄 + 各條目都是中文顯示。terminal是菜單欄、配置等都是英文,一用上某些命令就是中文輸出(比如yay -Syu)
shell 里执行 locale 命令,应该能看到语言设置是中文的。然后你追踪一下它是从哪里来的?(可以使用 strace)
$ locale
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=
是這樣哦,就像我上面
$ localectl
一樣的
离线
所以你的语言设置得好像挺对的啊。看看 LANGUAGE 变量和 LC_MESSAGES 呢?
另外你哪些程序不听话呢?
在线
ss-qt进程的环境变量查一下,如果全是enUS却还显示中文那就是自己有一套配置了,或者是落入了某种本地化有中文没英文的奇怪fallback中,请检查下游打包或/并联系上游。
反社会,精神极其不稳定,随时可能炸碎身边所有人
离线