Ubuntu Weekly Recipe

第420回ヘビーユーザー向けのWebブラウザー「Vivaldi」

まだ立夏が過ぎたばかりではありますが、夏らしい気温の日が増えてきました。PCのファンが元気よく回るようになったことで、夏の訪れを感じている読者も多いことと思います。本格的な夏の到来の前に、春を思い返してみるのはいかがでしょうか。⁠春」と言えばアントニオ・ヴィヴァルディの「四季」が有名です。というわけで今回は新興Webブラウザーである「Vivaldi」をUbuntuにインストールします。

Operaの創設者が作ったOperaらしいブラウザー

VivaldiはもともとOpera創設者の一人であるテッツナーが立ち上げた、Operaユーザーのためのコミュニティサイトです。その後、Opera本体の方向性の変化を受けて「よりOperaらしいWebブラウザー」を提供するために、新規にWebブラウザーを開発することとなりました。それが今回紹介する「Vivaldi」です。

Vivaldiには、強力なタブ管理機能や、キーボード・ショートカット、マウスジェスチャーのカスタマイズなど、Webブラウザーをヘビーに使うユーザー向けの機能が充実しています。レンダリングエンジンこそ現行OperaやChromeと同じくBlinkを使っているものの、操作性については過去のOperaユーザーが期待できる仕上がりになっているのではないでしょうか。

4月頭には最初の正式版である1.0が、4月末には最新安定版となる1.1がリリースされました。Linux対応も謳っており、debパッケージとrpmパッケージがそれぞれ配布されています。

Ubuntuでも12.04以降であればVivaldiをインストール可能です。今回はUbutnu 16.04 LTSを使って紹介します。

Vivaldiのインストール

Vivaldiのダウンロードページには、32bit版と64bit版のdebファイルとrpmファイルが用意されています。Ubuntuにインストールするならdebファイルをダウンロードしましょう。32bit版か64bit版かは、システムのアーキテクチャにあわせてください。ただしAdobe Flashの最新版を利用できるのは64bit版のみとなっています。

ブラウザ上でdebファイルのリンクをクリックすると、Ubuntuソフトウェアが起動しインストールを開始します。しかしながらソースが公開されていないバイナリパッケージをいきなりインストールするのは危険です。ここではまず、CUIでdebファイルをダウンロードした上で、その中身の確認方法について説明します。

$ wget https://downloads.vivaldi.com/stable/vivaldi-stable_1.1.453.52-1_amd64.deb
$ dpkg-deb --info vivaldi-stable_1.1.453.52-1_amd64.deb
(中略)
 Pre-Depends: dpkg (>= 1.14.0)
 Depends: gconf-service, libasound2 (>= 1.0.23), libatk1.0-0 (>= 1.12.4),
   libc6 (>= 2.12), libcairo2 (>= 1.6.0), libcups2 (>= 1.4.0),
   libdbus-1-3 (>= 1.2.14), libexpat1 (>= 1.95.8), libfontconfig1 (>= 2.8.0),
   libfreetype6 (>= 2.3.9), libgcc1 (>= 1:4.1.1), libgconf-2-4 (>= 2.31.1),
   libgdk-pixbuf2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.26.0),
   libgtk2.0-0 (>= 2.24.0), libnspr4 (>= 1.8.0.10), libnss3 (>= 3.17.2),
   libpango1.0-0 (>= 1.14.0), libstdc++6 (>= 4.6), libx11-6 (>= 2:1.4.99.1),
   libxcomposite1 (>= 1:0.3-1), libxcursor1 (>> 1.1.2),
   libxdamage1 (>= 1:1.1), libxext6, libxfixes3, libxi6 (>= 2:1.2.99.4),
   libxrandr2 (>= 2:1.2.99.2), libxrender1, libxss1, libxtst6,
   ca-certificates, fonts-liberation, libappindicator1, libcurl3,
   xdg-utils (>= 1.0.2), wget
 Recommends: pepperflashplugin-nonfree, chromium-codecs-ffmpeg-extra

「dpkg-deb --info debファイル」は指定したパッケージファイルのメタデータを表示します。特に注意すべきはPre-Depends、Depends、Recommendsなどの依存関係を示すフィールドで、これによりどんなパッケージが追加でインストールされるかわかります。

$ dpkg-deb --contents vivaldi-stable_1.1.453.52-1_amd64.deb
drwx------ root/root         0 2016-04-30 01:28 ./
drwxr-xr-x root/root         0 2016-04-30 01:28 ./usr/
drwxr-xr-x root/root         0 2016-04-30 01:28 ./usr/bin/
drwxr-xr-x root/root         0 2016-04-30 01:28 ./usr/share/
drwxr-xr-x root/root         0 2016-04-30 01:28 ./usr/share/menu/
-rw-r--r-- root/root       202 2016-04-30 01:28 ./usr/share/menu/vivaldi.menu
drwxr-xr-x root/root         0 2016-04-30 01:28 ./usr/share/applications/
-rw-r--r-- root/root      4614 2016-04-30 01:28 ./usr/share/applications/vivaldi-stable.desktop
drwxr-xr-x root/root         0 2016-04-30 01:28 ./usr/share/xfce4/
drwxr-xr-x root/root         0 2016-04-30 01:28 ./usr/share/xfce4/helpers/
-rw-r--r-- root/root       218 2016-04-30 01:28 ./usr/share/xfce4/helpers/vivaldi.desktop
(後略)

