いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

chromebookのターミナルで xdg-open でホスト側のChromeが起動しない場合 (xdg-settings, xdg-mime, .config/mimeapps.list)

関連記事

GitHub - devlights/blog-summary: ブログ「いろいろ備忘録日記」のまとめ

概要

以下、自分用のメモです。忘れないうちにメモメモ。。。

Chromebookのターミナル上で

$ xdg-open index.html

とすると、以前はホスト側のChromeブラウザが起動してくれていたのですが、いつからか出来なくなってて、vimが起動するようになってしまっていました。

xdgのMIME設定が吹き飛んだみたいなのですが、とりあえずChromeさんを起動するようにする設定は、以下のように設定し直しました。

# デフォルトのハンドラを確認
$ xdg-settings get default-web-browser
garcon_host_browser.desktop

# text/htmlのデフォルトに設定
$ xdg-mime default garcon_host_browser.desktop text/html

# ~/.config/mimeapps.listを確認
$ cat .config/mimeapps.list

[Default Applications]
text/html=garcon_host_browser.desktop

これでオッケイ。

garconって何?

garconはCrostiniコンテナ内で動作するデーモンで、Chrome OSとLinux環境間の連携を担当してくれているものです。

なので、それのブラウザ版のハンドラが garcon_host_browser.desktop です。/usr/share/applicationsの下にいます。

中身はこんな感じになっています。

$ cat /usr/share/applications/garcon_host_browser.desktop 
[Desktop Entry]
Name=Chrome OS Host Browser
Exec=/opt/google/cros-containers/bin/garcon --client --url %U
MimeType=x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/mailto;
Type=Application
NoDisplay=true
OnlyShowIn=Never

Chromebook以外だと、google-chrome.desktop とか firefox.desktop とかになっているはずです。

また、/usr/binの下に

  • /usr/bin/garcon-terminal-handler
  • /usr/bin/garcon-url-handler

というものも存在します。なので、環境変数 BROWSER

export BROWSER="/usr/bin/garcon-url-handler"

としておくのも良いですね。

参考情報


過去の記事については、以下のページからご参照下さい。

サンプルコードは、以下の場所で公開しています。