ブラウザプラグイン

提供: ArchWiki
移動先: 案内検索

関連記事

ブラウザプラグインには使用しているプラグイン API によって2種類のタイプがあります:

  • Netscape plugin API (NPAPI): Firefox など多くのブラウザで動作するプラグイン (ChromiumOpera では動作しません)。
  • Pepper plugin API (PPAPI): Chromium (Chrome) や Opera で動作するプラグイン。

このページに書かれているほとんどのプラグインは NPAPI オンリーです。そうでない場合は特記します。

Flash Player

Adobe Flash Player

インストール

使用しているブラウザによってインストールするパッケージは異なります。

  • NPAPI バージョンは flashplugin パッケージでインストールできます。このプラグインのバージョンは現在 11.2 ですが、今後アップデートされる予定です [1]
  • PPAPI バージョンは pepper-flashAUR パッケージでインストールできます。Google Chrome には初めから同梱されています。
ノート:
  • Flash アプリの中にはテキストを正しく表示するために ttf-ms-fontsAUR パッケージを必要とするものがあります。
  • freshplayerpluginAUR プラグインは Firefox などの NPAPI を使用するブラウザで pepper-flashAUR を使用するための実験的なアダプタです。/usr/share/freshplayerplugin/freshwrapper.conf.example~/.config/freshwrapper.conf にコピーすることで設定できます (ハードウェアアクセラレーションの有効化など)。

アップグレード

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つ存在します。

  • 手動でパッチをあてる [2]:
パッケージをインストールしたら、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 の値を空に変更してください。

再起動すれば上手く動くはずです。

Citrix

次の記事を参照してください: Citrix

Java (IcedTea)

ノート: Java は Chromium で動作しません。NPAPI プラグインが使えなくなったからです。Java プラグインを使用するには他のブラウザをインストールしてください。

ブラウザの Java サポートを有効にする方法は2つあります: オープンソースの OpenJDK (推奨) と Oracle のプロプライエタリバージョンです。OpenJDK がなぜ推奨なのかはこれを見て下さい。

OpenJDK を使うには、IcedTea ブラウザプラグイン icedtea-web をインストールする必要があります。

Oracle の JRE を使いたい場合は、AUR にある jreAUR パッケージをインストールしてください。

詳細については Java を見て下さい。

ノート: Java プラグインでなんらかの問題(ブラウザから認識されない)が発生するときは、この解決法を試して下さい。

Pipelight

Pipelight を見て下さい。

マルチメディアの再生

多くのブラウザは GStreamer フレームワークをサポートしており HTML5 の <audio><video> エレメントでマルチメディアを再生できます。現行バージョンの gst-* と、旧式バージョンの gstreamer0.10-*、どちらのバージョンの GStreamer がサポートされているかは、ブラウザのパッケージの任意の依存パッケージを確認してください (webkit ベースのブラウザを使っている場合 webkitgtk/webkitgtk2 を確認してください)。それぞれのプラグインの説明は GStreamer#インストール を見て下さい。

他のプラグイン

  • Gecko Media Player — ウェブサイト上のメディアを扱う Mozilla のブラウザプラグイン、MPlayer を使用。
https://sites.google.com/site/kdekorte2/gecko-mediaplayer || gecko-mediaplayer
  • Totem PluginGStreamer を使う GNOMETotem メディアプレイヤーベースのブラウザプラグイン。
http://projects.gnome.org/totem/ || totem
  • Rosa Media Player Plugin — Qt と MPlayer を利用するブラウザプラグイン。
https://abf.rosalinux.ru/uxteam/ROSA_Media_Player || rosa-media-player-pluginAUR
  • VLC Plugin — NPAPI ベースのプラグイン、VLC を使用。
https://code.videolan.org/videolan/npapi-vlc || npapi-vlc

Open-with Firefox 拡張

  1. Open-with アドオンをインストール。
  2. about:openwith を開いて Add... を選択。
  3. ダイアログの中で動画をストリーミングできるプレイヤーを選択 (例: /usr/bin/mpv)。
  4. (オプション) プレイヤーに必要な引数を追加 (例: mpv の場合は --force-window --ytdl)。
  5. (オプション) 左パネルを使用してダイアログを表示する方法を選択。
  6. 動画が存在するページを開く、あるいはリンクを右クリック。サイトが対応していれば、プレイヤーが開くはずです。

上記の方法で youtube-dl などの動画ダウンローダーを使うこともできます。

Google ハングアウト

ノート: Chromium で使用する場合はプラグインは不要です。

ハングアウトのプラグインは 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"])
...
ノート: doc ファイルを開く規定のアプリケーションとして LibreOffice が選択されることを確認してください。

もう一つの例として、シンタックスハイライトを使うためにお気に入りのテキストエディタで (ここでは 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 をインストールする (これは Flash プラグインのハードウェアアクセラレーションが効くバージョンです)。

Flash Player: パフォーマンス

Adobe の Flash プラグインには深刻なパフォーマンスの問題があり、特に CPU 周波数スケーリングを使っている時にそれは顕著です。CPU のワークロード全体を使わないというポリシーがあるために、周波数スケーリング governor が CPU の周波数を上げられません。この問題を解決するには Cpufrequtils を見て下さい。

Flash Player: ウェブカメラの解像度が低い

Flash でウェブカメラの解像度が低くなる (画像のピクセルが見える) ときは次のコマンドでブラウザを起動して見て下さい:

$ LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so [broswer]

Flash Player: マルチヘッドを使っているとフルスクリーン再生で黒いバーが現れる

Flash プラグインには、マルチモニタを使っているとフルスクリーンモードが正しく動作しないという既知のバグが存在します。フルスクリーンの解像度を間違って認識するために、正しいモニターに表示しながら、フルスクリーンの Flash プレイヤーはまるでモニターが合計のディスプレイ領域を持っているようにサイズを変更します。

これを修正するために、ここ に書かれている "hack" を使うことができます。上記ページのリンクからソースをダウンロードして、README の手順に従って下さい。

ヒント: このハックは AURfullscreenhackAUR パッケージでインストールすることもできます。
ノート: 作者は NVIDIA の TwinView を使用すると言っていますが、ハックはどのマルチモニタ設定でも動作します。

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 に追加してください。

インストールしたプラグインが動作しない

プラグインのパスが設定されていないのが共通の問題です。インストールした後 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)