64bit版ChaletOSでのWineの初期設定、日本語文字化け対策、allfontsのインストール方法

前回は「ChaletOSにWindows7アイコンの導入する方法」について説明しました。インターフェイスがWindowsに近づいて来ると、次は実際にWindowsプログラムを動かしたくなると思います。

幸いChaletOSには「Wine」が標準でインストールされています。ですから適切な「Wine環境」を構築さえすれば、比較的簡単にWindowsプログラムを動かす事ができます。

Staging版がインストールされている

Windowsプログラムを動かすためのソフト、Wineには3つバージョンがあります。

  • 開発版(development release)
  • 安定版(stable release)
  • Staging版(staging release)

この中でChaletOSにインストールされているのは「Staging版 Ver1.9.11」です。

ChaletOS-wine-staging

開発版と安定版については文字通りです。しかし「Staging版とは?」と多くの方が疑問をもたれたと思います。

「Staging版」とは、公式の開発版にまだ取り込まれていない機能や、バグ修正が適用されたバージョンの事を言います。

少し特殊なバージョンではありますが、安定しています。むしろ「Staging版」でないと正常に動作しないソフトさえあります。例えば「Mp3tag」。

wine-stable-mp3tag
安定版ではカバー画像が表示されない。ダウンロードも不可

「Staging版」でないと「アルバムアート」が取得出来ないのです。かなりの痛手です。こうしたこともあるので、無理矢理「安定版」をインストールする必要はないと言えます。

64bit、32bitどちらでWine環境を構築するか

64bit版ChaletOSのユーザーはWineを使う際、まず初めに64bit、32bitのどちらでWine環境を構築するか決めなければなりません

なぜなら.Net Framework」が、32bitのWine環境でないとインストールできないからです。

wine-dotnet40

試しに64bitのWineで「.Net Framework 4.0」をダウンロードしようとすると以下の警告が出て終了。

dotet-does-not-work-on-64bit-env

Winetricks」を最新版にして更新してみても、インストールは途中まで進みますが、やはり以下のようなエラーが出ます。

64bitのWine環境では動かない

ですからどうしても「.Net Framework」プラグラムを使いたい場合、32bitでWine環境を構築するしかありません。しかし、仮にWineを32bit環境で構築しても、ご希望の「.Net Framework」プログラムが【正しく】動作する保証は一切ありません。

ですからこの際「.Net Framework」プログラムとは決別しても良いと思います。

全く別のOSで、Windowsプログラムを【多数】かつ【安定的】に使おうとしても、まずうまく行きません。「Wine」はまだそのレベルには達していません。

それよりは「代替プログラム」を見つけ、移行する事に尽力する方が、長期的には大きなプラスです。その方が格段に【安定的で安心】な環境になるからです。

64bit版Wineの構築の仕方

以上を踏まえ、まずは「.Net Framework」はインストールしない、64bit版Wine環境の構築方法を説明します

64bitのWine環境は、以下のタイミングまたはコマンドによって構築が始まります。

  1. 初めてWindowsプログラムを実行、またはインストールする
  2. または「winecfg」コマンドを利用する

最初の方は文字通りです。Windowsプログラム(exeファイル)またはインストーラーを「Wine Windows プログラムローダーで開く」ことです。

wineプログラムローダーで開く

すぐに自動で各種インストーラーが走り始め、64bitのWine環境の構築が始まります。

Wine-Mono

Wine-Gecko

Wine-Gecko2
「Wine Gecko」のインストール画面は2回出る

全て「インストール(I)」をクリックして下さい。

最終的に「Wine 設定」画面が出れば、ひとまず環境構築は完了です。「OK」で閉じましょう。

Wine設定

今回、筆者はコマンドの方を使って「64bitのWine環境」を構築しました。使用したコマンドは以下です。

winecfg

winecfg

その後の流れは上述と一緒です。「Wine Mono」や「Wine Gecko」のインストールが自動で走り始めます。

