obsidian://
Obsidianアプリケーションを使用してURIを開くようにLinux環境を設定しようとしています(参照:黒曜石URIの使用)。
これが私が使用するプロセスです。再現可能であることを確認するために、きれいなUbuntuシステムでこれを行いました。
このファイルはファイルと共に保存されます
Obsidian.AppImage
。ファイルに実行権限があります。~/obsidian
icon.jpg
AppImage
これは私の
~/.local/share/applications/obsidian.desktop
ファイルの内容です。[Desktop Entry] Name=Obsidian Exec=/home/rachum/obsidian/Obsidian.AppImage %u Terminal=false Type=Application Icon=/home/rachum/obsidian/icon.png StartupWMClass=obsidian X-AppImage-Version=0.8.15 Comment=Obsidian Categories=Office; MimeType=text/html;x-scheme-handler/obsidian;
私は逃げた
update-desktop-database ~/.local/share/applications/
xdg-open
意図したとおりに作品を使用してください。xdg-open "obsidian://new?vault=notes&name=note&content=content"
このコマンドラインは、新しい説明とコンテンツを含むObsidianアプリケーションを開きます。
Firefox(プレインストール)で上記のURIをURLバーに入力すると、新しいコメントとコンテンツを含むObsidianアプリケーションも開きます。
.deb
Chromeの公式ホームページからファイルをダウンロードして実行してChromeをインストールしました。dpkg -i <.deb file>
上記のURIをChromeに入力すると、「obsidian://new?vault=notes&name=note&content=content」のGoogle検索にリダイレクトされます。
ChromeがXDG設定に従わないのはなぜですか?
アップデート#1:回答コメントに詳細を追加します。
私の~/.local/share/applications/mimeapps.list
ファイルは次のとおりです。
[Default Applications]
x-scheme-handler/obsidian=obsidian.desktop
私の~/.local/share/applications/mimeinfo.cache
ファイルは次のとおりです。
[MIME Cache]
text/html=obsidian.desktop;
x-scheme-handler/obsidian=obsidian.desktop;
答え1
ChromeがXDG設定に従わないのはなぜですか?
お客様の評価が正しくありません。 Chromeはxdg-openを使用しています。以下のスクリーンショットは、google-chromeとchromiumの両方でxdg-openを使用して「特殊リンク」を開くように求められます。
常に実行オプションをリセット
以前に「この種類のファイルは常に開く」ダイアログボックスを受け入れた場合は、この設定をリセットする必要があります。消去するオプションは次のとおりです。
ダウンロード後、特定のファイル形式を自動的に開きます。
このオプションにアクセスするには:
- Chromeで特別なURL chrome:// settings /を開きます。
- 下にスクロールして下部の詳細リンクをクリックします。
- さらに設定するには、「andvanced」のシェブロンアイコンをクリックしてください。
- ダウンロードの下には、ダウンロードの代わりに実行するファイルを1つ以上設定した場合にのみ存在するオプションがあります。
- 「クリア」をクリック「ダウンロード後に特定のファイル形式を自動的に開く」の横のボタン
特定のファイル形式のみをリセットするオプションはありません。これでボタンが消えるのがわかります。
URLがブロックされていないことを確認してください。
ChromeブラウザでホスティングアカウントにログインしているLinuxユーザーの場合。お好みのJSONファイルエディタを使用してください。
/etc/opt/chrome/policies/drivenフォルダに移動します。 JSONファイルを作成または更新し、必要に応じてURLを入力します。 URLBlocklistでブロックしたいURLを追加します。 URLAllowlistにユーザーが訪問するURLを追加します。
chrome://policy/ を使用して、現在ロードされているポリシーを確認できます。
源泉:
Chromeプロトコルハンドラのリセット
$ grep -r ~/.config/google-chrome/ -e protocol_handler -l
デフォルト設定ファイルを使用している場合、編集するファイルは次のとおりです。
- $HOME/.config/google-chrome/Default/Preferences
複数のプロファイルを使用している場合、デフォルト設定ファイルはgoogle-chrome / Profile 2、google-chrome / Profile 3などにあります。
必要に応じて特定のプロトコル(この場合はobsidian://)の設定を消去します。
$ jq < /home/jaroslav/.config/google-chrome/Default/Preferences \
| grep protocol_handler -C 2
"custom_handlers": {
"enabled": true,
"ignored_protocol_handlers": [
{
"last_modified": "13276367110202441",
--
}
],
"registered_protocol_handlers": []
},
"custom_links": {
--
},
"ppapi_broker": {},
"protocol_handler": {},
"safe_browsing_url_check_data": {},
"sensors": {},
最新バージョンのChromeでは、Web-uiを介して制御できます。この特別なURLを開きます
- Chrome://settings/content/fileHandlers
- Chrome://設定/ハンドラ
あなたはこれを選択したいと思います:
Webアプリケーションはファイル形式を開くように要求できます。
そして
サイトには処理契約が必要な場合があります。
引用:
- https://bbs.archlinux.org/viewtopic.php?id=152993
- https://www.ghacks.net/2015/10/29/how-to-open-downloads-in-chrome-automatically/
- https://stackoverflow.com/questions/51986354/how-to-prevent-popping-up-xdg-open-dialogue-from-ubuntu-chrome-while-opening-spe
- https://askubuntu.com/questions/465586/how-to-reset-external-protocol-handler-in-chrome
答え2
私に役立ったのは、sudo update-desktop-database
私も同じ問題があり、しばらく検索した後にこれを見つけたことです。https://superuser.com/questions/162092/how-can-i-register-a-custom-protocol-with-xdg