2

次のようなスクリプトを作成しました。

#! /bin/bash
/path/to/program

そして実行可能にしました。Nautilusでダブルクリックして「ターミナルで実行」を選択できるようにしたいのですが、ターミナルから自分でスクリプトを呼び出したときとすべてが同じで、正常に動作します。ただし、ダブルクリックすると、「共有ライブラリのロード中にエラーが発生しました: libpylonbase-2.3.3.so: 共有オブジェクト ファイルを開けません: そのようなファイルまたはディレクトリはありません」というエラー メッセージが表示され、ターミナルがすぐに閉じます。libpylonbase-2.3.3 は、プログラム内で使用される産業用カメラに関係しています。他のケースではなく、ケースの1つで動作する理由を誰かが見ることができますか?

4

2 に答える 2

1

端末からプログラムを実行するときと Nautilus からプログラムを実行するときに、環境変数が同じであることを確認します。これを行うには、次の行を挿入します。

env > /tmp/test

少なくとも $PATH と $LD_LIBRARY_PATH は同じである必要があります。

于 2012-04-25T17:40:53.113 に答える
0

今回はおそらく LD_LIBRARY_PATH ですが、http: //stromberg.dnsalias.org/~strombrg/env-search.html を使用して環境変数の違いを自動的に追跡できます。

于 2012-04-25T21:05:19.513 に答える