Bash

使用環境變數啟動桌面應用程序的方法

  • January 14, 2022

我實際上有一些 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對不起,如果有英文錯誤,如果標題不如我的問題準確。

系統範圍的變數可以設置在/etc/environment. 請注意,此文件不接受變數或 shell 程式碼,僅用於靜態變數,寫為:

QT_QPA_PLATFORMTHEME=qt5ct

通常~.profile 應該是 GUI 登錄的來源,但維護者之間似乎對此存在一定的爭論。請參閱此執行緒-採購背後的一般想法~/.profile是,該文件最初是用於 shell 登錄的,而 GUI 登錄不被視為 shell 登錄。因此,未獲取的文件可能與您目前的桌面管理器有關。

引用自:https://unix.stackexchange.com/questions/686274