Unityアプリケーションランチャーの環境変数を設定する


8

.desktopアプリケーションを起動するためのファイルを作成しました。このアプリケーションでは、特定の環境変数が正しく構成されている必要があります。ユーザーごとにこの環境変数をどこに構成できますか(私が知っている、私が知っている通常の候補者で、機能~/.bashrcして~/.profileいない)。

多分回避策があるので、アプリケーションを起動する前にファイルのExec=行で設定できます.desktopか?

回答:


15

デスクトップファイル自体で、次のようにプログラムを実行できます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ログイン時にのみ読み取られるため、変更後にログアウトする必要があることも覚えておいてください


ありがとう。残念ながら、あなたの提案はenv VAR=value /my/app機能しません。起動時に環境変数VARが設定されていません(私はでファイルを編集してみました)。ラッパースクリプトを作成することはオプションではありません。これは、エンドユーザーに配布されたアプリケーションで機能し、エンドユーザーがラッパースクリプトを配置する場所がわからないためです(ランチャーの作成には管理者権限は必要ありません) )。value/my/appdesktop~/.gnome/apps
Mike L.

~/.gnome/apps~/.local/share/applicationsええと、はまだ使用中であることを知りませんでした。過去数年間呼び出されました。) @Mike、それが独自のアプリケーションである場合、適切な環境変数を自動的に決定するように修正できないのはなぜですか?(また、具体的にどの変数を設定しているのか尋ねもいいですか?)
user1686

アプリケーションのJavaランタイム環境の場所を定義する変数を設定しようとしています。
マイクL.

1
おそらく、標準的な場所のいくつかの使用standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
technosaurus

.desktop使用してファイルをインストールしましたxdg-desktop-menu install <my-desktop-file>。2つの場所にコピーしたようで、いつも間違った場所を編集していました...
Mike L.
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.