qutebrowser

提供: ArchWiki
2023年7月12日 (水) 02:03時点におけるKgx (トーク | 投稿記録)による版 (→‎トラブルシューティング: 同期)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

qutebrowser は、Python と PyQt5 に基づくキーボードに焦点を当てた Web ブラウザーです。

インストール

qutebrowser または qutebrowser-gitAUR パッケージをインストールしてください。

基本的な使い方

コマンドプロンプトを出すには : を使います。Tab で自動補完が効きます。

qutebrowser を初めて起動した場合、クイックスタートページが表示されます。クイックスタートは :help でいつでも開けます。キーボードショートカットは チートシート を見てください。

ユーザー設定

qutebrowser の設定は UI、コマンドライン、もしくは Python スクリプトからの三種類の方法で設定することができます。qutebrowser 自身のドキュメントで、これらの異なる方法での設定方法を詳しく説明しています。qutebrowser のヘルプシステムを開くには、:help とタイプしてください。ヘルプページで、:Configuring qutebrowser を選びます。

設定ファイルの場所を知るには、qute://version という特別なページを開いて下さい。Arch Linux では、通常、$XDG_CONFIG_HOME/qutebrowser/ となります。qutebrowser で行った設定は、autoconfig.yml に保存されます。(これはユーザが触ってはいけません) ユーザの Python スクリプトは config.py です。

qutebrowser の設定

設定項目を1つ設定するには、:set と入力し、その後に設定項目名と設定したい新しい値を入力するだけでよいです。例えば、次のように入力します。

:set auto_save.session true

qutebrowser を再度開いたときに前のタブを開きます。

qutebrowser の UI 設定画面を開くには、次のように入力します。

:set

を追加引数なしで実行します。そこで、UI で異なる設定を編集することができます。編集が終わったら、もう一度 :set と入力すると設定が保存されます。

例えば、url.searchengines では、キーと値のペアのリストとして保存される検索エンジンを設定することができます。この設定をまだ変更していない場合、次のようになります。

{"DEFAULT": "https://duckduckgo.com/?q={}"}

これは、DuckDuckGo をデフォルトの検索エンジンとして設定し、プレースホルダーの {} は、検索キーワードに置き換えられます。Arch Linux wiki を素早く検索するためのショートカットを追加するには、次のようにします。

{"DEFAULT": "https://duckduckgo.com/?q={}", "wa": "https://wiki.archlinux.org/?search={}"}

そして qutebrowser UI のコメントにあるように、o wa <searchterm> と入力することで Arch Linux wiki を検索することができるようになります。検索を実行するために必要な引数は検索エンジンによって異なることに注意してください。例えば、Google を設定するには https://www.google.com/search?hl=en&q={} を使います。

Tor がインストールされているシステムで、DuckDuckGo の onion ページを使用する場合、次のような設定にする必要があります。

{"DEFAULT": "https://3g2upl4pq6kufc4m.onion/?q={}", "wa": "https://wiki.archlinux.org/?search={}"}

キーバインド

キーバインドを編集するには、ブラウザから :bind key command というコマンドで直接編集するか、ファイルから直接編集することができます。すでに多くのキーバインドがあることに注意してください。もし、あるキーバインドでラグに気づいたら、それは他のキーバインドも同じキーで始まっているためです。

例については、ドキュメント を参照してください。

動画の再生

ブラウザプラグイン#マルチメディアの再生 を見てください。

ヒントとテクニック

quickmarks/ブックマークのインポート

Qutebrowser は、python スクリプト /usr/share/qutebrowser/scripts/importer.py により、複数のフォーマットからブックマークをインポートすることができます。デフォルトの出力形式は、qutebrowser の quickmarks 形式です。ブックマークとクイックマークの違いについての簡単な説明は、qutebrowser FAQを参照してください。

Chromium/Chrome から

第一引数に chromium を、第二引数にブックマークファイルのあるディレクトリを指定して、上記のスクリプトを実行してください。Chromium の場合は ~/.config/chromium/Default、Chrome の場合は ~/.config/google-chrome/Default となります。スクリプトの出力は、~/.config/qutebrowser/quickmarks に追記することができます。入力フォーマットの一部を以下に説明します。追加情報は、importer.py-h フラグを与えることで確認できます。

Firefox から

Firefox のブックマークを HTML ファイルに書き出す([1] を参照)そして、インポートスクリプトを使用します。

$ python /usr/share/qutebrowser/scripts/importer.py bookmarks.html >> ~/.config/qutebrowser/quickmarks

