スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

swfdec-mozilla問題のより良い解決法を探る

*この記事はswfdecと格闘した記録であって、最終的な解決方法ではありません。俺が今現在考える正しいと思う解決法は
swfdec-mozilla問題の最も正しい解決法
に書きました。この記事は参考としてご覧下さい。*

このところずっと話題にしている、「swfdecとflashが競合する場合のトラブル」ですが…。
前々回
前回
ブログに書いてみるものですね。kuro猫さん、rutasさんからコメントをいただきました。いただいたコメントから、問題点が見えてきた気がします。ありがとうございます!



で、何が問題かって。

俺はDebian-multimediaからflashplayer-mozillaを落として使っていて、前回までの作業でswfdec-mozillaの依存関係の問題が解決した環境なんで、それを前提に話をしますが。

前回の記事で、コメントでkuro猫さんとrutasさんが解決法を提案してくださったので、確認の為にもう一度swfdec-mozillaをインストールしてみたんです。

# apt-get install swfdec-mozilla

終わったら、iceweasel(Firefox)起動。

# exit
$ iceweasel

そして、Flashを使うサイトにアクセスしてみると…。

…あれ?普通だ。特に重たくもならない。

swf上で右クリックするとメニューがポップアップするが、それを見るとどうやら純正のflashプレーヤーが動いているようだ。

swfdecはどこへ行ったのか、おかしいと思い、ツール→アドオン→プラグインのメニューを開く。インストール済みのプラグインが羅列されるが、その中でflash関係と思われるものは

shockwave flash 10.0 r12

だけ。他にはなし。swfdecもない。では、rutasさんの指摘のあったプラグインの収納場所である/usr/lib/mozilla/pluginsを見てみると…flash関係のものはflash-mozilla.soしかない。



ここでピーンと来たわけです。

swfdec-mozillaも、純正flashプラグインも、/usr/lib/mozilla/pluginsにflash-mozilla.soというファイルがあると、あえて上書きはしないのではと。rutasさんもswfdec-mozillaのプラグインは/usr/lib/mozilla/plugins/flash-mozilla.soだとおっしゃっていたわけで…。

実験。一旦、flashplayer-mozillaもswfdec-mozillaもアンインストールして、今度はswfdec-mozillaの次にflashplayer-mozillaを入れてみる。もし予想の通りならば、この作業後のプラグイン関係の表示はswfdec-mozillaのものになっているはず。

# apt-get remove swfdec-mozilla flashplayer-mozilla

この状態でiceweaselを起動してプラグインメニューを見てみると、flash関連と思われるプラグインは消えている。

# apt-get install swfdec-mozilla

これでプラグインを見てみると、

shockwave flash 9.0 r100

なるものが入っている。rutasさんも指摘しているし、おそらくこれがswfdecのプラグインだ。ちなみに、/usr/lib/mozilla/pluginsを見てみるとflash-mozilla.soは存在している。

# apt-get install flashplayer-mozilla

見てみると、

shockwave flash 9.0 r100

変わらず。予想的中。おそらく、これが俺が四苦八苦することになった当時の状態に当たるわけだ、gnome関連の依存関係が解決している点を除けば。



では、依存関係の問題でswfdec-mozillaが削除できない環境での解決策を考えましょうか。

rutasさんは/usr/lib/mozilla/plugins/flash-mozilla.soを削除しちゃえば良いとご指導下さったが、きっとその通りなのだろう。swfdec-mozillaがインストール済みでプラグインとしても生きている状態で、flash-mozilla.soを削除し、そしてその上でflashplayer-mozillaを入れてみる。予想が正しければこれでswfdec-mozillaパッケージがシステムに存在しながらflashplayer-mozillaが生きるようになるはず。

# apt-get remove swfdec-mozilla flashplayer-mozilla

一旦ゴハサンしておいて、

# apt-get install swfdec-mozilla
# cd /usr/lib/mozilla/plugins
# rm flash-mozilla.so
# apt-get install flashplayer-mozilla

で、プラグインメニューを見てみる。

shockwave flash 9.0 r100

あれ?

/usr/lib/mozilla/plugins/flash-mozilla.soを見てみる。リンク先が/usr/lib/swfdec-mozilla/libswfdecmozilla.soとなっている。

頭の中でジョン・レノンのスターティングオーバーが流れる…。



しかし、このflash-mozilla.soというファイル、ここまで来てやっと解ったわけだが、実態のないリンクファイル(シンボリックリンク)であったのだ。よって、flashplayer-mozillaの方にリンクを張り替えてやれば良いはず。

というわけで、flashplayer-mozillaの本体を確認。/usr/lib/flashplayer-mozilla/libflashplayer.soであったので、

# rm flash-mozilla.so
# ln -s /usr/lib/flashplayer-mozilla/libflashplayer.so flash-mozilla.so

この作業後iceweaselのプラグインメニューを覗くと

shockwave flash 10.0 r12

となってくれていた。ふー、どうにか成功。

セキュリティフィックスやアップグレードが入った場合に書き換えられてしまいそうだが、その場合にはその都度リンクを張り直してやるしかあるまい。swfdec-mozillaが削除できない環境ではこうするのが一番簡単でしょうな。

しかし、こんだけ頭を悩ませ時間を割いた問題がたったコマンド二行で解決してしまったのが悲しい…。

flashplugin-nonfreeを使っている人はどうしたら良いかって?

多分だけど本体が/usr/lib/flashplugin-nonfree/内にあると思うので、それを見つけてlnコマンドでいける…と思う。もしかしたらflashplugin-nonfreeではそもそもこの問題は起きないとか、そんな話はないよね?



コメントを下さったお二方に感謝。



追記

確認したらflashplugin-nonfreeではそもそもこの問題は起きないようです。最初からこっちを使っていればswfdec-mozillaを削除しようなんて考えずに済んだわけだ…。熱が出そうだ。

ただ、flashplugin-nonfreeはバージョンが古い(今日現在9.0 r124となっている、最新版はflashplayer-mozillaと同じ10.0 r12)のだが、これは大丈夫なんだろうか?



さらに追記

さらに良い解決方法を見つけました。続く

関連記事

テーマ : UNIX/Linux
ジャンル : コンピュータ

コメントの投稿

非公開コメント

プロフィール

ざっぱー

Author:ざっぱー
(この画像について)

当ブログについて
メール
(このメールアドレスへの特定電子メール (迷惑メール) の送信はお断りします)

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。