Arch Linux: Environment Variables

 9th December 2020 at 2:18pm

环境变量的设置,针对不同的 shell 和使用场景各有不同。Arch Wiki 有非常好的描述。KDE Plasma 也有自己的 文档

查看

打开一个终端,在里面输入 envs / printenvs,可以看到目前终端环境中的环境变量。

运行中的进程的环境变量会存在 /proc/$PID/environ 文件中,使用 sed 查看:

sed 's:\x0:\n:g' /proc/$PID/environ

设置

针对 logging / non-logging shell,以及 interactive / non-interactive shell 的设置:Environment Variables about Login / Non-Login Shell

如果某些环境变量需要被 GUI 程序使用(比如将 PUB_HOSTED_URL 传给 Android Studio),你可以在相应的桌面环境规定的地方写入环境变量。比如 Plasma 5 会读取 $HOME/.config/plasma-workspace/env/ 下的所有 .sh 文件,因此可以在其下创建 flutter.sh,写入:

export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

如果终端也想用这些变量,在终端的 RC 文件中(如 oh-my-zsh 的 ~/.zshrc.local)中 source 之:

source $HOME/.config/plasma-workspace/env/flutter.sh