xdg-open 在 shell 命令行可以快速打开某个文件, 类似于 windows 下双击快速打开某个文件
安装
$ sudo apt install xdg-utils
使用
xdg-open URL
- 打开本地文件
$ xdg-open ~/Public/vless-xtls-client.json
如果 URL 为文件路径, 则使用对应文件类型的默认应用打开
- 打开文件管理应用
$ xdg-open ~/Public
如果 URL 为目录路径, 则使用文件管理应用打开该目录
- 访问网络
$ xdg-open https://baidu.com
如果 URL 为网络地址, 则使用默认浏览器打开
查询默认关联应用
JSON 文件对应的 MIME 类型为 application/json, 可以使用以下方式查看某个文件的 MIME 类型
- 使用
file -i xxx
命令查询
$ file -i vless-xtls-client.json
vless-xtls-client.json: application/json; charset=us-ascii
- 使用
xdg-mime query filetype xxx
命令查询
$ xdg-mime query filetype vless-xtls-client.json
application/json
查询 application/json 的默认关联应用, 这里使用了图标文件来标识应用
$ xdg-mime query default application/json
org.kde.kate.desktop
ubuntu 的应用图标文件位于以下位置
-
对所有用户有效: /usr/share/applications 以及 /usr/local/share/applications
-
仅当前用户有效: ~/.local/share/applications
设置默认关联应用
设置默认使用 Sublime Text 打开 JSON 文件
$ xdg-mime default sublime_text.desktop application/json
注意: 只需要指定图标文件的名称而非路径
成功设置默认关联应用后, 在 ~/.config/mimeapps.list
文件末尾可以看到多出一项
$ cat mimeapps.list
[Default Applications]
x-scheme-handler/http=google-chrome.desktop
x-scheme-handler/https=google-chrome.desktop
x-scheme-handler/about=google-chrome.desktop
x-scheme-handler/unknown=google-chrome.desktop
x-scheme-handler/fdm=freedownloadmanager_fdm_up.desktop
x-scheme-handler/magnet=freedownloadmanager_magnet_up.desktop
application/x-bittorrent=freedownloadmanager_torrent.desktop
x-scheme-handler/baiduyunguanjia=baidunetdisk.desktop
x-scheme-handler/postman=Postman.desktop
application/json=sublime_text.desktop