当你设置语言的时候,你的 DE 到底做了什么?
今天突然想起来一个问题。众所周知,在 GNOME 里有个设置语言的选项。那么,GNOME 到底是做了什么来设置我的语言的呢?
猜想 ~/.config/
下并没有 locale.conf
。在其他地方也没有。于是我去翻了下源码。
在 gnome-control-center 仓库中的 panels/system/users/cc-user-page.c
里有一个 language_response
。这个函数从 chooser
中获取一个选择的语言,然后调用 act_user_set_language()
函数。那么这个函数是用来干什么的呢?在 github 上搜索发现,这个函数来自 libaccountsservice
。Accountsservice 是一个“访问用户及用户的附加信息”的 D-Bus 服务。简要搜索一下发现这个,查看 /var/lib/AccountsService/users/<Username>
,发现确实有 Languages
项。
之后才发现在 archwiki 的显示管理器页面有提到
当你设置语言的时候,你的 DE 到底做了什么?
https://blogs.sving1024.top/posts/32817/