本書は、macOS の .webloc および Windows の .url といった 「URL へのショートカットファイル」を Linux 環境で ダブルクリックにより既定ブラウザで開けるようにするための手順書である。
Java や専用 GUI ツールは使用せず、 freedesktop.org 標準(MIME / xdg-open)に基づく最小構成とする。
- macOS ではシンボリックリンクのみを使用する
- Finder 独自の .alias は使用しないため、対応しない
- URL ショートカットのみを Linux 側で吸収する
- 常駐プロセスや独自デーモンは導入しない
- ユーザー権限のみで完結させる
OS 拡張子 内容 macOS .webloc plist(XML) 内に URL を保持 Windows .url INI 形式で URL を保持
※ macOS Finder の .alias は非対応
- Debian / Ubuntu 系
- デスクトップ環境
- LXQt
- Xfce
- GNOME
- ファイルマネージャ
- PCManFM-Qt
- Thunar
- Nautilus
- .webloc / .url を単一のスクリプトで処理する
- URL を抽出し、xdg-open に渡す
- MIME type と .desktop により関連付けを行う
処理の流れは以下の通り。
.webloc / .url
↓
open-url-shortcut(shell script)
↓
xdg-open
↓
既定ブラウザ
mkdir -p ~/.local/binファイル名: ~/.local/bin/open-url-shortcut
内容:
#!/usr/bin/env bash
set -e
file="$1"
ext="${file##*.}"
case "$ext" in
webloc)
url=$(xmllint --xpath 'string(//string)' "$file" 2>/dev/null)
;;
url)
url=$(grep -i '^URL=' "$file" | head -n1 | cut -d= -f2-)
;;
*)
echo "Unsupported file type: $file" >&2
exit 1
;;
esac
if [ -z "$url" ]; then
echo "URL not found in $file" >&2
exit 1
fi
xdg-open "$url" >/dev/null 2>&1 &chmod +x ~/.local/bin/open-url-shortcut.webloc は plist(XML) 形式のため、xmllint を使用する。
確認方法:
xmllint --version未インストールの場合:
sudo apt install libxml2-utilsmkdir -p ~/.local/share/applicationsファイル名: ~/.local/share/applications/url-shortcut-opener.desktop
内容:
[Desktop Entry]
Name=URL Shortcut Opener
Comment=Open .webloc and .url files
Exec=/home/USER/.local/bin/open-url-shortcut %f
Terminal=false
Type=Application
MimeType=application/x-webloc;application/x-mswinurl;
NoDisplay=true※ USER は実際のユーザー名に置換すること。
mkdir -p ~/.local/share/mime/packagesファイル名: ~/.local/share/mime/packages/url-shortcut.xml
内容:
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="application/x-webloc">
<comment>macOS Web Location</comment>
<glob pattern="*.webloc"/>
</mime-type>
<mime-type type="application/x-mswinurl">
<comment>Windows Internet Shortcut</comment>
<glob pattern="*.url"/>
</mime-type>
</mime-info>update-mime-database ~/.local/share/mime
update-desktop-database ~/.local/share/applicationsxdg-mime default url-shortcut-opener.desktop application/x-webloc
xdg-mime default url-shortcut-opener.desktop application/x-mswinurl確認方法:
xdg-mime query default application/x-webloc
xdg-mime query default application/x-mswinurl- .webloc / .url をダブルクリックで既定ブラウザ起動
- Java 不要
- 常駐プロセスなし
- 設定はすべて ~/.local/ 配下で完結
- URL 抽出処理は単純である
- 依存関係を増やす合理性がない
- MIME + xdg-open により十分に統合可能である
- .url は Windows Explorer で標準対応
- Linux 側での受け皿のみを用意すればよい
- .webloc は Windows 環境へ持ち込まない運用とする
- macOS Finder の .alias
- Finder ブックマーク
- URL 以外のショートカット
- URL は URL として扱う
- OS 固有形式は入口で吸収する
- Linux 側は freedesktop.org 標準で統合する
macOS / Windows / Linux を跨ぐ環境移行時における URL ショートカット処理の最小構成例である。