简单介绍
/etc/environment 这个是配置开机的基本环境的文件吧
1. 文件作用范围
| 文件 | 作用范围 |
|---|---|
/etc/environment | 全局作用:对所有用户和所有会话生效,包括 GUI 程序和非登录 Shell。 |
~/.zshrc | 仅对当前用户生效,且只在 Zsh 会话中生效(例如在终端中打开 Zsh)。 |
2. 加载时机
| 文件 | 加载时机 |
|---|---|
/etc/environment | 系统登录时加载:环境变量会被桌面环境(如 GNOME、KDE)和所有子进程(如 GUI 应用)继承。 |
~/.zshrc | Zsh 启动时加载:只在打开终端或运行 Zsh 时执行,通常不影响桌面应用或非 Zsh 启动的程序。 |
示例:
- 如果在
/etc/environment中设置变量,GUI 应用(如 Kitty)和终端都会继承。- 如果在
~/.zshrc中设置,只有 Zsh 终端会继承,桌面应用(如 Kitty)不会加载这些变量。
3. 配置的优先级
| 文件 | 优先级 |
|---|---|
/etc/environment | 全局配置,优先级较低。可以被用户级别的配置文件(如 ~/.zshrc、~/.bashrc)覆盖。 |
~/.zshrc | 用户级别配置,优先级更高。当前用户可以使用它覆盖 /etc/environment 中的配置。 |
4. 推荐使用场景
| 文件 | 推荐使用场景 |
|---|---|
/etc/environment | 配置需要在所有会话(包括 GUI 程序)中生效的变量,且适用于所有用户。例如输入法相关的全局变量(GTK_IM_MODULE)。 |
~/.zshrc | 配置只在终端会话或当前用户使用的变量。例如开发环境相关的路径、别名或工具变量。 |
[!TIP] fcitx 5 支持但是要这样配置一下,然后参考 github 的 issue 可知: GLFW_IM_MODULE=ibus kitty
[!Tip] kde 桌面 plasmah 桌面环境的可能要设置一下 a 虚拟键盘才可以使用, 参考1
整体配置如下:
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx
GLFW_IM_MODULE=ibus
更详细的请参考系统语言设置