FreeBSD Daily Topics

2008年8月7日TIPS】FreeBSD Firefox 3とFirefox/Wine Flash9閲覧をシームレスに実現する方法

tips

How to ease use Flash 9

Google Mapsで東京都心部や周辺地域のストリートビューが提供されるようになりました。しかしながら、Flash 9が使われているためFreeBSD Firefoxからは閲覧できません。最近ではFlash 9を使う動画コンテンツも多く、ブログをチェックしていても動画を閲覧できないことが増えてきました。

FreeBSDでFlash 9コンテンツを閲覧するには、Wineを使ってWindows Firefox+Windows Flash 9という組み合わせを動作させる方法が安定していて便利です(ここではWindows Firefox+Windows Flash 9 using WineのことをFirefox/Wineと表記します⁠⁠。しかしながら、Firefoxを使っている状態でFirefox/Wineを起動して、URLをコピーして閲覧するというのは正直なところ面倒です。

今回はFirefoxでFlash 9コンテンツに行き着いたとき、サクッとFirefox/WineでFlash 9を閲覧できるようにする方法を紹介します。

まずWineをインストールします。

Wineのインストール方法
# cd /usr/ports/emulators/wine/
# make install clean

Wineをインストールしたら~/.wine/を生成してから日本語入力、フォント追加設定などを実施します。これは毎回手動でやると面倒なので次のようなスクリプトを作成しておいて実行します。

~/.wine/が作成されていない場合はwinecfgを起動して自動的に生成します。winecfgのダイアログが起動してきたらそのままOKボタンを押します。必要があればここで設定の調整を実施してもらってもかまいません。

リスト1 tweak-wine(1) - 日本語入力の設定や日本語フォント追加設定などを行うスクリプト
#!/bin/sh

# StartUP
if [ ! -d ${HOME}/.wine ]
then
    winecfg
    sleep 5
fi

SYSTEMREG=${HOME}/.wine/system.reg
USERREG=${HOME}/.wine/user.reg
TMPFILE=$(mktemp ${HOME}/.wine/$(basename $0).XXXXXX) || exit 1

# INPUT method
if [ -z "$(grep InputStyle ${USERREG})" ] 
then
    echo "" >> ${USERREG}
    echo '[Software\\Wine\\X11 Driver]' >> ${USERREG}
    echo '"InputStyle"="root"' >> ${USERREG}
fi

# FONT
(
alllines=$(wc -l ${SYSTEMREG} | awk '{print $1}')
fontentrylinenumber=$(cat -n ${SYSTEMREG} | 
    fgrep '[Software\\Microsoft\\Windows NT\\CurrentVersion\\FontSubstitutes]' |
    awk '{print $1}')

head -n ${fontentrylinenumber} ${SYSTEMREG}

if [ -z "$(fgrep '"Times New Roman"="IPAPGothic"' ${SYSTEMREG})" ]
then
    echo '"Times New Roman"="IPAPGothic"'
fi

tail -n $(expr ${alllines} - ${fontentrylinenumber}) ${SYSTEMREG}
) > ${TMPFILE}

mv ${TMPFILE} ${SYSTEMREG}

Wineを使っていてWindowsアプリケーションの整理が必要だと感じたら~/.wine/を削除してもう一度作り直す方法が簡単で便利ですが、その方法だとユーザの設定データも一緒に削除されてしまいます。この場合、たとえば~/.wine/drive_c/windows/profiles/${USER}を一旦どこか別の場所にコピーしておいて、~/.wine/を作り直したときにシンボリックリンクを張るようにすると便利です。ユーザの設定したデータが引き続き利用できるようになります。たとえば、データを~/Applications/windows/profiles/${USER}にコピーしてあるものとすれば、先ほどのスクリプトに次の内容を追加しておきます。パスは自分の使うものへ変更して使ってください。

リスト2 tweak-wine(1)に追加するユーザプロファイルの処理例
# User Profile
USERPROFILEDIR=${HOME}/Applications/windows/profiles/${USER}
WINEUSERPROFILEDIR=${HOME}/.wine/drive_c/windows/profiles/${USER}

if [ -d ${WINEUSERPROFILEDIR} ]
then
    rm -r ${WINEUSERPROFILEDIR}
fi
if [ ! -e ${WINEUSERPROFILEDIR} ]
then
    ln -s ${USERPROFILEDIR} ${WINEUSERPROFILEDIR}
fi

MozillaのサイトからWindows Firefox 2.0.0.16などをダウンロードしてきます。ダウンロードはMozilla Firefox 2から実施します。

Firefox 3.0は、まだWineでは動作しませんので2系をダウンロードする必要があります。ダウンロードしたファイルを指定してインストールを実施します。

Windows Firefox 2のインストール
% wine "Firefox Setup 2.0.0.16.exe"

インストールが完了したらFirefox/Wineを起動してFlash Player 9ダウンロードセンターからWindows Flash 9をダウンロードします。Firefox/WineでアクセスしないとWindows版がダウンロードできないので注意してください。Flash 9のファイル"install_flash_player.exe"をダウンロードしたら、Firefox/Wineを終了してから次のようにFlash 9をインストールします。Firefox/Wineが動作している状態ではインストールできませんので注意してください。

Windows Flash 9のインストール
% wine install_flash_player.exe

Firefox/Wineを起動するためのスクリプトを作成します。たとえばここではwin-firefox2として次のスクリプトを作成します。

リスト3 win-firefox2(1) - Firefox/Wineを起動するスクリプト
#!/bin/sh

exec /usr/local/bin/wine "C:\\Program Files\\Mozilla Firefox\\firefox.exe" ${@+"$@"}

FreeBSD Firefoxを起動してFirefoxエクステンションLaunchyをインストールします。いったんFirefoxを終了してから、次のような~/.mozilla/firefox/*.default/chrome/launchy.xmlファイルを作成します。ファイルに記載されているスクリプトへのパスは自分のものへ置き換えてください。なおこの設定ファイルはlaunchy.xml generatorを使って自動的に生成することもできます。

リスト4 Firefox/Wineを起動するための設定ファイル
<?xml version="1.0" encoding="UTF-8"?>
<configurations xmlns="http://launchy.mozdev.org/configurations">
        <application>
                <label>Windows Firefox 2</label>
                <type>1</type>
                <command>/home/daichi/bin/win-firefox2</command>
        </application>
</configurations>
図1 Flash 9のコンテンツが現れたらメニューからLaunchy→Open in Windows Firefox 2を選択
図1 Flash 9のコンテンツが現れたらメニューからLaunchy→Open in Windows Firefox 2を選択
図2 Firefox/WineでGoogle Mapsストリートビューを使っている様子
図2 Firefox/WineでGoogle Mapsストリートビューを使っている様子

ここまで設定したら、あとはFirefoxでFlash 9コンテンツに遭遇したときに、マウスを右クリックして表示されるメニューから「Launchy」を選択して「Open in Windows Firefox 2」を選択します。Firefox/Wineが実行されFlash9コンテンツがチェックできるようになります。

おすすめ記事

記事・ニュース一覧