qutebrowser
qutebrowser は、Python と PyQt5 に基づくキーボードに焦点を当てた Web ブラウザーです。
目次
- 1 インストール
- 2 基本的な使い方
- 3 ヒントとテクニック
- 4 トラブルシューティング
- 5 参照
インストール
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
を実行するキーバインドを設定します。
スクリプトの説明から引用します:
サイトのドメインは、パスパスのセグメントとして表示される必要があります。例えば、"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
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 に設定します。
WebGL を無効にする
WebGL を無効にするには content.webgl
を false
に設定します。
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
詳しくは、バグレポート をご覧ください。
バグレポートでは、起動時に引数を必要としない qt5ctl
を使った 別の方法 が提案されています。
- qutebrowser では
:set qt.force_platformtheme qt5ctl
です。 qt5ct
で、style:gtk2, standard dialogs: gtk2, palette: default を設定する。- スタイルシートタブに変更し、新しいファイルを作成する、例えば (
tooltip-gtk2.qss
) - 中に以下の内容を入れてください。
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); }
- 保存して OK をクリック
- この新しいファイルの隣にあるボックスにチェックを入れて、テーマに適用されるようにします。
- 適用をクリック