xfce4-terminalデフォルトブラウザの変更

xfce4-terminalデフォルトブラウザの変更

どのように変更しても、xfce4端末はChromeをブラウザとして使用せずにFirefoxウィンドウを開きます。

tim@MushaV3 ~ $ grep 'html' ~/.config/mimeapps.list 
text/html=google-chrome.desktop;
application/x-extension-html=exo-web-browser.desktop;
application/x-extension-shtml=exo-web-browser.desktop;
application/x-extension-xhtml=google-chrome.desktop;
application/xhtml+xml=google-chrome.desktop;
text/html=google-chrome.desktop
application/x-extension-html=google-chrome.desktop
application/x-extension-shtml=google-chrome.desktop
application/x-extension-xhtml=google-chrome.desktop
application/xhtml+xml=google-chrome.desktop

どちらも現在のウィンドウでURLを開くexo-open https://forums.gentoo.orgことができます。xdg-open https://forums.gentoo.orgクロム合金ただし、端末で直接URLを開くと、Firefoxで開きます。

端末がこの情報をどこから取得するかについての情報を広めることができる人はいますか?

答え1

この問題は何度も発生し、この方法で解決されました。

現在の設定を確認し、利用可能なオプションを確認できます(使用する必要がある名前はシステムによって異なる場合があります)。

gio mime x-scheme-handler/http

その後、デフォルト値を変更し、追加のパラメータとして必要なオプションを追加できます(httpとhttpsを設定する必要があるかもしれません)。

gio mime x-scheme-handler/http google-chrome.desktop
gio mime x-scheme-handler/https google-chrome.desktop

源泉:https://russellstinnett.com/2018/01/26/really-really-setting-default-browser-xfce/

答え2

私はほぼ偶然その答えを見つけました。

私の~/.config/mimeapps.listファイルには2つのセクションを定義します。

[接続の追加]と[基本アプリケーション]

ある時点で、私の設定は[追加された接続]に追加されましたが、各行の末尾にセミコロンがありませんでした。過去にこれを手動で追加した可能性があり、最近までこれは機能しませんでした。更新によってこの構成ファイルの処理が変更されたようです。

代わりに、編集した行を削除してファイルの[基本アプリケーション]セクションに追加しましたが、すべてが期待どおりに機能します。

答え3

存在する~/.config/mimeapps.list

[Default Applications]
x-scheme-handler/http=vivaldi-stable.desktop
x-scheme-handler/https=vivaldi-stable.desktop

[Added Associations]また、このプロファイルセクションから同様のハンドラを削除する必要があります。

答え4

todoist私の場合、私はいくつかの邪悪なアプリケーション()が私のアプリケーションを常に編集していると確信していたので、それを修正するために端末を開くたびに端末で実行される次のmimeapps.listスクリプトを書いています。.bashrc

#!/usr/bin/python3
import sys
import os

try:
  mimeapps_list = open(f"{os.environ['HOME']}/.config/mimeapps.list", "r+")
except FileNotFoundError as fnfe:
  print(fnfe, file=sys.stderr)
  sys.exit(1)

data = mimeapps_list.readlines()
for i in range(len(data)):
  line = data[i]
  if "text/html=" in line:
    data[i] = "text/html=brave-browser.desktop"
    if ";" in line:
      data[i] += ";"
    data[i] += "\n"

mimeapps_list.seek(0)
mimeapps_list.write("".join(data))
mimeapps_list.truncate()
mimeapps_list.close()

text/htmlもちろん、アイテム以外のアイテムの使用に問題がある場合は、調整する必要があります。

関連情報