2023/03/03(金) [n年前の日記]
#2 [linux] Wine関連のメニューの場所
Ubuntu Linux 22.04 LTS + xubuntu-desktop の環境で、Wineを使ってインストールしたはずの MET'S G.CREW5 関連メニュー項目が消滅してしまって悩んでしまった。その際、どこにメニュー用のファイルがあるのか調べたので、一応メモ。
Xfce のメニュー用のファイルは、~/.config/menus/ 以下に入っている。
中には、xfce-applications.menu という、ソレっぽい名前のファイルがあるけれど…。Wine用のメニューは、そこではなく、applications-merged というディレクトリの中に入っていた。
この .menu というファイルが、メニュー項目の1つ1つを定義してるらしい。
中身を覗いてみる。
おそらくだけど、「-」がディレクトリの区切りを示しているような気がする。そして、最終的には、"G.CREW Ver.5.0.desktop" というファイルを参照してる。
注意点。.menu ファイルのファイル名の中に「'」(アポストロフィ)を含めることはできるけど、.menu の中に「'」を記述する際は、「'」を「'」で置き換えないといけない模様。「'」のまま記述してしまうと、おかしな .menu ファイルになってしまってメニューに反映されなくなるっぽい。
さておき。"G.CREW Ver.5.0.desktop.desktop" ファイルはどこにあるのかというと…。~/.local/share/applications/wine/ の中にある。
~/.local/share/applications/wine/Programs/"MET'S G.CREW5" の中に、'G.CREW Ver.5.0.desktop' というファイルがあった。.menu は、この .desktop ファイルを参照しているらしい。
ちなみに、.desktop ファイルの中身は以下のような感じになっていた。G.CREW5 の実行ファイル、gcrew32.exe が指定されてる。
ところで、メニューが表示されなかった問題だけど。~/.config/menus/applications-merged/ 内の、Wine関連の .menu ファイルを別ディレクトリにごっそり移動して、一つ一つ元の場所に戻していったところ、大昔にインストールした Jane Style の .menu が入ってなければ Wine関連のメニューが表示されることが分かった。
当時の記憶がほとんどないので想像するしかないけれど、数か月前に、バージョンが新し目の Wine を導入する際、~/.wine/ を何度か削除しながら実験していたので…。~/.wine/ に入っていた Jane Style のプログラム群が無くなっているのに、しかし .menu だけは残っていたものだから、そのせいでメニュー表示がおかしくなっていたのかなと。
何にせよ、これでWine関連の項目がメニューに表示されるようになった。
そんなわけで、Wine関連のメニューがおかしくなったら、~/.config/menus/applications-merged/ 内の *.menu をどこかに移動して、一つ一つ戻して様子を見てみるのもアリかもしれない。
Xfce のメニュー用のファイルは、~/.config/menus/ 以下に入っている。
$ ls -l ~/.config/menus/ 合計 40 drwx------ 2 USERNAME USERNAME 4096 3月 3 05:33 applications-merged lrwxrwxrwx 1 USERNAME USERNAME 19 7月 1 2020 gnome-applications-merged -> applications-merged lrwxrwxrwx 1 USERNAME USERNAME 48 7月 10 2020 mate-applications-merged -> /home/USERNAME/.config/menus/applications-merged -rw-rw-r-- 1 USERNAME USERNAME 36030 3月 3 04:24 xfce-applications.menu
中には、xfce-applications.menu という、ソレっぽい名前のファイルがあるけれど…。Wine用のメニューは、そこではなく、applications-merged というディレクトリの中に入っていた。
$ ls ~/.config/menus/applications-merged/ user-xfce-development.menu user-xfce-graphics.menu "wine-Programs-MET'S G.CREW5-3D BANNER Ver.3.0.menu" "wine-Programs-MET'S G.CREW5-BANNER Ver.5.0.menu" "wine-Programs-MET'S G.CREW5-G.CREW Ver.5.0.menu" "wine-Programs-MET'S G.CREW5-VIEW STUDIO Ver.3.2.menu" "wine-Programs-MET'S G.CREW5-始めにお読みください.menu"
この .menu というファイルが、メニュー項目の1つ1つを定義してるらしい。
中身を覗いてみる。
$ cat "wine-Programs-MET'S G.CREW5-G.CREW Ver.5.0.menu" <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd"> <Menu> <Name>Applications</Name> <Menu> <Name>wine-wine</Name> <Directory>wine-wine.directory</Directory> <Menu> <Name>wine-Programs</Name> <Directory>wine-Programs.directory</Directory> <Menu> <Name>wine-Programs-MET'S G.CREW5</Name> <Directory>wine-Programs-MET'S G.CREW5.directory</Directory> <Include> <Filename>wine-Programs-MET'S G.CREW5-G.CREW Ver.5.0.desktop</Filename> </Include> </Menu> </Menu> </Menu> </Menu>
おそらくだけど、「-」がディレクトリの区切りを示しているような気がする。そして、最終的には、"G.CREW Ver.5.0.desktop" というファイルを参照してる。
注意点。.menu ファイルのファイル名の中に「'」(アポストロフィ)を含めることはできるけど、.menu の中に「'」を記述する際は、「'」を「'」で置き換えないといけない模様。「'」のまま記述してしまうと、おかしな .menu ファイルになってしまってメニューに反映されなくなるっぽい。
さておき。"G.CREW Ver.5.0.desktop.desktop" ファイルはどこにあるのかというと…。~/.local/share/applications/wine/ の中にある。
$ ls ~/.local/share/applications/wine/Programs/ 'Jane Style' "MET'S G.CREW5" $ ls ~/.local/share/applications/wine/Programs/"MET'S G.CREW5" '3D BANNER Ver.3.0.desktop' 'G.CREW Ver.5.0.desktop' 始めにお読みください.desktop 'BANNER Ver.5.0.desktop' 'VIEW STUDIO Ver.3.2.desktop'
~/.local/share/applications/wine/Programs/"MET'S G.CREW5" の中に、'G.CREW Ver.5.0.desktop' というファイルがあった。.menu は、この .desktop ファイルを参照しているらしい。
ちなみに、.desktop ファイルの中身は以下のような感じになっていた。G.CREW5 の実行ファイル、gcrew32.exe が指定されてる。
$ cat 'G.CREW Ver.5.0.desktop' [Desktop Entry] Name=G.CREW Ver.5.0 Exec=env WINEPREFIX="/home/USERNAME/.wine" wine C:\\\\users\\\\USERNAME\\\\AppData\\\\Roaming\\\\Microsoft\\\\Windows\\\\Start\\ Menu\\\\Programs\\\\MET\\'S\\ G.CREW5\\\\G.CREW\\ Ver.5.0.lnk Type=Application StartupNotify=true Comment=G.CREW Ver.5.0 Path=/home/USERNAME/.wine/dosdevices/c:/MET'S/Gcrew Icon=124F_GCrew32.0 StartupWMClass=gcrew32.exe
ところで、メニューが表示されなかった問題だけど。~/.config/menus/applications-merged/ 内の、Wine関連の .menu ファイルを別ディレクトリにごっそり移動して、一つ一つ元の場所に戻していったところ、大昔にインストールした Jane Style の .menu が入ってなければ Wine関連のメニューが表示されることが分かった。
当時の記憶がほとんどないので想像するしかないけれど、数か月前に、バージョンが新し目の Wine を導入する際、~/.wine/ を何度か削除しながら実験していたので…。~/.wine/ に入っていた Jane Style のプログラム群が無くなっているのに、しかし .menu だけは残っていたものだから、そのせいでメニュー表示がおかしくなっていたのかなと。
何にせよ、これでWine関連の項目がメニューに表示されるようになった。
そんなわけで、Wine関連のメニューがおかしくなったら、~/.config/menus/applications-merged/ 内の *.menu をどこかに移動して、一つ一つ戻して様子を見てみるのもアリかもしれない。
[ ツッコむ ]
以上です。