使用环境变量启动桌面应用程序的方法

使用环境变量启动桌面应用程序的方法

我实际上有一些 GUI 应用程序需要的一个环境变量:QT_QPA_PLATFORMTHEME=qt5ct。现在我将其导出为~/.bashrc.

当我qt5ct从终端运行时,应用程序会看到环境变量。但不是当它从桌面文件运行时。

因此我尝试了多种方法,更改了Exec=桌面文件的行(qt5ct如果应用程序看到环境变量,则启动显示):

  • sh -e 'qt5ct': 没有检测到
  • sh -c 'qt5ct': 没有检测到
  • sh -a -e 'qt5ct': 没有检测到
  • bash -c 'qt5ct': 没有检测到

最后,设法找到了一个棘手的方法(在我的意见)有效:

  • /usr/bin/env QT_QPA_PLATFORMTHEME=qt5ct qt5ct:检测

所以我的问题是:有什么方法可以QT_QPA_PLATFORMTHEME像我一样导出变量环境~/.bashrc吗?因为我需要时间来手动编辑桌面条目(也许这些条目会被应用程序的更新自动覆盖?)。

~/.bashrc我尝试在,中导出~/.profile,没有任何更改,但我没有任何~/.xsession.

PS:如果有英文错误,或者标题不如我的问题那么准确,我很抱歉。

答案1

系统范围的变量可以在/etc/environment.请注意,该文件不接受变量或 shell 代码,而仅适用于静态变量,写为:

QT_QPA_PLATFORMTHEME=qt5ct

通常~.profile 应该是 GUI 登录的来源,但维护者之间似乎对此存在一定的争论。看这个线程- 背后的总体想法不是来源~/.profile是最初该文件用于 shell 登录,而 GUI 登录不被视为 shell 登录。因此,未获取的文件可能与您当前的桌面管理器有关。

相关内容