メニューを修正する

Ubuntuにソフトを入れると、意図していないグループに、アイコンが追加されていたり、アイコンが表示されないこともある。
ので、それを修正したり、追加したいと思う。

まずは、意図していないメニューのアイコンを、右クリックして、「デスクトップに追加する」を選ぶ。
その追加されたものを、テキストエディタで開く。

[Desktop Entry]
X-SnapInstanceName=upnote
Name=UpNote
Exec=env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/upnote_upnote.desktop /snap/bin/upnote %U
Terminal=false
Type=Application
Icon=/snap/upnote/102/meta/gui/icon.png
StartupWMClass=UpNote
Comment=Note app
MimeType=x-scheme-handler/upnote;
Categories=TextEditor;

開くと、こんな感じになる。
このCategoriesが、メニューの表示場所になるので、TextEditorがないために、「その他」のカテゴリになっているのかと。
これを適切なカテゴリにすればいいんだけど、なににしたらいいのか?が、分からない。

ので、すでにあるカテゴリのアイコンを探して、同様にテキストエディタで、開く。
sudo 権限でないと編集できないので、sudo 権限で、テキストエディタを開くこと。
OneNoteというクラウドメモツールでは、下記のようになるので、

Comment=OneNote Desktop Client for Linux
Categories=Notes;Office;Productivity;

Officeを、変更する。

Categories=Office;

少し待つと、自動的にメニューが変更されている。

このアイコンの置き場所は、

snapでインストールしたものは、ここ。
/var/lib/snapd/desktop/applications
aptでインストールしたものは、ここ。
/usr/share/applications
に、アイコンがある。

アイコンがそもそもない場合

そもそも、コマンドとか、スクリプト、Imageファイルは、アイコンが追加されない。
どうにかして、メニューにアイコンを追加したい場合もある。
そういう場合は、すでにあるアイコンを、コピー&ペーストする。
こちらも、sudo権限が必要なので、ファイルマネージャをsudo権限で開く。

[Desktop Entry]
Name=マイスクリプト
Exec=/opt/myScript.sh
Type=Application
Icon=/snap/upnote/102/meta/gui/icon.png
Categories=Office;

必要なのは、
Name:メニューに表示される名前(ファイル名と表示される。
Exec:アイコンをクリックしたときの、実行ファイルパス。
スクリプトのパスやImageファイルのパスでも、問題がない。
Icon:メニューに表示されるアイコンのパス。
Terminal:ターミナルで起動したい時はこれを、true。
Categories:メニューのカテゴリ指定。

ここを変更すれば、自動的にメニューが変更される。
ただし、Name=UpNoteがファイル名として表示されるので、混乱しないように。

最後に

sudo 権限で操作するときには、最新の注意をする。