回答:
デスクトップファイル自体で、次のようにプログラムを実行できますenv。
Exec=/usr/bin/env VAR=value /usr/bin/yourprogram
または、ラッパースクリプト(など/usr/bin/yourprogram.env)を使用します。
#!/bin/sh
VAR=value
export VAR
exec /usr/bin/yourprogram.real "$@"
ただし、Unityがラッパーを介して開始された場合、Unityはプログラムを正しく追跡できないため、どちらも不十分なソリューションです。
~/.profile作業を開始する方がはるかに良いでしょう。正しい構文などをすべて使用していることを確認してください。
export VAR=value
または
VAR=value
export VAR
また、~/.profileはログイン時にのみ読み取られるため、変更後にログアウトする必要があることも覚えておいてください。
~/.gnome/apps~/.local/share/applicationsええと、私はまだ使用中であることを知りませんでした。過去数年間呼び出されました。) @Mike、それが独自のアプリケーションである場合、適切な環境変数を自動的に決定するように修正できないのはなぜですか?(また、具体的にどの変数を設定しているのか尋ねてもいいですか?)
.desktop使用してファイルをインストールしましたxdg-desktop-menu install <my-desktop-file>。2つの場所にコピーしたようで、いつも間違った場所を編集していました...
env VAR=value /my/app機能しません。起動時に環境変数VARが設定されていません(私はでファイルを編集してみました)。ラッパースクリプトを作成することはオプションではありません。これは、エンドユーザーに配布されたアプリケーションで機能し、エンドユーザーがラッパースクリプトを配置する場所がわからないためです(ランチャーの作成には管理者権限は必要ありません) )。value/my/appdesktop~/.gnome/apps