Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ターミナルでモダンウェブブラウジング(Carbonyl) // Modern Web Browsing in Terminal (Carbonyl)

ターミナルでモダンウェブブラウジング(Carbonyl) // Modern Web Browsing in Terminal (Carbonyl)

発表: 「鹿児島Linux勉強会 2023.02(オンライン開催)」 https://kagolug.connpass.com/event/275404/
source: https://gitlab.com/matoken/kagolug-2023.02/-/blob/master/slide/slide.adoc

Kenichiro MATOHARA

February 19, 2023
Tweet

More Decks by Kenichiro MATOHARA

Other Decks in Technology

Transcript

  1. Carbonyl カスタマイズされたChromium をバックエンドにしてターミナルで利 用 PulseAudioに対応 Browshよりはマシだけど日本語などが崩れることがある Docker / npm(未確認) /

    Binary(Linux amd64, arm64 / macOS amd64, arm64)  セルフビルドには100GB以上のディスクが必要らしい https://github.com/fathyb/carbonyl 5
  2. build 済イメージを利用 macOS amd64, macOS arm64, Linux amd64, Linux arm64

    が用意されている Linux amd64 Chromium もしくは Chromium の依存パッケージを導入する必要 がある https://github.com/fathyb/carbonyl#download $ wget https://refloat.ci/artifact/fathyb/carbonyl/59/carbonyl.linux-amd64.zip $ mkdir carbonyl && cd carbonyl $ unzip ../carbonyl.linux-amd64.zip $ du -Hs . 172432 . 6
  3. Debian での確認例 $ dpkg-query -f='${Depends}\n' -W chromium libasound2 (>= 1.0.17),

    libatk-bridge2.0-0 (>= 2.5.3), libatk1.0-0 (>= 2.2.0), libatomic1 (>= 4.8), libatspi2.0-0 m2 (>= 2.4.75), libevent-2.1-7 (>= 2.1.8-stable), libexpat1 (>= 2.0.1), libflac12 (>= 1.3.0), libfontconfig1 (>= 2 liblcms2-2 (>= 2.2+git20110628), libminizip1 (>= 1.1), libnspr4 (>= 2:4.9-2~), libnss3 (>= 2:3.22), libopenjp2-7 ( libstdc++6 (>= 12), libwebp7 (>= 1.2.4), libwebpdemux2 (>= 1.2.4), libwebpmux3 (>= 1.2.4), libwoff1 (>= 1.0.0), l 0, libxrandr2, libxslt1.1 (>= 1.1.27), zlib1g (>= 1:1.2.2), libgtk-3-0 | xdg-desktop-portal-backend, chromium-comm 7
  4. Docker での利用例  Docker での利用時はこのままではオーディオの利用が出来ない $ docker run -ti fathyb/carbonyl

    https://example.com $ docker image ls fathyb/carbonyl REPOSITORY TAG IMAGE ID CREATED SIZE fathyb/carbonyl latest 4aef4c651071 5 days ago 402MB fathyb/carbonyl <none> 1cef5b7f04c3 9 days ago 407MB 12
  5. Docker 経由でAudio 利用 環境変数 PULSE_SERVER を指定してPulseAudo を利用するようにで きる PipeWire 環境の場合ローカルのpipewire-pulse

    にmodule- native-protocol-tcp モジュールを読み込んでネットワーク経由で繋 げるようにしておく no sound on windows · Issue #44 · fathyb/carbonyl Audio through SSH · Issue #2 · fathyb/carbonyl $ pactl load-module module-native-protocol-tcp 13
  6. ssh 経由でのオーディオ利用 リモートホストでCarbonyl を動かしてssh 経由でアクセスしたい ssh 経由でもオーディをが使えるか試す PulseAudio はtcp:4713 を利用するので,ssh

    でポート転送する ことでリモートサーバで再生したオーディオをローカルで聞ける binary Docker $ ssh -tt -C -R 4713:localhost:4713 ${REMOTE} carbonyl https://youtube.com $ ssh -tt -C -R 4713:localhost:4713 ${REMOTE} docker run -e PULSE_SERVER=localhost \ --net=host -ti fathyb/carbonyl https://youtube.com 15
  7. Browsh との比較 Carbonyl Browsh バックエンド Chromium(カスタ ム) Firefox ウェブブラウザ 同梱

    別途必要 日本語対応 そこそこ いまいち(Proxy利 用時はOK) オーディオ PulseAudio対応 無し HTTP Proxy 無し 有り 18