bookmarks.html ファイルから

bookmarks.html ファイルからのインポートは python-beautifulsoup4 パッケージが必要です。インポートするには、 bookmarks.html ファイルを importer.py に渡し、出力を ~/.config/qutebrowser/quickmarks に追加します。

$ python /usr/share/qutebrowser/scripts/importer.py ~/.config/chromium/Default >> ~/.config/qutebrowser/quickmarks

quickmarks ではなく、ブックマークとしてインポートする

上記の方法のいずれかを使用し、さらに -b フラグを指定することで、スクリプトの出力形式をブックマークに変更することが可能です。出力は、~/.config/qutebrowser/bookmarks/urls に追加します。

$ python /usr/share/qutebrowser/scripts/importer.py -b chromium ~/.config/chromium/Default >> ~/.config/qutebrowser/bookmarks/urls

なお、このフラグはブラウザ指定の前に追加する必要があります。

ログイン情報を自動的に入力する

qute-pass ユーザースクリプトを使用すると、Pass パスワードストアに保存されているログイン情報を 自動的に入力 することが可能です。dmenu や互換性の有る アプリケーションランチャーpython-tldextract が必要です。:spawn --userscript qute-pass を実行するキーバインドを設定します。

この記事あるいはセクションで使われている用語や表現には問題が存在します。
議論: The quote should be part of the userscript's --help page if it is so prominent. (議論: トーク:Qutebrowser#)

スクリプトの説明から引用します:

サイトのドメインは、パスパスのセグメントとして表示される必要があります。例えば、"github.com/cryzed" や "websites/github.com" のように。ユーザー名とパスワードの決定方法は、CLI の引数で自由に設定することができます。ログイン情報は、qutebrowser の fake-key コマンドを使ってキーイベントをエミュレートすることで、以下のように挿入されます。[USERNAME]<Tab>[PASSWORD] のように、qutebrowser の fake-key コマンドでキーイベントをエミュレートしてログイン情報を挿入します。これは、ほぼすべてのログインフォームと互換性があります。

さらに明確にするために、デフォルトで使用されるパス構造は次のようになります。

 user@computer$ pass 
 Password Store 
 ├── example.site1.com 
 │   └── username 
 ├── example.site2.com 
 │   └── username1 
 │   └── username2 

これは、各ウェブサイトが ~/.password-store フォルダの中のディレクトリであることを意味します。各ウェブサイトの名前の付いたディレクトリの中には、username.gpg、username2.pgp などのタイトルのファイルがあり、各ファイルにはウェブサイトの各ユーザー名に関連するパスワードが含まれています。 Firefox から移行する場合、firefox_decrypt の修正版は、このフォーマットで移行する必要があります。

ユーザースクリプトは、ほとんどのワークフローや特殊な状況(パスワードだけを挿入したい、ユーザー名とパスワードを挿入する通常の方法がうまくいかないなど)に対応できるように、多くのオプションを提供しています。

スペルチェックをオンにする

まず、qutebrowser に同梱されている dictcli.py スクリプトで、適切な辞書をダウンロードします。

例えば、英語 (US) の場合。

$ /usr/share/qutebrowser/scripts/dictcli.py install en-US

このスクリプトには他の機能もあり、--help で表示することができます。

次に、qutebrowser で以下を設定します。

:set spellcheck.languages ["en-US"]

フィンガープリンティングを避ける

ウェブサイトは、画面サイズ、ユーザーエージェント、HTTP_ACCEPT ヘッダーなどの情報を組み合わせることで、ユーザーを特定できる場合があります。詳しくは[2] をご覧ください。また、ブラウザの独自性をテストすることもできます。以下は、あなたの qutebrowser のインストールをより「一般的」にするためにできるいくつかのステップです。

さらに、より多くのアイデアについては、Firefox プライバシー#Stop Fingerprinting を参照してください。

共通のユーザーエージェントを設定する

set content.headers.user_agent を使用すると、いくつかのユーザーエージェントをオプションとして使用できます。もうひとつ、おそらくより一般的なユーザーエージェントがあります。

Mozilla/5.0 (Windows NT 10.0; rv:68.0) Gecko/20100101 Firefox/68.0
ノート:
  • ウェブサイトは Javascript でプラットフォームの種類を収集することもでき、この設定は qutebrowser では変更できないため、Windows NT 10.0X11; Linux x86_64 に変更するとよいかもしれません。
  • ユーザーエージェントをデフォルトから変更すると、一部の Web サイトが正常に動作しなくなります。例えば、ユーザーエージェントが古いブラウザとしてリストされている場合、CAPTCHA はあなたのブラウザがサポートされていないことを言及します。