「dpkg-deb --contents debファイル」はそのパッケージファイルがインストールするファイルの一覧をリストアップします。どこに何があるか予め確認したい場合に便利でしょう。Vivaldiの場合は、基本的に/opt/vivaldiにすべてインストールするようです。さらに、/usr/share以下にdesktopファイルなどアプリケーショメニューのためのファイルと、Debianパッケージのchangelogなどを、/usr/binには/opt/vivaldi以下のバイナリへのシンボリックリンクをインストールします。

気をつけなくてはいけないのは/etc/cron.daily/vivaldiです。このcronスクリプトは、必要に応じて/etc/apt/sources.list.dにVivaldiのリポジトリを追加し、APTのキーリングにVivaldiのリポジトリキーを登録します。実害があるわけではありませんが、今後aptコマンドや「ソフトウェアの更新」によってシステムを更新した時、Vivaldiも更新される可能性があることに注意してください。

dpkg-debが表示しているのは、実際にパッケージファイルにアーカイブされているファイルのリストです。これとは別にパッケージのインストール時に自動生成されるファイルも存在します。詳細は「/var/lib/dpkg/info/vivaldi.*」などを参照してください。

lessコマンドにdebファイルを渡すと、lesspipeが「dpkg-deb --info」「dpkg-deb --conents」を実行して表示してくれます。一時的に内容を確認したいのであれば、lessを使った方が便利でしょう。

内容に問題がなければ、aptコマンドを使ってdebファイルをインストールします。

$ sudo apt install ./vivaldi-stable_1.1.453.52-1_amd64.deb

Ubuntu 16.04 LTSのaptは、引数にdebファイルのパスを渡した時は、そのdebファイルの依存関係を解決した上でインストールしてくれます。これまでよく紹介されていた「sudo dpkg -i debファイル && sudo apt-get install -f」よりも簡単なのでおすすめです。なお、引数がパッケージ名ではなくパスであることを明示するために、カレントディレクトリにあるファイルであっても「./」で始める必要があります。

Vivaldiを利用する

Vivaldiはvivaldiコマンドで起動できます。もしくはDashから「Vivaldi」を検索してください。

図1 さあ、始めよう!
画像
図2 タブバーのカスタマイズ
画像
図3 スタートページの背景画像
画像
図4 在りし日のスピードダイヤル
画像

初回起動時のガイダンスでは、外観の設定を行います。UIからキーボードショートカットに至るまで、さまざまな機能をカスタマイズできるVivaldiならではのガイダンスです。

「タブスタック」は複数のタブをひとつのタブにまとめられる機能です。大量のタブを開いていて、タブボタンが非常に狭くなってしまうような人におすすめです。あるタブを別のタブの「上」に移動すると、複数のタブがひとつのタブに「スタック」されます。スタックされたタブは「Tab in Tab」のようなUIで表示されますし、タブにカーソルを合わせるとスタックされたすべてのタブのプレビューが表示されるので、簡単に異なるタブを選択できます。

また、スタックされたタブを右クリックして「タブスタックを並べて表示する」を選ぶと、タブスタック内のページをグリッド表示してくれるのです。

図5 タブを別のタブに重ねると...
画像
図6 ...複数のタブをひとつのタブにまとめられる
画像
図7 ⁠タブスタックを並べて表示する」を選ぶとグリッド表示する
画像

この複数のタブをひとつのページにレイアウトする機能は「Webパネル」にも活かされています。これはメインの閲覧ページとは別に、並行して表示する「パネル」を用意する機能です。例えばここにTwitterなどのSNSサイトを表示することで、⁠Twitterのタイムラインを見ながら、他のサイトを閲覧する」ことが可能になります。Webパネル内のリンクをクリックすると、メインの表示ページが変わるのです。

図8 WebパネルにTwitterを表示した例
画像

F2キーを押すとキーボードだけで操作できるクイックコマンドUIが起動しますし、Operaユーザーにはお馴染みのマウスジェスチャーによる操作も可能です。インストールしたらまずは一通り、設定画面を眺めてみると良いでしょう。

Webブラウザーとしては、現在はChromiumベースであることもあって、Chromiumと遜色ないレンダリング機能を保有しています。Vivaldi 1.1からはpepperflashplugin-nonfreeとchromium-codecs-ffmpeg-extraがパッケージのRecommendsフィールドに設定されるようになったので、インストール直後からAdobe FlashやH.264動画を再生できます[1]⁠。

またChromiumベースの副産物として、Google Chromeアドオンもそのまま利用できます。

