.desktopとdockの間でアイコンを同期します
ホームディレクトリ~/.local/share/applications/startMyApp.desktop
にカスタムの.desktopエントリを作成し、gnome-terminalの代わりにxtermを使用するように作成しました。ドック内で、インタラクティブに使用するgnome-terminalとは異なる外観にしたい。
startMyApp.desktop
次のようになります。
[Desktop Entry]
Type=Application
Name=MyScript
Terminal=false
Exec=xterm -e myScript.sh
Icon=myIcon.png
でアイコンファイルを作成しました ~/.icons/myIcon.png
アイコンは、デフォルトのファイルブラウザに正しく表示されます。ファイルブラウザから開くと、期待どおりにxtermでスクリプトが実行されますが、ドック内のアイコンは他の一般的なxtermアイコンとして表示されます。そのアイコンはどこから来たのですか?バイナリに埋め込まれていますか?
どうすればこれを変更できますか?ドック内のアイコンを.desktop
ファイルで指定されているものと同じように表示したい。Ubuntuにバンドルされているアプリケーションは、起動時にドックに同じアイコンが表示されます(開いているウィンドウの数を示す赤い点は別として)。
回答
あなたは適切な追加する必要がStartupWMClassエントリーあなたに.desktop
ファイルを。これを行うには、以下の手順に従います。
- 問題のアプリケーションを起動します。
- 別のターミナルウィンドウを起動して、を実行し
xprop WM_CLASS
ます。 - 開いているアプリケーションウィンドウにカーソルを置きます。これで、カーソルが十字線に変わるはずです。クリック。あなたは得るべきである
WM_CLASS
、ターミナルウィンドウ内のアプリケーションのための文字列を。 で
.desktop
ファイル次の行を追加します。StartupWMClass=OBTAINED-VALUE
OBTAINED-VALUE
手順3で取得した値を引用符なしで入力する代わりに。
OPからの更新:
また、xtermインスタンスの名前を指定する必要があるようです。exec行は次のようになります
xterm -name myApp -e myScript.sh