†Linuxなんて大キライ†
作成開始日 2019.01.09
最終更新日 2022.08.03
Debian/LXDEのスタートメニューはデフォルトでは編集不可能。 menulibreというツールを使用すれば編集可能になるが、 どうもバグあるようで、しばしばメニューを壊す。 少なくとも2つの環境で数回経験しているので、 単なる操作ミスの類ではないないと思う;menulibreは使用禁止。 むしろ、設定ファイルを直接編集する方がよい。
~/.config/menus/lxde-applications.menu【追記】一般には、以下の場所にあるようだ。
/etc/xdg/menus/lxde-applications.menuなお、カテゴリ(ディレクトリ)の中身が空になると、カテゴリ自体が表示されなくなる。
(1)~/.local/share/applications 個人用アプリケーション (2)/usr/share/applications 共通アプリケーションまた、ディレクトリのデータは以下の場所にある。
(1)~/.local/share/desktop-directories ユーザーが作成したディレクトリ (2)/usr/share/desktop-directories デフォルトのディレクトリこれらに収納されているメニュー項目のファイルは単純なテキスト形式なので、viやleafpadなどで簡単に閲覧・編集可能(もちろんパーミッションは必要)。 たとえば、Firefox ESRのメニュー項目ファイル(firefox-esr.desktop)は、次のようになっている(適宜省略)。
[Desktop Entry] Name=Firefox ESR Name[bg]=Firefox ESR : Name[ja]=Firefox ESR : Comment=Browse the World Wide Web : Comment[ja]=ウェブを閲覧します GenericName=Web Browser : GenericName[ja]=ウェブ・ブラウザ : X-GNOME-FullName=Firefox ESR Web Browser : X-GNOME-FullName[ja]=Firefox ESR ウェブ・ブラウザ : Exec=/usr/lib/firefox-esr/firefox-esr %u Terminal=false X-MultipleArgs=false Type=Application Icon=firefox-esr Categories=Network;WebBrowser; MimeType=text/html;text/xml;application/xhtml+xml;application/xml;appli cation/vnd.mozilla.xul+xml;… StartupWMClass=Firefox-esr StartupNotify=true先頭からずらずら並んでいるのは、アプリケーション名やツールチップで表示されるコメントのデータ。各国語のデータが書き込まれているので物凄く大量になっているが、実際には先頭の「Name=」行以外は蛇足で、なくても構わない。重要なのは、「Exec=」行以下である。と言っても、これも全てが必須の項目と言うわけではない。新規登録に必須の項目はずっと少なくて単純だ。
その代表例がSeamonkeyなので、ここではSeamonkeyを例にする。Seamonkeyは、ホームページからLinux用の圧縮ファイルをダウンロードして、適当な場所に展開すれば、すぐに起動可能になる。が、利便性を考えて、展開したフォルダを「/usr/lib」に起き、実行ファイル「seamonkey」のシンボリックリンクを「/usr/bin」とデスクトップに置いた。これで、アイコンのダブルクリックでも、端末から「seamonkey[Enter]」でも起動はできるようになる。
このSeamonkeyをメニューに追加するには、まず「~/.local/share/applications」に移動して、新規ファイル「seamonkey.desktop」を作成する。完全に新規作成でも良いし、似たアプリケーションがあれば、それをひな型としてコピーしても良い。たとえば、Firefoxの項目ファイルをひな型にするなら、「cp /usr/share/applications/firefox-esr.desktop seamonkey.desktop」とする。ま、実際はFirefoxの項目ファイルはひな型としては繁雑なので、完全に新規に作った方が便利だとは思うが。
「seamonkey.desktop」の中身は次のようにする(ちなみに、これはmenulibreで作成したもの)。
[Desktop Entry] Version=1.0 Type=Application Name=Seamonkey Icon=/usr/lib/seamonkey/chrome/icons/default/seamonkey.png Exec=seamonkey Path=/usr/bin NoDisplay=false Categories=Network; StartupNotify=false Terminal=false各設定項目の意味は一目瞭然だと思うので、他のアプリケーションに書き換える場合も簡単だろう。一応、目に付いた項目だけ述べておくと、「Version=」は不明。メニューのバージョンなのか、menulibreのバージョンなのか判らない。実害はないので放置。
「Icon=」はアイコンの画像ファイルの指定だが、デフォルト(/usr/share/iconかな?)にあるアイコンに関してはパス不要で、ファイル名のみでよい。Seamonkeyのアイコンはデフォルトでは用意されていないので、ダウンロードしたファイルの中にあるアイコン・ファイルを絶対パスで指定している。
「Categories=」はメニューのカテゴリで、「Network」は日本語のメニューでは「インターネット」に相当する。この対応関係は、前記の場所にあるディレクトリの項目データに書き込まれている。問題は、実際にアイコンが登録されているカテゴリと、この設定が一致していない場合だが、これが良くわからない。場合によっては表示されなくなってしまうかも知れないが、実害はないような気もする。と言うよりも、「Categories=」項目自体がなくても支障はないようだ。
「NoDisplay=」は非表示設定で、通常trueにすることはないと思う。が、menulibreを使用したら、かなりの数のアプリケーションが勝手に非表示設定になっていた。あるはずのアプリケーションが表示されない場合にはチェックすること。
<Filename>seamonkey.desktop</Filename>
ただし、これらの理由は別の理由で表示されなこともある。
稀な例だが、どうしても表示されないがアイテムが、
項目の表示順を変えただけで表示されたこともある。
また、全く原因不明でどうしても表示されないものもあった。
この辺りは試行錯誤で何とかするしかしょうがいない。