KDE自動起動ディレクトリ(〜/ .kde / Autostart)にあるSHスクリプトの問題をデバッグしようとしています。私はScientific Linux 6.4(カーネル2.6.32-754)を実行しています。スクリプトは単にアプリケーションを起動します。アプリケーションは最近、新しいライブラリの依存関係を取得し、ライブラリが見つからないと文句を言うので、KDE自動起動から起動するとアプリケーションは実行されません。
手動修正を試みるために、/usr/lib64(通常ではない場所)にライブラリへのシンボリックリンクを配置することで問題が解決されました。ただし、コンピュータはサイレントインストーラを介して設定されるため、ライブラリパスにライブラリが表示されるように環境変数を変更する必要があります。
そのため、ユーザープロファイルのLD_LIBRARY_PATHにライブラリを含むディレクトリを追加するための環境変数を生成する/etc/profile.dのスクリプトを修正しました。ただし、この問題は解決されず、エラーが再発生しました。 LD_LIBRARY_PATH環境変数をエコーすると、ディレクトリが正しく追加されたことが明らかになりますが、KDE自動起動はまだライブラリを表示できないようです。
/etc/profile.d スクリプトは、環境を設定するためにターミナルを開いたときにのみ実行されるように見えますが、KDE 自動起動スクリプトが実行されると、これらの変数は設定されません。自動起動スクリプトでLD_LIBRARY_PATH変数をエコーしましたが空です。自動起動に使用できるようにするには、どこにLD_LIBRARY_PATHを設定する必要がありますか? .bashrcで?
私が逃したものはありますか? KDE自動起動は、その自動起動スクリプトが配置されているプロファイル以外のユーザーでこれらの自動起動スクリプトを実行しますか?それとも別の場所から環境変数を取得しますか?
他に有用な情報があれば教えてください。
答え1
これにより、自動起動スクリプトの実行時にユーザープロファイルがまだロードされていないため、シェルスクリプトを使用して自動起動スクリプトが実行される前に環境変数を設定するenv
ディレクトリを配置できることがわかりました。~/.kde
そのため、問題を解決するためにここで必要なライブラリパスを明示的に宣言しました。
また、同様のLD_LIBRARY_PATH行を自分のエントリに追加する必要があります。.xsession~/.kde/env
明らかに、KDE自動起動スクリプトが実行されていないか、設定された環境変数が適用されていないため、ファイルはユーザーのホームディレクトリにあります。.xsession。