ブラウザプラグイン
ブラウザプラグインには使用しているプラグイン API によって2種類のタイプがあります:
- Netscape plugin API (NPAPI): 小型のブラウザで動作するプラグイン (Firefox は Flash Player プラグインだけをサポートしており、Chromium や Opera では動作しません)。
- Pepper plugin API (PPAPI): Chromium (Chrome) や Opera、Vivaldi で動作するプラグイン。
このページに書かれているほとんどのプラグインは NPAPI オンリーです。そうでない場合は特記します。
目次
- 1 Flash Player
- 2 PDF ビューア
- 3 中国のオンラインペイメント
- 4 Citrix
- 5 Java (IcedTea)
- 6 Pipelight
- 7 マルチメディアの再生
- 8 Google ハングアウト
- 9 MozPlugger
- 10 トラブルシューティング
- 10.1 Flash Player: 音が出ない
- 10.2 Flash Player: 他のアプリケーションの音がなくなったり再生が遅延する
- 10.3 Flash Player: 64ビット版で音が酷い(途切れる)
- 10.4 Flash Player: パフォーマンス
- 10.5 Flash Player: ウェブカメラの解像度が低い
- 10.6 Flash Player: マルチヘッドを使っているとフルスクリーン再生で黒いバーが現れる
- 10.7 Flash Player: 古いシステムで動画が再生されない
- 10.8 Flash Player: アップグレードしてもプラグインのバージョンが変わらない
- 10.9 インストールしたプラグインが動作しない
- 10.10 Gecko Media Player が Apple のトレイラーを再生しない
Flash Player
Adobe Flash Player
インストール
使用しているブラウザによってインストールするパッケージは異なります。
- NPAPI バージョンは flashplugin パッケージでインストールできます。
- PPAPI バージョンは pepper-flash パッケージでインストールできます。Google Chrome には初めから同梱されています。
アップグレード
Firefox を使用している場合、Firefox#Firefox によって認識されるプラグインのバージョンが間違っているを見てください。
設定
Flash Player の設定 (プライバシー設定やリソースの使用量など) を変更したい場合、埋め込まれた Flash コンテンツ (例えば Adobe の flash ホームページ) を右クリックして、メニューから設定を選択してください。
Flash の設定ファイル /etc/adobe/mms.cfg
を使うこともできます。Gentoo は注釈が豊富にある サンプル mms.cfg を提供しています。
VDPAU による動画デコードを有効にするには、以下の行を追加・アンコメントしてください:
EnableLinuxHWVideoDecode = 1
以下の行も追加・アンコメントする必要があるかもしれません:
OverrideGPUValidation = 1
マルチモニターでのフルスクリーンの問題
マルチモニターを使っている場合や仮想デスクトップを切り替えると、フルスクリーンの Flash ウィンドウのフォーカスが外れてしまうことがあります。そのような場合、Adobe の Flash プラグインは自動的にフルスクリーンモードを解除します。
残念ながら、この挙動はバイナリにハードコードされています。挙動を変更するにはバイナリの改造が必要です。
修正することができるのは NPAPI プラグインだけであり、修正方法は2つ存在します。
- flashplugin-focusfixAUR を使用する。
- 手動でパッチをあてる [1]:
- パッケージをインストールしたら、
libflashplayer.so
をバックアップしてください: # cp /usr/lib/mozilla/plugins/libflashplayer.so /usr/lib/mozilla/plugins/libflashplayer.so.backup
- その後、ghex などのバイナリエディタを使ってファイルを改変してください。root 権限でファイルを開く必要があります:
# ghex /usr/lib/mozilla/plugins/libflashplayer.so
- バイナリエディタを使って
_NET_ACTIVE_WINDOW
という文字列を探してください。ghex ではウィンドウの右側に文字列が表示され、バイナリは左側に表示されます。検索機能を使えば簡単に見つかります。
_NET_ACTIVE_WINDOW
を発見したら行を書き換えます。行の長さを変えてしまってはいけません。例えば_NET_ACTIVE_WINDOW
を_XET_ACTIVE_WINDOW
に置き換えます。
- バイナリを保存して、プラグインを使用しているプロセスを全て再起動してください。
DRM で保護されたコンテンツを再生
Flash DRM コンテンツを見て下さい。
Shumway
Shumway はネイティブコードの助力を使わずに SWF ファイルフォーマットの忠実で効率的なレンダラを作る HTML5 技術の実験です (プロジェクトとしては死んでいます)。プラグインは Mozilla の github.io サイト から直接インストールできます。
Gnash
GNU Gnash は Adobe Flash Player のフリー (libre) の代替です。ブラウザプラグインだけでなく、デスクトップコンピュータや携帯デバイスのためのスタンドアロンのプレイヤーとしても利用でき、バージョン7までの SWF フォーマットに対応しています (バージョン8と9は開発中です)。また、ActionScript 2.0 を80%サポートしています。
AUR に複数のパッケージが存在します: gnash-gitAUR。
Lightspark
Lightspark は Adobe Flash のフリーな代替を提供しようとしているもうひとつの試みであり、新しい Flash フォーマットのサポートを目指しています。まだ開発途上ですが、人気のサイトをいくつかサポートしています。
Lightspark は AUR にある lightspark-gitAUR パッケージでインストールできます。
PDF ビューア
PDF.js
PDF.js は Mozilla によって開発されている PDF レンダラーで HTML5 技術を使っています。
Firefox ではバージョン 19 から含まれるようになっています。
Chromium や Chrome では Chrome ウェブストア に拡張があります。
外部の PDF ビューア
外部の PDF ビューアを使うには #MozPlugger が必要です。
例えば、MozPlugger と Evince を使う場合、/etc/mozpluggerrc
ファイル内で pdf
を含む行を探して以下のように GV()
の後の行を修正する必要があります (evince
は選択したビューアに置き換えて下さい):
repeat noisy swallow(evince) fill: evince "$file"
これで動かないときは、about:config
から2つの値を変更してください:
pdfjs.disabled
の値を true に変更してください。plugin.disable_full_page_plugin_for_types
の値を空に変更してください。
再起動すれば上手く動くはずです。
中国のオンラインペイメント
中国のオンラインペイメントサイトはしばしばパスワードの入力欄で「セキュリティプラグイン」を使っています。Firefox 52 以上ではサポートされていません。NPAPI をサポートしている palemoonAUR を試してみてください。
- UnionPay Online Pay (银联在线支付) を使用するには upeditorAUR。
- Alipay (支付宝) を使用するには alieditAUR[リンク切れ: パッケージが存在しません]。
Citrix
次の記事を参照してください: Citrix。
Java (IcedTea)
ブラウザの Java サポートを有効にする方法は2つあります: オープンソースの OpenJDK (推奨) と Oracle のプロプライエタリバージョンです。OpenJDK がなぜ推奨なのかはこれを見て下さい。
OpenJDK を使うには、IcedTea ブラウザプラグイン icedtea-web をインストールする必要があります。
Oracle の JRE を使いたい場合は、AUR にある jreAUR パッケージをインストールしてください。
詳細については Java を見て下さい。
Pipelight
Pipelight を見て下さい。
マルチメディアの再生
多くのブラウザは GStreamer フレームワークをサポートしており HTML5 の <audio>
や <video>
エレメントでマルチメディアを再生できます。GStreamer がサポートされているかは、ブラウザのパッケージの任意の依存パッケージを確認してください (webkit ベースのブラウザを使っている場合 webkitgtk2AUR または qt5-webkit を確認してください)。それぞれのプラグインの説明は GStreamer#インストール を見て下さい。
他のプラグイン
- Gecko Media Player — ウェブサイト上のメディアを扱う Mozilla のブラウザプラグイン、MPlayer を使用。
- https://sites.google.com/site/kdekorte2/gecko-mediaplayer || gecko-mediaplayer[リンク切れ: パッケージが存在しません]
- Rosa Media Player Plugin — Qt と MPlayer を利用するブラウザプラグイン。
- VLC Plugin — NPAPI ベースのプラグイン、VLC を使用。
Open-with Firefox 拡張
- Open-with アドオンをインストール。
about:openwith
を開いて Add... を選択。- ダイアログの中で動画をストリーミングできるプレイヤーを選択 (例: /usr/bin/mpv)。
- (オプション) プレイヤーに必要な引数を追加 (例: mpv の場合は
--force-window --ytdl
)。 - (オプション) 左パネルを使用してダイアログを表示する方法を選択。
- 動画が存在するページを開く、あるいはリンクを右クリック。サイトが対応していれば、プレイヤーが開くはずです。
上記の方法で youtube-dl などの動画ダウンローダーを使うこともできます。
youtube-dl
Watch with MPV をインストールすることで サポートされているサイト をお好きなプレイヤーで視聴できるようになります (デフォルトでは mpv)。音声ストリームだけのウェブサイトの場合 Additional player parameters に --player-operation-mode=pseudo-gui
を追加してください。
Google ハングアウト
ハングアウトのプラグインは google-talkpluginAUR パッケージでインストールできます。Google によって開発されているメッセンジャーで、様々なことができます。例えば、次のようなことが可能です: YouTube の視聴、ダイアグラムの作成、ドキュメントの編集、ゲームを遊ぶ。最大で15人までと同時にビデオ通話することができます。
MozPlugger
MozPlugger は mozpluggerAUR パッケージでインストールできます。
MozPlugger はブラウザの中で多種のマルチメディアを表示できる Mozilla プラグインです。表示のために MPlayer, xine, Evince, OpenOffice, TiMidity などの外部プログラムを使用します。MozPlugger によって使用するアプリケーションを変更・追加するには /etc/mozpluggerrc
ファイルを修正してください。
例えば、doc
ファイルを開くのに MozPlugger はデフォルトで OpenOffice を使います。LibreOffice を使うように変更させるには、OpenOffice のセクションを見て下さい:
/etc/mozpluggerrc
... ### OpenOffice define([OO],[swallow(VCLSalFrame) fill: ooffice2.0 -nologo -norestore -view $1 "$file" swallow(VCLSalFrame) fill: ooffice -nologo -norestore -view $1 "$file" swallow(VCLSalFrame) fill: soffice -nologo $1 "$file"]) ...
そして LibreOffice をリストの一番最初に加えて下さい:
/etc/mozpluggerrc
... ### LibreOffice/OpenOffice define([OO],[swallow(VCLSalFrame) fill: libreoffice --nologo --norestore --view $1 "$file" swallow(VCLSalFrame) fill: ooffice2.0 -nologo -norestore -view $1 "$file" swallow(VCLSalFrame) fill: ooffice -nologo -norestore -view $1 "$file" swallow(VCLSalFrame) fill: soffice -nologo $1 "$file"]) ...
もう一つの例として、シンタックスハイライトを使うためにお気に入りのテキストエディタで (ここでは Kate を使います)、cpp
ファイルを開きたい場合、mozpluggerrc
ファイルに新しいセクションを追加します:
/etc/mozpluggerrc
text/x-c++:cpp:C++ Source File text/x-c++:hpp:C++ Header File repeat noisy swallow(kate) fill: kate -b "$file"
mpv が代わりに使われるようにデフォルトの MPlayer を変更するには、以下のように適切な行を変更してください:
/etc/mozpluggerrc
... ### MPlayer #define(MP_CMD,[mplayer -really-quiet -nojoystick -nofs -zoom -vo xv,x11 -ao esd,alsa,oss,arts,null -osdlevel 0 $1 </dev/null]) define(MP_CMD,[mpv -really-quiet $1 </dev/null]) #define(MP_EMBED,[embed noisy ignore_errors: MP_CMD(-xy $width -wid $window $1)]) define(MP_EMBED,[embed noisy ignore_errors: MP_CMD(--autofit=$width -wid $window $1)]) #define(MP_NOEMBED,[noembed noisy ignore_errors maxaspect swallow(MPlayer): MP_CMD($1)]) define(MP_NOEMBED,[noembed noisy ignore_errors maxaspect swallow(mpv): MP_CMD($1)]) ... #define(MP_AUDIO,[mplayer -quiet -nojoystick $1 </dev/null]) define(MP_AUDIO,[mpv -really-quiet $1 </dev/null]) #define(MP_AUDIO_STREAM,[controls stream noisy ignore_errors: mplayer -quiet -nojoystick $1 "$file" </dev/null]) define(MP_AUDIO_STREAM,[controls stream noisy ignore_errors: mpv -really-quiet $1 "$file" </dev/null]) ...
MozPlugger のオプションの完全なリストは このページ を見て下さい。
トラブルシューティング
Flash Player: 音が出ない
Flash Player はデフォルトの ALSA デバイス、番号 0 にしか音声を出力しません。サウンドデバイスが複数ある場合 (サウンドカードと HDMI 出力のあるビデオカードがある場合)、使用しているデバイスの番号が異なっている可能性があります。
利用可能なデバイスとそれぞれの番号を表示するために、次を実行してください:
$ aplay -l
**** List of PLAYBACK Hardware Devices **** card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: DX [Xonar DX], device 0: Multichannel [Multichannel] Subdevices: 0/1 Subdevice #0: subdevice #0 card 1: DX [Xonar DX], device 1: Digital [Digital] Subdevices: 1/1 Subdevice #0: subdevice #0
この場合、HDMI 出力は card 0
でサウンドカードは card 1
になります。サウンドカードを ALSA のデフォルトにするには、ホームディレクトリに以下の内容で .asoundrc
ファイルを作成します:
~/.asoundrc
pcm.!default { type hw card 1 } ctl.!default { type hw card 1 }
Flash Player: 他のアプリケーションの音がなくなったり再生が遅延する
Flash 動画の音が遅延したり、Flash によって他のアプリケーションの音が止まったりする場合、snd_pcm_oss
モジュールがロードされていないことを確認してください:
$ lsmod | grep snd_pcm_oss
次のコマンドでアンロードできます:
# rmmod snd_pcm_oss
ブラウザを再起動して問題が解決したか確認してください。
Flash Player: 64ビット版で音が酷い(途切れる)
64ビット環境の Flash プラグイン 11 と glibc の新しい memcpy
ルーチンには問題が存在しており (詳細は Fedora のバグレポートを参照)、MP3 ストリームの音が不安定になります。最新の回避方法は:
- このスレッド に書かれているようにして
memcpy
ルーチンを置き換える。 - AUR から flashplugin-squareAUR[リンク切れ: アーカイブ: aur-mirror] をインストールする (これは Flash プラグインのハードウェアアクセラレーションが効くバージョンです)。
Flash Player: パフォーマンス
Adobe の Flash プラグインには深刻なパフォーマンスの問題があり、特に CPU 周波数スケーリングを使っている時にそれは顕著です。CPU のワークロード全体を使わないというポリシーがあるために、周波数スケーリング governor が CPU の周波数を上げられません。この問題を解決するには Cpufrequtils を見て下さい。
Flash Player: ウェブカメラの解像度が低い
Flash でウェブカメラの解像度が低くなる (画像のピクセルが見える) ときは次のコマンドでブラウザを起動して見て下さい:
$ LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so <browser>
Flash Player: マルチヘッドを使っているとフルスクリーン再生で黒いバーが現れる
Flash プラグインには、マルチモニタを使っているとフルスクリーンモードが正しく動作しないという既知のバグが存在します。フルスクリーンの解像度を間違って認識するために、正しいモニターに表示しながら、フルスクリーンの Flash プレイヤーはまるでモニターが合計のディスプレイ領域を持っているようにサイズを変更します。
これを修正するために、ここ に書かれている "hack" を使うことができます。上記ページのリンクからソースをダウンロードして、README の手順に従って下さい。
Flash Player: 古いシステムで動画が再生されない
旧式のシステムに Adobe Flash をインストールしたところ、動画を再生しても真っ黒になって何も起こらない場合、おそらくマシンの CPU が SSE2 をサポートしていません。次のコマンドを使って CPU フラグを見ることで確認できます:
$ grep sse2 /proc/cpuinfo
何も結果が返ってこないなら、Flash の旧バージョン (例えば 10.3 や 11.1) をインストールする必要があります。古いバージョンには脆弱性が存在する可能性があります。AUR から利用できる sandfoxAUR を使ってサンドボックス化させると良いでしょう。使用方法については sandfox のホームページを見て下さい。
Flash の旧バージョンはここから利用可能です: https://www.adobe.com/products/flashplayer/distribution3.html
libflashplayer.so
を /usr/lib/mozilla/plugins/
フォルダにコピーしてください。
SSE2 を使わない最後のパッケージは flashplugin-11.1.102.63-1-i686.pkg.tar.xz
です。このパッケージバージョンを使う時は、IgnorePkg = flashplugin
を /etc/pacman.conf
に追加してください。
Flash Player: アップグレードしてもプラグインのバージョンが変わらない
Firefox の場合はユーザーのプロファイルディレクトリに存在する pluginreg.dat
を削除してください。
- Firefox を閉じる。
/home/<username>/.mozilla/firefox/<profile_folder>/
を開く。pluginreg.dat
ファイルを削除する。
Firefox は自動的にファイルを再生成します。<username> や <profile_folder> は適切な文字列に置き換えてください。
インストールしたプラグインが動作しない
プラグインのパスが設定されていないのが共通の問題です。インストールした後 Firefox を起動する前にユーザーが再ログインをしていないときに発生します。パスが設定されていないかどうかテストしてください:
$ printenv MOZ_PLUGIN_PATH
設定されていない場合は、再ログインするか、/etc/profile.d/mozilla-common.sh
を読み込んで同じシェルから Firefox を起動してください:
$ source /etc/profile.d/mozilla-common.sh && firefox
Gecko Media Player が Apple のトレイラーを再生しない
Apple のトレイラーが再生できない時は、ブラウザのユーザーエージェントを次のように設定して見て下さい:
QuickTime/7.6.2 (qtver=7.6.2;os=Windows NT 5.1Service Pack 3)