qtcreator用のファイルを見つけようとして、.desktop
次のように書きました。
$ for p in ${XDG_DATA_DIRS//:/ }; do
grep -rni 'qtcreator' $p;
done
最も関連性の高い行は次のとおりです。
/usr/share/app-install/desktop/qtcreator-plugin-ubuntu:ubuntusdk.desktop:2:X-AppInstall-Package=qtcreator-plugin-ubuntu
/usr/share/app-install/desktop/qtcreator-plugin-ubuntu:ubuntusdk.desktop:6:Exec=qtcreator %F
/usr/share/app-install/desktop/qtcreator-plugin-ubuntu:ubuntusdk.desktop:7:Icon=ubuntu-qtcreator
/usr/share/app-install/desktop/qtcreator:qtcreator.desktop:2:X-AppInstall-Package=qtcreator
/usr/share/app-install/desktop/qtcreator:qtcreator.desktop:6:Exec=qtcreator %F
/usr/share/app-install/desktop/qtcreator:qtcreator.desktop:7:Icon=QtProject-qtcreator
/usr/share/app-install/desktop/qhimdtransfer:qhimdtransfer.desktop:12:#Icon=qtcreator_logo_32
私はこれがqtcreator:qtcreator.desktop
QtCreatorのデスクトップアイテムであると思って開き、次のことを見つけました。
[Desktop Entry]
X-AppInstall-Package=qtcreator
X-AppInstall-Popcon=292
X-AppInstall-Section=universe
Exec=qtcreator %F
Icon=QtProject-qtcreator
Type=Application
Terminal=false
Name=Qt Creator
GenericName=Integrated Development Environment
MimeType=text/x-c++src;text/x-c++hdr;text/x-xsrc;application/x-designer;application/vnd.nokia.qt.qmakeprofile;application/vnd.nokia.xml.qt.resource;
Categories=Qt;Development;IDE;
InitialPreference=9
X-Ubuntu-Gettext-Domain=app-install-data
qtcreatorがシェル変数$ PATHにありません。。しかし、まだgnome UnityでQtCreatorを起動できます。
~からfreedesktop-exec-変数私は気づいた
フルパスが指定されていない場合は、デスクトップ環境で使用されている$ PATH環境変数で実行可能ファイルを見つけます。
質問
デスクトップ環境の$ PATH環境変数がシェルの環境変数と異なりますか?
それでは、デスクトップ環境の$ PATH変数を含む構成ファイルはどこにありますか?
最新バージョンのQtCreatorをインストールした後、デスクトップでQtCreatorを実行しましたが、ファイルを変更せずに最新バージョンを参照することがわかりましたqtcreator:qtcreator.desktop
。 Qtのパスに問題があるようですが?
デスクトップ環境:GNOME
オペレーティングシステム:ubuntu16.04
編集する
私が経験している実際の問題は$ PATHとは関係ありません(私の答えを参照)。 Gillesの答えは、実際には、「デスクトップ環境の$ PATH環境変数がシェルの環境変数と異なるのですか?」に対する答えです。それで私と同じ質問をする方がいらっしゃるかと受け入れました。
ベストアンサー1
デスクトップ環境の$ PATH環境変数がシェルの環境変数と異なりますか?
おそらくそうです。
プログラムが特にファイルから環境変数を読み取らない限り、プログラムの環境はファイルからインポートされません。各プロセスは親プロセスの環境を継承します。ファイルから環境変数を読み取ることは、ログイン時に実行されるプログラム(テキストモードでログインするときのシェル、セッションマネージャ、またはグラフィック環境にログインするときなどの動作プログラム)操作の一部です。したがって、通常、デスクトップ環境を使用して端末でシェルを開くと、そのシェルはデスクトップ環境と同じ環境を持ちます。
しかし実際にはそうではないかもしれません。オンラインでは、環境変数の定義を.bashrc
。これは悪い考えです。これは、端末ではなくGUIで直接実行されるプログラムでは、これらの環境変数を使用できないことを意味するためです。ただし、これを行うと、端末の環境変数がデスクトップ環境や端末で実行されていないプログラムの環境変数と異なることがわかります。
環境変数定義を入力すると、~/.profile
ほとんどのシステムで機能します。 Waylandを有効にしない限り、Ubuntu 16.04のGnomeで動作すると思います(ログイン設定を含む多くの項目が破損し、常に回復方法を提供するわけではありません)。
それにもかかわらず、環境変数を間違った場所に配置する一般的な症状は、環境変数が端末にはあるがデスクトップ環境にはないことです。逆の場合は、シェルの起動ファイルに何か奇妙なことがあります。
qtcreatorはシェルの変数$ PATHにはありません。
インストールされているかどうか疑問です。 Ubuntuがリリースされるqtcreator
と/usr/bin
、ほとんどのプログラムがある場所です。
ただし、これは$PATH
ファイルの場所とは関係ありません.desktop
。ファイル$PATH
用ではなくアプリケーション用です.desktop
。.desktop
ファイルを探していてパッケージがインストールされているqtcreator
場合は、次のことができます。qtcreator
ファイル検索:
$ locate qtcreator.desktop
/usr/share/applications/qtcreator.desktop
/usr/share/applications
ファイルの標準位置です.desktop
。
Ubuntuのバージョンに加えて独自のQtCreatorバージョンをインストールした場合は、コマンドqtcreator
検索パスにあることを確認する必要があります。つまり、$PATH
システム全体にインストールした場合は、/usr/local/bin/qtcreator
次の検索パスで使用できるようにする必要があります。前のコマンドを使用する/usr/bin
と、システムバージョンではなくバージョンが最初にインポートされます。アカウントにインストールした場合は、qtcreator
実行可能ファイルがある場所、~/bin/qtcreator
つまりbin
ホームディレクトリの下のディレクトリにシンボリックリンクを作成します(存在しない場合は作成します)。 Ubuntuはデフォルトで.profile
追加され~/bin
ます$PATH
。