試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

Linux版Picasa2同梱のWineの設定メモ

(2014/9/21)GNU/Linux版のPicasaはその後提供が終了している。
(2008/7/30)ここで扱っているバージョンは古いため、2.7に関してを扱っている「GNU/Linux版Picasa 2.7についての覚え書き」を参照。

配色の変更

ファイル名: ~/.picasa/user.reg

[Control Panel\\Colors]
"ActiveBorder"="192 192 192"
"ActiveTitle"="94 129 188"
...
(このような配色設定を${WINEPREFIX}/user.regから貼り付ける)

UIフォントの変更(システムのWineと合わせる)

$ ln -fns ~/.wine/drive_c/windows/fonts ~/.picasa/drive_c/windows/

C:\Windows\Fonts以下にUIフォントへのリンクがあるようにすればよい。

何故か止まらない「/opt/picasa/wine/bin/../lib/../bin/wineserver」をkill

(2007/7/16)止まらなかったのは、裏でPicasaMediaDetectorが動作していたためで、オプション設定から切ることもできることが分かった。切った場合はこの作業はしなくてよい。
レジストリの設定を反映させるために行う

$ killall wineserver

フォント四角問題

[diff]ファイル名: ~/.picasa/user.reg

  [Software\\Wine\\Fonts\\Replacements]
- "Arial"="Bitstream Vera Sans"
- "Tahoma"="Bitstream Vera Sans"

これらの置換を無効にする。ここまで行うと

のような状態から

のようになり、日本語UIが多少まともになるが、

オプション設定だけはうまくいかない。フォルダのインポートなどのダイアログでも同様の文字化けが起こる。
(2007/7/1)オプションダイアログなどの部分に関しては下の設定で解決。しかし、まだ一部化ける部分が残っている。実用上大きな問題にはならないと思われるが...
(2007/7/18)初期設定からやり直したところ、追記していた部分ではないところが関係したことが判明したので修正。

[diff]ファイル名: ~/.picasa/system.reg

  [Software\\Microsoft\\Windows NT\\CurrentVersion\\FontSubstitutes]
- "MS Shell Dlg"="MS Sans Serif"
+ "MS Shell Dlg"="Tahoma"

起動やメニュー展開などの動作が重い

(2007/7/11)大幅に内容を変更。
環境変数${LC_ALL}をセットしている場合は外して(すでに未定義なら「LC_ALL=」は省略可能)

$ LC_ALL= LANG=C picasa &

と起動。ユーザインターフェースは日本語で表示され*1、日本語ディレクトリの扱いも問題なし。
参考までに、localeコマンドの結果は以下。

$ locale
LANG=ja_JP.UTF-8
LC_CTYPE=ja_JP.UTF-8
LC_NUMERIC=ja_JP.UTF-8
LC_TIME=ja_JP.UTF-8
LC_COLLATE=ja_JP.UTF-8
LC_MONETARY=ja_JP.UTF-8
LC_MESSAGES=ja_JP.UTF-8
LC_PAPER=ja_JP.UTF-8
LC_NAME=ja_JP.UTF-8
LC_ADDRESS=ja_JP.UTF-8
LC_TELEPHONE=ja_JP.UTF-8
LC_MEASUREMENT=ja_JP.UTF-8
LC_IDENTIFICATION=ja_JP.UTF-8
LC_ALL=

Windows版の最新バージョンを移植

C:\Program Files\Picasa2\以下だけを、Wineにインストールした最新版のディレクトリを使って置き換えることで、最新版の機能が使えたりする。以下実行例:

$ cd /opt/picasa/wine/drive_c/Program Files
$ sudo mv Picasa2 Picasa2.orig
$ sudo cp -pr ~/.wine/drive_c/Program\ Files/Picasa2 .

2.7.0で置き換えたところ、スライドショー機能も使えている。

残っていたフォント化けについて(追記)

ファイル名: picasa4linux-font-fix.inf

[Version]
signature="$CHICAGO$"

[DefaultInstall]
DelReg=FontReplace.Del
AddReg=FontReplace.Add

[Strings]
FontReplace="Software\Wine\Fonts\Replacements"
FontSubStr="Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes"
Font="Software\Microsoft\Windows\CurrentVersion\\Fonts"
FontNT="Software\Microsoft\Windows NT\CurrentVersion\Fonts"

[FontReplace.Del]
HKCU,%FontReplace%,"Arial"
HKCU,%FontReplace%,"Tahoma"
HKLM,%Font%,"Courier"
HKLM,%Font%,"MS Sans Serif"
HKLM,%Font%,"MS Serif"
HKLM,%Font%,"Small Fonts"
HKLM,%FontNT%,"Courier"
HKLM,%FontNT%,"MS Sans Serif"
HKLM,%FontNT%,"MS Serif"
HKLM,%FontNT%,"Small Fonts"

[FontReplace.Add]
HKLM,%FontSubStr%,"MS Shell Dlg",,"Tahoma"

(2007/7/18)これを処理させた後で、「LANG=C」を付けずに起動させると、フォルダ登録などの化けていた部分が日本語で出ることを確認したのだが、重い。「LANG=C」を付けると、以降また化けるようになってしまう。
Wine 0.9.41では、重くならず、文字化けも完全に対処できるようになったし、Wine Geckoやスライドショー/タイムラインも正常に動作しているのを確認しているので、普通にWineWindows版を入れたほうがいいのかもしれない。
以下、作業メモ。一部環境に依存するパス名などがある。${HOME}/.picasa/が存在しない状態から、以下の作業で文字化けを完全に無くすところまでいける。しかし、上記の問題がある上に面倒なので、おすすめはできない。

$ LANG=C picasa
$ killall wineserver PicasaMediaDetector explorer.exe
$ rm ~/.picasa/dosdevices/c:/windows/inf -f
$ mkdir ~/.picasa/dosdevices/c:/windows/inf
$ cp /opt/picasa/wine/drive_c/windows/inf/* ~/.picasa/dosdevices/c:/windows/inf/
$ for i in color.inf font-replace.inf font-windowmetrics.inf menu-style.inf xim-root.inf picasa4linux-font-fix.inf; do cp $i ~/.picasa/dosdevices/c:/windows/inf/; env WINEPREFIX=/home/xxx/.picasa /opt/picasa/wine/bin/wine rundll32 setupapi.dll,InstallHinfSection DefaultInstall 128 $i; done
$ sed -i -e 's/<backslash>/\\/g' ~/.picasa/user.reg
$ rm ~/.picasa/dosdevices/c:/windows/fonts -f
$ mkdir ~/.picasa/dosdevices/c:/windows/fonts
$ ln -s /usr/share/fonts/ipamonafont/ipagui-mona.ttf ~/.picasa/dosdevices/c:/windows/fonts/
$ picasa

使用したバージョン:

  • LinuxPicasa 2.2.2820.5
  • WindowsPicasa 2.7.0 (36.6000,0), 2.6.0 (36.1900, 0) 2.2.0(28.20, 0)
  • Wine 0.9.40, 0.9.41, 0.9.42

*1:ダイアログの「キャンセル」ボタンなどは英語になる