GUIプログラムは端末で実行されますが、プログラムランチャーでは実行されません。

GUIプログラムは端末で実行されますが、プログラムランチャーでは実行されません。

ターミナルから起動するとうまく動作する素晴らしいGUIプログラムがありますが、dmenuまたはgmrun。これを行うたびに、画面や一部のログで観察できることは発生しませんでしたが、これまでに見た唯一の兆候は、死んだゾンビプロセスだけでした。私も試しましたいくつかの可能なコマンド最初から9つのメニュー私はどこで使用しますか?/bin/bashコマンドを実行するシェルへ。現在、私は次の場所に行くべきかどうか疑問に思います。

プログラムは端末でうまく動作するので、これは私のフレームワークに縛られず、古い設定とは何の関係もないと思いますか? wxWidgets, locale... どこを先に見るべきでしょうか?

私の環境は次のとおりです。

  • Debian 3.2.102-1 i686 GNU/Linux
  • グラフィカルユーザーインターフェースプログラム:木製テーブル(直接コンパイルしてwxWidgets 3.1.4を使用してください)
  • 創管理者:努力しました。データ管理そして2bwm

どんなヒントでも役に立ちます!

ベストアンサー1

命令の実行を確認すると、決定的なヒントが見つかります。木製テーブルこれにより、ゾンビプロセスがstrace

根本的な原因は一般的であり、次のために発生します。ストレスログ:ライブラリパスlibstdc++.so.6間違っています(古い)。LD_LIBRARY_PATHglibc手動インストールへの更新されたパスを含む環境変数があるため、シェルでプログラムを実行するのに問題はありません。/usr/local/libただし、この環境はコマンドを実行しても存在しません.xsession

だから私の問題を解決するために

  • LD_LIBRARY_PATH=/usr/local/libコマンドに追加する.xsession
  • ビルド中にMakefileに正しいリンクフラグを追加します(例:追加-Wl,-rpath=/usr/local/lib,--enable-new-dtagsLDFLAGSCMakeプロジェクトの場合:set(CMAKE_INSTALL_RPATH "/usr/local/lib")CMakeLists.txtに追加))

おすすめ記事