web-dev-qa-db-ja.com

Ubuntu Touchアプリケーションの.desktopファイルにアプリアイコンを設定する方法は?

私はUbuntu SDKを学んでおり、Qt Creatorで新しいHTML5 Touch UIプロジェクトを作成しました。

プロジェクトフォルダーには.desktopファイルがあります。次に、launcher.pngをプロジェクトのフォルダーに追加しました。

これが私の.desktopファイルです:

[Desktop Entry]
Name=myapp
StartupNotify=true
Icon=/usr/share/myapp/launcher.png
MimeType=text/plain;
NoDisplay=true
Comment=something...
Exec=/usr/bin/qmlscene $@ /usr/share/myapp/diaspora-webclient.qml
Terminal=false
Type=Application
X-Ubuntu-Touch=true

今、私は押します Ctrl+R qmlsceneでアプリを実行します。アプリは実行されますが、launcher.pngはUnityランチャーにアプリのアイコンとして表示されません。

変更を更新するコマンドを実行する必要がありますか?または、アプリ内コードを介してlauncher.png/usr/share/myapp/launcher.pngに移動する必要がありますか?

5
Voidcode

あなたが物事をやっている方法には2つの間違いがあります。

何よりも、.desktopファイルはインストールされたアプリ用であり、経由での実行用ではありません Ctrl+R。アプリをインストールするには、パッケージ化してパッケージをインストールする必要があります。 Click App Store here でアプリのパッケージ化と公開の詳細を確認できます。

第二に、.desktopにあるパスは絶対パスではなくローカルファイルである必要があります。 .desktopファイルの例を次に示します。

[Desktop Entry]
Name=Tasks
Comment=Your tasks, every device, everywhere.
Exec=qmlscene $@ ubuntu-tasks.qml
Icon=ubuntu-tasks.png
Terminal=false
Type=Application
X-Ubuntu-Touch=true

注意点がいくつかあります。

  • Exec行はqmlscene $@ <file.qml>の形式で、メインのQMLファイルの名前だけで、ディレクトリ情報は含めないでください。

  • Icon行はIcon=<icon.png>の形式で、ファイル名(拡張子を含む)のみが含まれ、ディレクトリ情報は含まれません。

上記の情報は、クリックパッケージにパッケージ化してUbuntu Touchデバイスで実行するためのものです。クリックパッケージはUbuntu Touch向けであり、現在Unityデスクトップと統合されていません。そのため、Dash/Launcherからアプリを実行し、アイコンも表示できるようにするには、次の2つのことを行う必要があります。

  1. .desktopファイルを~/.local/share/applicationsにコピーし、アプリをパッケージ化するときのように、ファイル名だけでなくアイコンへの絶対パスを使用します。

  2. アイコンを~/.iconsにコピーします

14
iBelieve