図9 html5test.comのスコア
画像
図10 艦これもプレイできる
画像

snapshot版を利用する

5月4日には、次のバージョンである1.2のsnapshot版が公開されました。マウスジェスチャーの設定機能の改修に加えて、数多くの不具合が修正されています。snapshot版は安定版とはインストールパスが異なるので、安定版と共にインストールして使い分けることが可能です。

$ wget https://downloads.vivaldi.com/snapshot/vivaldi-snapshot_1.2.470.11-1_amd64.deb
$ sudo apt install ./vivaldi-snapshot_1.2.470.11-1_amd64.deb

/usr/bin/vivaldi-stableが安定版で、/usr/bin/vivaldi-snapshotがsnapshot版です。/usr/bin/vivaldiはalternativeシステムを利用して、安定版とsnapshot版を切り替えられるようになっています。/usr/bin/vivaldiをsnapshot版に向けたい場合は、次のコマンドを実行してください。

$ update-alternatives --display vivaldi
vivaldi - 自動モード
  link best version is /usr/bin/vivaldi-stable
  リンクは現在 /usr/bin/vivaldi-stable を指しています
  link vivaldi is /usr/bin/vivaldi
/usr/bin/vivaldi-snapshot - 優先度 0
/usr/bin/vivaldi-stable - 優先度 200
$ sudo update-alternatives --set vivaldi /usr/bin/vivaldi-snapshot

コンテナの中でVivaldiを実行する

Vivaldiは残念ながらプロプライエタリなソフトウェアです。ソースが公開されていないソフトウェアを直接ホストで実行することに抵抗がある場合は、コンテナの中に閉じ込めてしまいましょう。LXC/LXDを使う場合、手順は第416回と同じです。よって詳細な説明は省いて、その手順のみ説明します。

まずはlxdをインストールし、初期設定を行います。

$ sudo apt install lxd
$ sudo lxd init

16.04のLXDではブリッジの扱いが変更となりました。そのためlxcbr0の「10.0.3.0/24」ではないアドレスレンジをコンテナが使う可能性があります。具体的な値については、上記「lxd init」時に設定できますし、その値は/etc/default/lxd-bridgeに記述されます。ここでは「10.55.74.0/24」を使う前提で話をすすめます。

まずは、あらかじめコンテナからホストのPulseAudioにアクセスできるようにしておきましょう。これにより、コンテナ内部のサウンド再生イベントがホスト側に通知されます。auth-ip-aclの値は、/etc/default/lxd-bridgeのそれにあわせてください。

$ cp /etc/pulse/default.pa ~/.config/pulse/
$ echo "load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;10.55.74.0/24" \
    >> ~/.config/pulse/default.pa
$ pulseaudio -k
$ pulseaudio --check || echo "error"

Vivaldi用のコンテナを作成し、必要なパッケージをあらかじめインストールしておきます。

$ lxc launch ubuntu:16.04 vivaldi
$ lxc exec vivaldi apt update
$ lxc exec vivaldi -- apt full-upgrade -y
$ lxc exec vivaldi -- apt install -y language-pack-ja \
    fonts-takao avahi-daemon pulseaudio \
    libcanberra-gtk-module libcanberra-pulse
$ lxc exec vivaldi update-locale LANG=ja_JP.UTF-8
$ lxc file push ~/.ssh/id_rsa.pub vivaldi/home/ubuntu/.ssh/authorized_keys

コンテナにログインして、Vivaldiをインストールしてください。

$ ssh -X ubuntu@vivaldi.local
vivaldi$ wget https://downloads.vivaldi.com/stable/vivaldi-stable_1.1.453.52-1_amd64.deb
vivaldi$ sudo apt install ./vivaldi-stable_1.1.453.52-1_amd64.deb
vivaldi$ PULSE_SERVER=10.55.74.1 XMODIFIERS=@im=fcitx vivaldi

問題なく起動できるようであれば、ホストに戻ってdesktopファイルを作成します。

$ lxc file pull "vivaldi/opt/vivaldi/product_logo_128.png" vivaldi_128.png
$ xdg-icon-resource install --novendor --size 128 vivaldi_128.png vivaldi
$ cat > vivaldi.desktop <<EOF
[Desktop Entry]
Name=vivaldi
GenericName=Vivaldi Web Browser
Comment=Access the Internet
Exec=ssh -X ubuntu@vivaldi.local PULSE_SERVER=10.55.74.1 XMODIFIERS=@im=fcitx vivaldi
Terminal=false
Type=Application
Icon=vivaldi
Categories=Network;WebBrowser;
EOF
$ desktop-file-validate vivaldi.desktop
$ desktop-file-install --dir=$HOME/.local/share/applications/ vivaldi.desktop

これでDashからVivaldiを検索・実行できるはずです。特にサウンドを再生できるか、日本語入力ができるか、 動画を再生できるか確認しておきましょう。

おすすめ記事

記事・ニュース一覧