当你设置语言的时候,你的 DE 到底做了什么?

今天突然想起来一个问题。众所周知,在 GNOME 里有个设置语言的选项。那么,GNOME 到底是做了什么来设置我的语言的呢?

猜想 :设置环境变量。然而 ~/.config/ 下并没有 locale.conf。在其他地方也没有。于是我去翻了下源码。

gnome-control-center 仓库中的 panels/system/users/cc-user-page.c 里有一个 language_response。这个函数从 chooser 中获取一个选择的语言,然后调用 act_user_set_language() 函数。那么这个函数是用来干什么的呢?在 github 上搜索发现,这个函数来自 libaccountsserviceAccountsservice 是一个“访问用户及用户的附加信息”的 D-Bus 服务。简要搜索一下发现这个,查看 /var/lib/AccountsService/users/<Username>,发现确实有 Languages 项。

之后才发现在 archwiki 的显示管理器页面有提到


当你设置语言的时候,你的 DE 到底做了什么?
https://blogs.sving1024.top/posts/32817/
发布于
2025年6月30日
许可协议