Windowsの.urlファイルをLinuxDEでもダブルクリックで開く(+α)メモ
TL;DR
.url
を受け取ってURL行を取り出すスクリプトを作成した後、application/x-mswinurl
をハンドルして先のスクリプトを呼び出すエントリを追加します。
はじめに
Windowsが前提で回っている環境では、共有フォルダに格納された.url
ファイルを開くことを要求されることが多々あります。
もちろんテキストエディタで開いてURL行からコピペしても問題ないのですが、頻繁に開く必要がある場合には多少不便なので、これを右クリックメニュー or ダブルクリックで開けるようにしてみました。
環境
Fedora 42 (KDE Spin)
KDE Plasma 6
手順
スクリプトの作成
.url
をパースしてデフォルトブラウザで開くコマンド(スクリプト)を作成
以下のようなスクリプトをお好きな場所(パス通ってるとちょっと便利かも)に作成すればOKです。
わたしは/home/{user}/bin/open-url
に作成していますが、常識的な場所であればおそらくどこでも問題ありません。
#!/usr/bin/env bash
file="$1"
if [ ! -e "$file" ]; then
notify-send -u low -a ".url Wrapper" "File not found."
exit 1
fi
url=$(grep -m1 '^URL=' "$1" | cut -d= -f2- | tr -d '\r')
if [[ -z "$url" ]]; then
notify-send -u low -a ".url Wrapper" "Entry not found."
exit 1
else
xdg-open "$url" &
fi
notify-send -u low -a ".url Wrapper" "Opened in the default browser."
作成後、実行権限を付与しておいてください。
chmod +x ./open-url
.url
ファイルをパースしてURL行の値を取り出した後、xdg-open
を用いてデフォルトブラウザで開いているだけのシンプルなスクリプトです
ダブルクリックで開く
デスクトップエントリを追加
~/.local/share/applications/open-url.desktop
Exec行で指定するのは先程作成したスクリプトです。
[Desktop Entry]
Version=1.0
Type=Application
Name=.url Wrapper
Comment=Open Windows .url files in the default browser
Exec=/home/rca/bin/open-url %f
MimeType=application/x-mswinurl;
NoDisplay=true
特に説明することもありませんが、目標のMimeTypeであるapplication/x-mswinurl
と紐づけして、かつNoDisplay
をtrue
とすることでアプリケーションリストには表示しないようにしています。
キャッシュを更新する
update-desktop-database ~/.local/share/applications
で更新できます。
KDE Plasma 6環境ではkbuildsycoca6
を行うと同時にこの更新も行うらしい(未検証)です。
右クリックメニューで開く(Dolphin)
ServiceMenuアイテムを追加
~/.local/share/kio/servicemanus/open-url.desktop
こちらも同じくExec行で指定するのは先程作成したスクリプトです。
[Desktop Entry]
Type=Service
ServiceTypes=KonqPopupMenu/Plugin
MimeType=application/x-mswinurl;
Actions=openInBrowser;
[Desktop Action openInBrowser]
Name=Open in the default browser
Exec=/home/rca/bin/open-url %f
Icon=internet-web-browser
こちらもダブルクリックの場合とほぼ同じです。
Dolphinの右クリックメニューに表示するには、ServiceTypes
としてKonqPopupMenu/Plugin
を指定する必要があります。
キャッシュを更新する
kbuildsycoca6
で更新できます。
(追記): 権限エラーが発生する場合
このような権限エラーが発生する場合、エントリファイルにExecute権限を追加する必要があるかもしれません。
chmod +x ./open-url.desktop
結果
どちらも行った場合、.url
の右クリックメニューはこのような感じになるかと思います(再掲)。
さいごに
これを思いついた時点でもう3年生です 遅すぎる!
Discussion