個人的には先に「winecfg」コマンドで64bitのWine環境を構築をし、続けて「文字化け対策」をしてから、Windowsプログラムをインストールをした方がスマートな気がします。

Wine環境の在り処

上述の手順でWine環境が構築されると、ホームディレクトリに「.wine」という隠しフォルダーができます。

.wineファルダ-ができる

この「.wine」の直下の「drive_c」(仮想Cドライブ)を開いてみると、Windowsの64bit版とほぼ同様のフォルダー構成になっています。

仮想Cドライブの構成

ですから例えば、プログラムを手動でインストールする必要がある場合、以下のどちらかのフォルダーに、そのプログラムをコピーをすれば良いことになります。

  • ~/.wine/drive_c/Program Files/
  • ~/.wine/drive_c/Program Files(x86)/

64bit版のWindowsと基本的には同じ考え方です。

日本語文字化け対策

さて次に必ず行わなければならないのは、日本語の文字化け対策です。

よく「allfonts」をインストールすると、文字化けが解消できると説明しているサイトを見かけます。その通りです。しかし、デフォルトの「Winetricks」では以下のエラーが出て「allfonts」のインストールに失敗します

sha1sum-mismatch

しかし対処方法がありました。意外なほど単純な方法でした。

※ただし私はプロのIT技術者ではないので、突っ込みどころはかなり多いと思います。予めご容赦下さい。

sha1sum mismatch Rename 問題

先ほど出てきたエラーには「sha1sum mismatch Rename /home/(以降省略)」という文言が含まれていました。

「sha1」とは確か「ハッシュアルゴリズム」なはず。旧来の「sha1」アルゴリズムを採用した電子証明書が一般的に「SHA-1 証明書」(非推奨)、よりセキュアな「sha2」を採用した電子証明書が「SHA-2 証明書」と呼ばれる事を思い出しました。

SHA-1証明書に関する指針
出典:SSLサーバー証明書 : SHA-1 証明書の受付終了と SHA-2 証明書への移行について|Cybertrust.ne.jp

個人情報を扱う等の理由で、暗号化通信をしているサイト、つまり「https://」で始まるサイトのほとんどが実は2016年内に「SHA-2 証明書」に移行しました。※実際「SHA-2 移行 お知らせ」で検索すると大量に(早いと2015年~)2016年の記事が出てきます。

その結果Windows XP SP2以前の古いOSでは「SHA-2 証明書」を採用したサイトが見られなくなりました。

現在少なくともネット世界は既に「SHA-2」の時代。それなのに「sha1」から始まるエラーが出たこと自体に違和感と、時代遅れな感じがしました。そのため、実はインストール済みの「Winetricks」は結構古いんではないかと疑いました。

そこで以下のコマンドにて「Winetricks」のバージョンを調べてみました。

winetricks --version

winetricks-version

恐ろしや。「20140817 sha1sum:」と書いています。その後の長い文字列は「SHA-1 ハッシュ値」でしょう。文字通りなら2014年のバージョン。古すぎます。これではどんなトラブルが起きてもおかしくありません。

それに、もともとの警告文が「sha1sum mismatch…」でした。ざっくり言えば「(ファイルの)SHA-1 ハッシュ値が違います。ファイル名を変更してから再挑戦を」ということ。そうなるとやっぱり「Winetricks」が古すぎて、突合するファイル(名)に齟齬が生じているんじゃないかと素人ながら感じました。

Winetricksの更新方法

いずれにしてもとにかく古すぎるので、まずは最新の「Winetricks」を使ってみることにしました。

ちなみにこの古い「Winetricks」のファイル本体は「/usr/bin/」内にあります。最初は「/usr/bin/」にある実行ファイルそのものを最新版と「交換」しようと思いました。

しかし念のため以下のコマンドで、パスの優先順位を確認しました。

echo $PATH

パスの優先順位

「/home/(ユーザー名)/bin」が最優先のパスとなっていました。これであれば、「/home/(ユーザー名)/bin」に最新版の「Winetricks」をダウンロードし実行権限を与えるだけで大丈夫だと判断しました。

