私はCMakeを使用してQtアプリケーションを開発していますが、同時に複数のアプリケーションのコピーを開けにくくしようとしています(Macアプリケーションパッケージと同じ - パッケージを開くのではなく名前で実行可能ファイルを呼び出す必要があります)。アプリケーションはQTMと呼ばれます。これを達成するために、バイナリファイルの名前を「qtm-bin」に変更しました。 「qtm」ファイルは、D-Busシステムバスにアプリケーション用のファイルがあることを確認するPythonスクリプトです。既存のコピー見つからない場合はqtm-binが呼び出され、そうでない場合は既存のコピーが作成されます。
問題は、私の.desktopファイルにUbuntu Unityランチャーのいくつかのメニュー操作が含まれていることです。新しい変更を含むパッケージをインストールすると、すべてのメニューオプションが消えることです。 gsettingsを使用してランチャーにどの項目があるかをテストしたところ、Unityにはqtm.desktopではなくqtm-bin.desktopというファイルが必要であることがわかりました。 Desktopが正しいファイルを探しているかどうかを確認するには?それとも名前をqtm-bin.desktopに変更しますか?
ソースはここにあります:https://bitbucket.org/IndigoJo/qtm-1.3/src/83eb16f1a5ec2b049afdc1ab480b44d3cb2130a8/?at=dev-1.3.16
.desktop ファイルは qtm-desktop.sh というシェルスクリプトによって生成されます。