Lubuntu 20.04 (LXQt):哪个文件分配了预设的 bash 环境变量?

Lubuntu 20.04 (LXQt):哪个文件分配了预设的 bash 环境变量?

bash printenv哪个文件分配了 Lubuntu上列出的预设环境变量env(如果不同,则为 LXQt 和 LXDE)?其他文件是否使用了相同的文件:

  • 基于 Debian 的发行版
  • 非 Debian 发行版(Red Hat 系列、Arch)

短暂性失眠!

答案1

其中大部分都在/etc目录中的相关文件中定义。运行grep -r ^[[:upper:]] /etc/*必须列出其中大部分。根据 Ubuntu,有几个特别有趣的文件文档是:

  1. /etc/environment:文档指出

“...此文件专门用于系统范围的环境变量设置。它不是脚本文件,而是由每行一个赋值表达式组成...”

  1. /etc/profile.d以 . 结尾的目录中的文件.sh说明如下:

“...另一种方法是在 /etc/profile.d 目录中为此目的创建一个文件...每当进入 bash 登录 shell 时(例如从控制台或通过 ssh 登录时),/etc/profile.d 目录中带有 .sh 扩展名的文件就会被执行,并且当桌面会话加载时,DisplayManager 也会执行这些文件...”

答案2

在 LXQt 中,设置您将从菜单启动的程序的环境变量的最佳位置是会话设置;它们位于 INI 样式文件中的部分~/.config/lxqt/session.conf[Environment]。您还可以在 GUI 中的首选项 -> LXQt 设置 -> 会话设置下配置它们,您将在环境页面中找到列表。双击列表中的行以编辑文本。

一般来说,进程会从启动它们的进程继承环境,它们可以对自己的环境进行额外的更改,然后将这些更改传递给它们启动的进程。这就是为什么你在哪里进行更改(实际上是你在哪些进程中更改环境)可能会有不同的答案,具体取决于你如何启动要赋予你试图设置的环境变量的程序。

相关内容