私は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
に移動する必要がありますか?
あなたが物事をやっている方法には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つのことを行う必要があります。
.desktop
ファイルを~/.local/share/applications
にコピーし、アプリをパッケージ化するときのように、ファイル名だけでなくアイコンへの絶対パスを使用します。
アイコンを~/.icons
にコピーします