binフォルダーを作成

ところが最新版の「Winetricks」をすぐに使える形で配布しているサイトはありませんでした。また、コマンドを使って最新版にアップデートする方法も見当たりませんでした。

しかも「Application Center」からインストールできるのも同じバージョン。

とは言え、実は「Winetrick」のスクリプトの中身を直に見られるサイトは知っていました。そういった場合は「wget」コマンドを使って、最新版の「Winetricks」を「~/bin/」にダウンロードすることができます。

ただその前に、まずはホームディレクトリ(~)に「bin」フォルダーが作成されていないといけません。

まだ「bin」フォルダーがない
まだ「bin」フォルダーがない

今回はどのみち、端末で「wget」コマンドを使うので、「bin」フォルダーの作成も端末で行おうと思います。

まず「Ctrl+Alt+T」で端末を起動します。そこでまず以下のコマンドを入力します。

mkdir bin

mkdir

そうすると実際、ホームディレクトリに「bin」フォルダーで出来上がります。

binフォルダーが作成

※コピーした記事内のコマンドは「Ctrl+Shift+V」キーで端末に貼り付けられます。

wgetコマンドで最新版Winetricksを入手

ホームディレクトリに「bin」フォルダーで出来ましたら以下のコマンドで、「~/bin」フォルダーに移動します。

cd bin

「bin」フォルダーに移動したら続けて「wget」コマンドを入力します。

wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks

cd-bin

そうすると実際「~/bin/」に「winetricks」というシェルスクリプトがダウンロードされました。

winetricksがダウンロードされた

この「winetricks」に以下のコマンドで実行権限を与えます。

chmod +x winetricks

chmod

この状態で続けて以下のコマンドを入力し、最新版か確認します。

winetricks --version

winetricks-latest

「20170517 sha256sum」。無事バージョンアップが出来ました。※sha256とはSHA-2の一種。

allfontsのインストールも成功

「Winetricks」が最新版になったので、もう一度「allfonts」のインストールを試しました。「allfonts」のインストールはGUIでやるより、コマンドで行った方が3手間ぐらい省けます。具体的には以下のコマンドを入力します。たったの1コマンドで済みます。

winetricks allfonts

winetricks-allfonts

無事「allfonts」のインストールが成功しました。エラーは1つも出ませんでした。

allfonts-installed

実際レジストリ内のフォントの「Replacements」情報も抜けが無く登録されています。

font-replacements

私が気になっていた、ハッシュアルゴリズムが直接原因だったかどうかは不明です。しかし、いずれにしても「Winetricks」を最新状態にしないと「allfonts」がインストールできないのは紛れもない事実です。

これで最低限の下準備は完了です。ただもう1つ「日本語入力」ついての設定があります。

Fcitxのインライン入力設定

それは「日本語のインライン入力」設定です。この設定をしないと、未確定の文字列がウィンドウの外にはみ出て表示されます。はみ出した場所を見ながら変換確定し、次に「Enter」を押すと、ようやくウィンドウ内に文字が入力されるのです。

ウィンドウ内に「直接」日本語を入力する「インライン入力」が出来ないのです。使い物になりません。

インライン入力出来ない
実際にはウィンドウ内で文字を入力している

※上図はアウトラインプロセッサ「Nami2000」

これを解消するためにはやはり設定マネージャーを開きます。一番下までスクロールすると「Fcitx設定」がありますので開きます。

Fcitx設定

入力メソッドの設定

開くと上記の画面になります。右端の「アドオン」タブをクリックして下さい。

拡張にチェック

アドオン画面になりましたら、左下の「拡張」チェックを入れます。

Fcitx-XIM-Frontend

次に画面をスクロールし「Fcitx XIM Frontend」を選択し、枠外下の「設定」をクリックします。

XIM-checked

上記画面になりますので、右端のチェック欄にチェックを入れて「OK(O)」をクリックします。

拡張にチェック

アドオンの一覧になりましたら、「拡張」のチェックは外しましょう。

Fcitxの再起動方法