HTTP_ACCEPT ヘッダーの設定

以下は、一般的な HTTP_ACCEPT ヘッダー(Firefox のデフォルト)です、プロンプトで次のコマンドを入力するだけです。

set content.headers.accept_language en-US,en;q=0.5
set content.headers.custom '{"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}'

canvas からの読み込みを無効にする

content.canvas_reading を false に設定します。
ノート: 一部のウェブサイトは、コンテンツのレンダリングやその他の機能において、canvas の読み込みに依存しています。このオプションを追加すると、それらが正しく動作しなくなる可能性があります[3]

WebGL を無効にする

WebGL を無効にするには content.webglfalse に設定します。

dwb ライクなセッション処理

qutebrowserに、dwb--restore オプションに近いセッション処理(複数同時アクティブセッション)をさせるには、このラッパースクリプト を使用します。これは、--basedir を使って、各セッションのデータ、キャッシュ、ランタイムを分離し、設定は共有されたままです。

Web サイトを無効にする

~/.config/qutebrowser/blocked-hosts を作成し、各行にブロックしたいウェブサイトを入力します。例えば www.youtube.com のように。これで、内蔵のアドブロックリストを維持したまま、ウェブサイトを追加していくことができます。qutebrowser を再起動し、:adblock-update を実行します。

Brave ブラウザの adblocker を使用する

python-adblock パッケージをインストールし、qutebrowser 内で adblocker を有効にしてください。

:set content.blocking.method both

mpv でリンクを開く

Web ページを読み込む代わりに、mpv で特定のリンク (YouTube、reddit など) を開いて、広告や追跡などをバイパスするために使用できます。もちろん、mpv を選択したビデオプレーヤーに置き換えることもできます。

:bind M hint links spawn mpv {hint-url}

ダークテーマを有効にする

:set colors.webpage.darkmode.enabled true

JavaScript を無効にする

:set content.javascript.enabled false

トラフィックを Tor 経由でルーティングする

まず tor を有効にして実行する必要があります。これは、Tor プロキシのみを使用していますが、Tor ブラウザ上のフィンガープリントから保護するものではないことに注意してください。

:set content.proxy socks://localhost:9050/

コンテキストメニューのテーマを変更する

コンテキストメニューのテーマを変更するには、config.py の該当するセクションを探し、適切な設定 を行ってください。例えば

config.py
...
c.colors.contextmenu.disabled.fg = '#808080'
c.colors.contextmenu.menu.bg = '#353535'
c.colors.contextmenu.menu.fg = '#ffffff'
c.colors.contextmenu.selected.bg = '#909090'
...

トラブルシューティング

ツールチップが読めない

Qt のテーマによっては、ツールチップが読みにくい場合があります。これを解決するために、Qt スタイルシートファイルを作成してください。例えば

~/.local/share/qutebrowser/fix-tooltips.qss
QToolTip {
	background-color: palette(highlight);
	border: 2px solid palette(highlight);
	color: palette(text);
}

そして、qutebrowser の起動時にスタイルシートを読み込ませます。

qutebrowser --qt-arg stylesheet ~/.local/share/qutebrowser/fix-tooltips.qss
ノート: すでに qutebrowser のインスタンスが起動している場合は、スタイルシートは適用されません。
ヒント: この例のように、余分な引数を指定する場合、デスクトップエントリ を使って、便利なランチャーを作成する方法もあります。

詳しくは、バグレポート をご覧ください。

バグレポートでは、起動時に引数を必要としない qt5ctl を使った 別の方法 が提案されています。

  1. qutebrowser では :set qt.force_platformtheme qt5ctl です。
  2. qt5ct で、style:gtk2, standard dialogs: gtk2, palette: default を設定する。
  3. スタイルシートタブに変更し、新しいファイルを作成する、例えば (tooltip-gtk2.qss)
  4. 中に以下の内容を入れてください。
    QToolTip{
    	background: QLinearGradient(x1: 0, y1: 0, x2: 0, y2: 0, stop: 0 palette(window), stop: 1 palette(alternate-window));
    	border-radius: 3px;
    	border: 1px solid #000000;
    	padding: 1px;
    	color: palette(text);
    }
  5. 保存して OK をクリック
  6. この新しいファイルの隣にあるボックスにチェックを入れて、テーマに適用されるようにします。
  7. 適用をクリック

参照