WebベースのPHPスクリプトでKDE Dolphinを実行することはできませんが、他のすべてのXプログラムで動作します。

WebベースのPHPスクリプトでKDE Dolphinを実行することはできませんが、他のすべてのXプログラムで動作します。

nginx/php-fpmで実行されているPHPスクリプトでは、次のPHPコードを使用してXプログラムを実行できます。

shell_exec("DISPLAY=:0 /usr/bin/nohup '{$command}' > /dev/null 2>&1 &");

これにより、デスクトップ上でXプログラムが開き、PHPスクリプトが引き続き完了します。 PHPスクリプトが完了した後でも、Xプログラムは開いたままです。

私が試したすべてのXプログラム(mpv、kate、konsole、k3bなどを含む)では動作しますが、Dolphinでは動作しません。このようにDolphinを実行しようとするとまったく表示されず、画面や私が見つけることができるすべてのログにもエラーはありません。

これに関して、ドルフィンの実行方法に違いはありますか?ソケット/ユーザー/バックグラウンドプロセス、または同様のものに関連していますか?

以下を確認しました。

  • バイナリ名(dolphin)とフルパス(/usr/bin/dolphin)のみを試してください。他のすべてのプログラムはとにかく両方使用できるため、$ PATHの問題ではないようです。
  • DISPLAY=:0 /usr/bin/nohup '{$command}' > /dev/null 2>&1 &Konsoleシェルで同じコマンドを実行すると、Dolphinを含むすべてのものに機能します。
  • PHPエラーログには何もなく、すべてのエラーレベルが有効になっています。
  • 私は別のドルフィンウィンドウを開き、すべて閉じた状態でこれを試しました。 (そしてDolphinプロセスがまだ実行されていないことを確認しました。)
  • Xorgログには何もありません

それとも、Dolphinで動作するようなものですが、他のPHPコードがありますか?

関連情報