先程「Fctix XIM Frontend」の右側の欄にチェックを入れる際に、「(起動中は変更できません)」との但し書きありました。

XIM-checked

これは文字通り「Fcitx」が起動している間は、インライン入力の設定変更は適用されないということです。ですから「Fcitx」を一旦終了し再度起動する必要があります。

だからと言って、わざわざPCを再起動する必要はありません。「Fcitx」だけを再起動すれば良いのです。

Fcitxの再起動

その方法は簡単です。「mozc」がオンの状態のとき、パネル右下に「あ」の文字が表示されます。その「あ」を左クリックし、メニューの下から2つ目の「再起動」をクリックします。これで「Fcitx」は再起動され、インライン入力が可能になります。

mozcオフの状態

「mozc」がオフの状態でも、もちろん再起動は出来ます。ただアイコンが分かりにくいです。それと多分使用するアイコンテーマによって、アイコンが変わってくると思うので「mozc」をオンにして「あ」をクリックした方が分かりやすいです。

インライン入力

本来のインライン入力なら、入力している文字のすぐ下に変換候補が出ます。しかし、これもプログラムによってまちまち。今回例示した「Nami2000」はWine上で非常に良く、正確に動くプログラムです。それでもこうして足りない点や不安定な点があります。

これが「Wine」の実態です(執筆時点)。

(参考)Fcitxのクリップボード機能は不要

続いての設定は必須の設定ではありません。あくまで補足。あまり話題になっていませんが、実は「Fcitx」にもクリップボード管理機能が備わっています

以前筆者はクリップボード管理ソフトは「ClipIt」がお勧めであると説明しました。それ以外にもクリップボード管理ソフトを使っている方はかなり多いと思います。そう考えると、「Fcitx」のクリップボード機能は不要だと思います。

無効にするには、やはり先程と同様の手順で「設定マネージャー」を開き、「Fcitx設定」を開きます。

入力メソッドの設定

開いた画面右端の「アドオン」タブをクリック。左下の「拡張」にチェックを入れます。

拡張にチェック

アドオン一覧の画面を一番上までスクロールします。そうすると「Clipboad」という項目があります。

下図のように、「Clipboad」の左側のチェックを外して下さい。終わりましたら枠外下の「拡張」のチェックも外しましょう。

Fcitxのクリップボードオフ

これで「Fcitx」のクリップボード機能は解除されます。

32bit版Wineの構築の仕方

続いて64bit版のChaletOSでも、どうしても「.Net Framework」が使いたい。そのために32bit版のWine環境を構築する場合の方法について説明します。

やり方は1つしかありません。端末にて以下のコマンドを入力します。

WINEARCH=win32 wineboot

WINEARCH=win32-wineboot

そうすると自動的に32bitでのWine環境の構築が始まります。64bitと時と同じ画面が出ます。

Wine-Mono

(以降のインストーラー画面は省略)

もう2回上記と同じようが画面が出るので、全て「インストール(I)」をクリックして下さい。「Wine 設定」画面が出れば、ひとまず環境構築は完了です。「OK」で閉じましょう。

Wine設定

もちろん仮想Cドライブ、「.~/.wine/drive_c/」の構成も64bit環境のときとは違っています。

wine32bit

次に以下のコマンドで「allfonts」をインストールします。

winetricks allfonts

winetricks-allfonts

このように最初のコマンドが違うだけで、流れは基本的に64bit環境の構築と同じです。ですからもし未実施だったら、続けてインライン入力の設定をすることになります。

Winetricksの起動

以上で32bitのWine環境が整いました。では実際、例として「.Net Framework 4.0」のインストール方法をご紹介します。「.Net Framework」のようなランタイム、DLLコンポーネントをインストールする時は、まず「Winetrick」を起動します。

端末からなら以下のコマンド。

winetricks

winetricks-terminal

GUIであれば、Whisker Menuの「その他」から「Winetricks」は起動出来ます。

その他の中にある

