有馬総一郎のブログ

(彼氏の事情)

2021年09月11日 20:26:02 JST - 2 minute read - Comments - Linux

Alter Linuxでデフォルトアプリケーションを変更する

以前、 今度はAlter Linux i3wm Editionを試す その1でデフォルトアプリを設定について、xdg-mimeを使って変更できるということで記事を書いた。その時、MIMEタイプにどんなのがあるのかをどうやって調べればいいのか、良く分からないと書いた。

Firefoxからabout:supportを開いてプロファイルディレクトリを開こうとしたら、git-colaが開いた。ディレクトリ、つまりinode/directorygit-colaが関連付けられていることはすぐに分かったのだけど、そもそも、そのMIMEタイプがinode/directoryということは、どうやって調べるのか?それが今まで分からなかった。

再度調べ直すと、 arch linux - Set standard file browser for “open containing folder” - Unix & Linux Stack Exchangeに答えがあった。/usr/share/applications/mimeinfo.cacheを見ろとある。

/usr/share/applications/mimeinfo.cache

[MIME Cache]
application/bzip2=org.gnome.FileRoller.desktop;
application/clarisworks=libreoffice-calc.desktop;libreoffice-draw.desktop;libreoffice-writer.desktop;
application/csv=libreoffice-calc.desktop;
application/epub+zip=xarchiver.desktop;
application/excel=libreoffice-calc.desktop;
application/gzip=org.gnome.FileRoller.desktop;xarchiver.desktop;
application/json=firefox.desktop;
application/macwriteii=libreoffice-writer.desktop;
application/mathml+xml=libreoffice-math.desktop;
application/mpeg4-iod=vlc.desktop;
application/mpeg4-muxcodetable=vlc.desktop;
application/msexcel=libreoffice-calc.desktop;
・・・中略・・・
inode/directory=git-cola-folder-handler.desktop;ranger.desktop;thunar.desktop;
・・・後略・・・

ずらっとMIMEタイプが書かれている(全部?)1。今回のgit-colaについてもinode/directoryに結び付けられているのが分かる。

そこで、システム全体としてではなく、ユーザーとしてデフォルトアプリケーションを変更する。

$HOME/.config/mimeapps.list

[Added Associations]
image/jpeg=feh.desktop;gimp.desktop;viewnior.desktop;
image/png=feh.desktop;gimp.desktop;viewnior.desktop;
application/x-compressed-tar=xarchiver.desktop;
text/plain=medit.desktop;

[Default Applications]
default-web-browser=firfox.desktop
text/html=firfox.desktop
x-scheme-handler/http=firfox.desktop
x-scheme-handler/https=firfox.desktop
application/pdf=firfox.desktop
inode/directory=thunar.desktop;git-cola-folder-handler.desktop;ranger.desktop;

thunar.desktopを先頭に持ってきて完了。

もしくはxdg-mime default thunar.desktop inode/directoryとしても良い。

ターミナル経由で開くアプリをデフォルトにすると、上手く開けない。どうにか出来ないのかな、とかあれこれ調べた。 arch linux - Set default xdg-open application to terminal program - Unix & Linux Stack Exchangeを見ると

[Desktop Entry]
Type=Application
Name=MyVim
Exec=<COMMAND TO RUN YOUR TERMINAL> vim %F
Terminal=false
Icon=gvim
Categories=Utility;TextEditor

みたいな書き方をしたdesktopファイルを用意して実行しろとある。なので以下のように作成して試してみた。

$ cp /usr/share/applications/nvim.desktop ~/.local/share/applications/mynvim.desktop 
$ nvim ~/.local/share/applications/mynvim.desktop
$ xdg-mime default mynvim.desktop text/x-log

$HOME/.local/share/applications/mynvim.desktop

[Desktop Entry]
Name=MyNeovim
GenericName=Text Editor
TryExec=kitty nvim
Exec=kitty --title "nvim" nvim %F
Terminal=false
Type=Application
Keywords=Text;editor;
Icon=nvim
Categories=Utility;TextEditor;
StartupNotify=false
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;

しかし、うまく行かなかった。なので、大人しく、neovim-qtをインストールした。


  1. 前回の記事、ターミナルについては、それらしきMIMEタイプx-terminal-emulatorなどは見付からなかった。 ↩︎