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

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

Q4Wineについて(概要とディストリのパッケージ・2009/10/15現在)

WineGUIとして開発されているQ4Wine(https://web.archive.org/web/20131204020055/http://q4wine.brezblock.org.ua/)というツールがある。
(2014/10/12)本家サイトが閉鎖されプロジェクトも止まっているため、別のツールを使うなどしたほうがいいかもしれない。

  1. 機能
  2. 依存パッケージ
  3. ディストリのパッケージについて
  4. 手動ビルド/インストール例

機能

GUIを提供するだけではなく、環境の管理という面においても便利なツールとなっている。

  • Wine環境*1を管理でき、複数の環境からそれぞれアプリケーションを起動することができる
  • Wine環境の設定ごとにWineの実行ファイルなどの場所が指定できるため、複数バージョンのWineがシステム上に配置されているときに特定のバージョンのWineを指定して用いることができる
  • Wine環境のディレクトリツリーを簡単に.tbz形式(bzip2圧縮されたtarボールで「.tar.bz2」と等価)に書き出したり、それを取り込んだりできる
  • winetricksでアプリケーションがインストールできるが、このアプリケーションにおける動作保証の範囲からは外れる
  • CD/DVD(実ドライブもしくはイメージファイル)の任意のディレクトリへのマウント/マウント解除
  • Wineのタスクマネージャ機能(Wine環境も含めて表示)
  • Qt4の色設定をWineの色設定として変換/適用・Qt4のテーマを「GTK+」にするとGTK+ 2のテーマの色設定も利用可

依存パッケージ

ビルド時:

  • Qt4(SQLiteサポート付き)の開発パッケージ
  • CMake
  • icoutils

動作時:

  • Wine
  • which
  • icoutils
  • FUSE+FuseISO(FuseISOは内蔵版あり)もしくはsudo(CD/DVDイメージファイルのマウントに使用)

ディストリのパッケージについて

2009年10月現在、ディストリのパッケージになっているのはopenSUSEぐらいで、Debian向け非公式パッケージ(ソースdebあり)とGentoo向けOverlayがある程度。
Mandriva Linux向けRPMパッケージについては今回作成し、別館の配布ページに公開した。
(2014/10/12)配布ページは削除済み。
Debian/Ubuntuについては将来公式のパッケージが出てくる可能性がある。
(2010/6/26)2010年6月末時点では、Debianのsqueezeとsidに「q4wine」パッケージが用意されている。近い内にUbuntuにも入りそう。
(2010/12/4)Ubuntu 10.10の時点では標準で「q4wine」パッケージとしてインストールができるようになっている。

手動ビルド/インストール例

以下は一般ユーザが(書き込める)[ホームディレクトリ]/q4wine/以下にインストールする作業例で、全ての依存パッケージが入っている前提。winetricksサポートは(バージョン0.113の時点で)既定では無効なので-DWITH_WINETRIKS=ONで有効にしている。

$ tar jxf [q4wine-0.113.tar.bz2の場所]
$ cd q4wine-0.113/
[q4wine-0.113]$ cmake -DCMAKE_INSTALL_PREFIX=~/q4wine -DDESKTOP_ENTRY_PATH=~/.local/share/applications -DPIXMAPS_ENTRY_PATH=~/.local/share/icons -DWITH_WINETRIKS=ON -DCMAKE_CXX_FLAGS:STRING="[追加のコンパイラオプション...]"
[q4wine-0.113]$ make
[q4wine-0.113]$ make install
[q4wine-0.113]$ strip ~/q4wine/{bin/q4wine,lib64/q4wine/libq4wine-core.so}
[q4wine-0.113]$ sed -i "s:\(Exec=\)\(q4wine\):\1/home/$(whoami)/q4wine/bin/\2:" ~/.local/share/applications/q4wine.desktop
[q4wine-0.113]$ update-desktop-database ~/.local/share/applications

この方法でインストールしたものは下の流れでアンインストールされる。

  1. ディレクト[ホームディレクトリ]/q4wine/以下を削除
  2. ファイル[ホームディレクトリ]/.local/share/applications/q4wine.desktop[ホームディレクトリ]/.local/share/icons/q4wine.pngを削除
  3. update-desktop-database ~/.local/share/applications」を実行

この方法でインストールした場合の起動はデスクトップ環境のメニューや[ホームディレクトリ]/q4wine/bin/q4wineの直接実行で行う。共有オブジェクト(.soファイル)を含んでいるが、(RPATH*2が指定されているため)LD_LIBRARY_PATHを設定する必要はない。

使用したバージョン:

  • Q4Wine 0.113
  • Qt 4.5.2
  • wine 1.1.31
  • fuseiso 20070708
  • which 2.20
  • icoutils 0.26.0

*1:環境変数WINEPREFIXで設定されるディレクトリでレジストリとドライブ割り当ての設定から成り、初期状態では仮想Cドライブを含む・既定では[ホームディレクトリ]/.wine/

*2:共有オブジェクトに埋め込まれた共有オブジェクトの探索パス