「Winetricks」の初回起動時だけ以下の質問が出てきます。ざっくり言えば「Winetricks」に統計情報の送信を許すかどうかという質問です。※この質問は64bitのWine環境でも出ます。

opt-in

お好みですが、私は「No」を選択しました。続いて以下の画面が出ますが、気にせず「OK」で閉じます。

opt-out-caution

続いて以下の画面になりますので、「Select the default wineprefix」にチェックが入っている事を確認し「OK」をクリックします。

default-wineprefix

.Net Frameworkのインストール方法

次に以下の画面になります。

Windows-dll-component

この中から一番上の「Install a Windows DLL or component」にチェックを入れ、右下の「OK」をクリックします。以下の画面に遷移します。

wine-dotnet40

その中から今回は「dotnet40」=「.Net Framework4.0」にチェックを入れ「OK」をクリックします。そうするとインストールが始まります。

途中、以下のように警告が何回か出ます。気にせず全て「OK」をクリックします。

unknown-errors

最終的には通常のインストール画面になります。

dotnet40-installer

そして無事インストールも完了します。

dotnet40-install-finished

それでも繰り返しですが「.Net Framework」がインストール出来たからと言って、ご希望のプログラムが【正常に】動作するかどうかは未知数です。

先に64bitのWine環境を構築してしまった場合

本当は32bitのWine環境を構築したかったのに、間違って先に64bitでWine環境を作ってしまった場合、それでも、32bitのWine環境を構築出来ます。

決して焦って「Wine」本体を【絶対に】アンインストールしないで下さい。

まずは「~/.wine」フォルダーをまるごと削除します。もちろん必要なファイル・フォルダーは必ず事前にバックアップを取って下さい

その次に以下のフォルダー内にあるWine関連のデスクトップエントリー(拡張子.desktop)やアイコンを全て削除して下さい。

  • ~/.config/menus/applications-merged/
  • ~/.local/share/applications/wine/
  • ~/.local/share/desktop-directories/
  • ~/.local/share/icons/

削除が完了しましたら、前述の「32bit版Wineの構築の仕方」と全く同じ手順を踏めば、32bitのWine環境を容易に構築出来ます。

ただし、今回は一回「Wine Mono」や「Wine Gecko」はインストール済みなので、以下の様な画面は出てこないはずです。

Wine-Mono

逆のことも同様です。つまり誤って32bitでWine環境を先に構築してしまった場合も「~/.wine」フォルダーを削除。そして上述のフォルダー内のファイルを削除します。その後は「64bit版Wineの構築の仕方」と全く同じ手順で64bitのWine環境が作り直せませす。

zonclorXtra-Facebookの修正版配布します

今回は今までと違って端末を使う方法を多めに紹介してきました。端末を使っている内に敏感な方は、「何かエラーで出ているぞ」と感じられたと思います。

GtK-WARNING

確かにエラーなのですが、致命的なエラーではありません。中でも「Theme parsing error」から始まるエラーは、テーマファイルのイージーな記述ミスによるものです。

zoncolorXtra-Facebook

それらを全て説明すると長くなります。もし以前紹介した「zonclorXtra-Facebook」のテーマをお使いでしたら、その修正版を以下のサイトで公開します。

zoncolorXtra-Facebook-modified
必ず右上の「DOWNLOAD」の方をクリックして下さい。下のボタンだと「読み取り専用」になることがあります

「zoncolorXtra-Facebook.tar.gz」(105.1KB)をダウンロードして展開し、「/usr/share/themes/」内既存の「zoncolorXtra-Facebook」フォルダーと交換して下さい。※rootユーザーになる必要はありません。ClamTkでスキャン済。

テーマファイル修正前
例として端末から「Evince」を起動

修正した「zoncolorXtra-Facebook」を適用した場合、端末から例えば「Evince」を起動しても「Theme parsing error」のエラーは無くなります。

テーマファイル修正後

この修正版を適用しても、出て来るエラーは「テーマ」が原因ではないと思われます。完璧ではないかもしれませんが、よろしければお使い下さい。

※関連記事