いつぐらいのタイミングからか、ArchLinux 環境で xdg-open .
とかすると VS Code が起動するようになってしまい「お前じゃねえ座ってろ」と心の中で言いいつつ黙って閉じていたのだけど、いい加減対処したのでその内容をメモ
起こっていたこと
つまりこうです
本当は nemo とかのファイラーが起動してほしい。
原因
どうもどこかの VS Code のバージョンで code.desktop
の MimeType
に inode/directory
が入るようになってしまったらしい。
$ cat /usr/share/applications/code.desktop
[Desktop Entry]
Name=Visual Studio Code
Comment=Code Editing. Refined.
GenericName=Text Editor
Exec=/usr/bin/code --unity-launch %F
Icon=visual-studio-code
Type=Application
StartupNotify=false
StartupWMClass=Code
Categories=TextEditor;Development;IDE;
MimeType=text/plain;inode/directory;application/x-code-workspace;
Actions=new-empty-window;
Keywords=vscode;
[Desktop Action new-empty-window]
Name=New Empty Window
Exec=/usr/bin/code --new-window %F
Icon=visual-studio-code
対処
/usr/share/applications/code.desktop
は AUR (en) - visual-studio-code-bin に含まれるものなので直接いじるのは避けて、$XDG_DATA_HOME
(デフォルト ~/.local/share
) 配下にコピーしそちらを編集
$ cp /usr/share/applications/code.desktop ~/.local/share/applications/.
'/usr/share/applications/code.desktop' -> '/home/laughk/.local/share/applications/./code.desktop'
$ nvim ~/.local/share/applications/code.desktop
変更内容は以下のような感じ。 MimeType
から inode/directory
を削除するだけ。
$ diff -u /usr/share/applications/code.desktop ~/.local/share/applications/code.desktop
--- /usr/share/applications/code.desktop 2022-11-27 11:15:13.000000000 +0900
+++ /home/laughk/.local/share/applications/code.desktop 2022-12-03 20:27:33.705570101 +0900
@@ -8,7 +8,7 @@
StartupNotify=false
StartupWMClass=Code
Categories=TextEditor;Development;IDE;
-MimeType=text/plain;inode/directory;application/x-code-workspace;
+MimeType=text/plain;application/x-code-workspace;
Actions=new-empty-window;
Keywords=vscode;
これで無事に xdg-open .
でデフォルトのファイラーが起動するようになった🙌