〜/ usrにインストールされたアプリはターミナルから起動しますが、[アプリケーション]メニューからは起動しません(または、.profileでのld_library_pathの設定が正常に機能しないのはなぜですか)

レベスク

私はみましょうと言うの下で、建設され、私の任意のディレクトリの下にアプリケーションをインストールした/home/jim/usrファイルはすべてこの下、三から四のフォルダに入れているので、$HOME/usrフォルダ(例えば、binincludelibshare、など)。

環境変数PATHLD_LIBRARY_PATH適切なパスを追加したので、コマンドラインからこのアプリケーションを正常に起動できます~/.bashrc

同じパスを~/.profileファイルに追加しました。これは、間違いがなければ、Ubuntuによって解析されるはずです。

動作しません。何もありません。そこからどこへ行けますか?

編集:ログアウト/ログインしてコンピューターを再起動しました。どちらも何も変わりませんでした。問題は、私が何をしても、LD_LIBRARY_PATH環境変数がUbuntuに適切に渡されないという事実に起因しているようです。

ログファイルを使用して、この例で実行しようとしているアプリケーションが、依存関係にあるアプリケーションを見つけられないことがわかりました~/usr/lib

解決策の1つ/home/jim/usr/lib/etc/ld.so.conf.d/、にあるファイル内フォルダーを追加することですが、このマシンの管理者権限がありません。

このようなラッパースクリプトを作成すると、次のように機能します。

#!/bin/bash
export LD_LIBRARY_PATH=$HLOC/usr/lib
application &> $HOME/application_messages.log

しかし、それでは、ホームでコンパイルされたすべてのアプリケーションをこのスクリプトでラップする必要があります。何か案は?

Ubuntu / Gnomeが設定変数からLD_LIBRARY_PATH環境変数を削除するのはなぜですか?これをやろうとするのは悪い習慣だからですか?

更新(および解決策):クリストファーによって発見されたように、ランチパッドにこれに関するバグレポートがあります。LD_LIBRARY_PATHはファイルの解析後に設定解除さ~/.profileます。バグレポートを参照してください今のところ唯一の解決策はラッパースクリプトを作成することだと思われます。

user8290

そのためのファイルを作成します。

sudo vim /etc/ld.so.conf.d/my_application.conf

そしてそのファイルの内容:

/home/jim/usr/lib

セーブ。キャッシュを再構築します。

sudo ldconfig -v

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