「Wine」の版間の差分
Kusakata.bot (トーク | 投稿記録) 細 (文字列「http://www.spinics.net/」を「https://www.spinics.net/」に置換) |
(同期) |
||
1行目: | 1行目: | ||
[[Category:Wine]] |
[[Category:Wine]] |
||
+ | [[Category:エミュレーション]] |
||
+ | [[Category:ゲーム]] |
||
[[cs:Wine]] |
[[cs:Wine]] |
||
[[de:Wine]] |
[[de:Wine]] |
||
16行目: | 18行目: | ||
[[Wikipedia:ja:Wine|Wine]] は Microsoft Windows のアプリケーションを UNIX ライクな OS で動かすための互換レイヤーです。プログラムの挙動が Windows と同じなので、エミュレータと違ってパフォーマンス低下がありません。より詳しい記述は [http://www.winehq.org/ プロジェクトの公式ページ] や [https://wiki.winehq.org/ wiki] を見てください。 |
[[Wikipedia:ja:Wine|Wine]] は Microsoft Windows のアプリケーションを UNIX ライクな OS で動かすための互換レイヤーです。プログラムの挙動が Windows と同じなので、エミュレータと違ってパフォーマンス低下がありません。より詳しい記述は [http://www.winehq.org/ プロジェクトの公式ページ] や [https://wiki.winehq.org/ wiki] を見てください。 |
||
+ | {{Warning| 一般ユーザーからアクセスできるファイルには、Wine で動かしているプログラムからもアクセスできます。[[#特別なユーザーアカウントで Wine を実行]]や[[セキュリティ#アプリケーションのサンドボックス化]]でセキュリティを向上できます。}} |
||
− | == インストール == |
||
+ | == インストール == |
||
− | {{Warning| 一般ユーザーからアクセスできるファイルには、Wine で動かしているプログラムからもアクセスできます。Wine の prefix は[[wikipedia:ja:サンドボックス (セキュリティ)|サンドボックス]]ではありません。セキュリティを確保したいときは[[wikipedia:ja:仮想化|仮想化]]を使用してください。}} |
||
− | Wine は {{Pkg|wine}} (安定版) または {{Pkg|wine-staging}} (テスト版) パッケージでインストールできます。[https://wine-staging.com/ Wine Staging] は [https://www.winehq.org/ Wine] にパッチが適用されたバージョンで、安定版ブランチにマージされていないバグフィックスや機能追加が含まれています (例: [[#CSMT |
+ | Wine は {{Pkg|wine}} (安定版) または {{Pkg|wine-staging}} (テスト版) パッケージでインストールできます。[https://wine-staging.com/ Wine Staging] は [https://www.winehq.org/ Wine] にパッチが適用されたバージョンで、安定版ブランチにマージされていないバグフィックスや機能追加が含まれています (例: [[#CSMT|CSMT]])。Wine をインストールするには先に [[Multilib]] リポジトリを有効にする必要があります。[[#サウンド]]も見てください。 |
Internet Explorer や .NET のサポートが必要なアプリケーションを使いたい場合、それぞれ {{pkg|wine_gecko}} と {{pkg|wine-mono}} をインストールしてください。Wine は必要なときに関連ファイルをダウンロードするので、これらのパッケージは厳密には必要ありません。しかし、先にファイルをダウンロードしておくことで、オフラインでも作業できるようになり Wine はそれぞれの WINEPREFIX が必要とするファイルをダウンロードしなくなります。 |
Internet Explorer や .NET のサポートが必要なアプリケーションを使いたい場合、それぞれ {{pkg|wine_gecko}} と {{pkg|wine-mono}} をインストールしてください。Wine は必要なときに関連ファイルをダウンロードするので、これらのパッケージは厳密には必要ありません。しかし、先にファイルをダウンロードしておくことで、オフラインでも作業できるようになり Wine はそれぞれの WINEPREFIX が必要とするファイルをダウンロードしなくなります。 |
||
116行目: | 118行目: | ||
[HKEY_CURRENT_USER\Software\Wine\X11 Driver] |
[HKEY_CURRENT_USER\Software\Wine\X11 Driver] |
||
"ClientSideWithRender"="N" |
"ClientSideWithRender"="N" |
||
+ | |||
+ | [[HiDPI]] ディスプレイを使っている場合、winecfg で DPI の値を調整できます。 |
||
[[フォント設定#fontconfig をサポートしていないアプリケーション]]も参照。 |
[[フォント設定#fontconfig をサポートしていないアプリケーション]]も参照。 |
||
219行目: | 223行目: | ||
== ヒントとテクニック == |
== ヒントとテクニック == |
||
− | |||
− | {{Tip|記事の最初にあるリンクに加えて、以下のサイトも有用です: |
||
− | * [https://appdb.winehq.org/ The Wine Application Database (AppDB)] - 特定の Windows アプリケーションについての情報 (既知の問題, レーティング, ガイドなど) |
||
− | * [http://forum.winehq.org/ The WineHQ Forums] - FAQ や AppDB を見ても解決しない問題はここで尋ねましょう |
||
− | }} |
||
=== Wine コンソール === |
=== Wine コンソール === |
||
240行目: | 239行目: | ||
$ winetricks |
$ winetricks |
||
− | === CSMT |
+ | === CSMT === |
+ | CSMT は OpenGL コールに対して特別なスレッドを使うことでパフォーマンスを著しく向上させる技術で、Wine によって使われています。Wine 3.3 から CSMT はデフォルトで有効になっています。ただし 3.3 以前の Wine では CSMT のサポートを手動で有効にする必要があります。通常の Wine の場合、{{ic|wine regedit}} を実行して ''HKEY_CURRENT_USER -> Software > Wine > Direct3D > csmt'' で DWORD の値を 0x01 (有効) に設定してください。wine-staging の場合、{{ic|winecfg}} を起動して staging タブで有効にしてください。 |
||
− | 2013年から [http://www.winehq.org/pipermail/wine-devel/2013-September/101106.html wine の開発者] は Wine に stream/worker スレッド最適化の実験を行っています。この実験中のパッチがあてられた Wine バージョンを使うことでパフォーマンスを向上させることができるかもしれません。多数のゲームが Windows と同じ速度で、またはそれ以上で動くようになる可能性もあります。この Wine パッチは CSMT パッチとして知られており、Nvidia と AMD のグラフィックカードで利用できます。 |
||
− | |||
− | [http://www.wine-staging.com/ Wine-staging] には CSMT のサポートが含まれており ([http://www.wine-staging.com/news/2016-05-18-release-1.9.10.html バージョン 1.9.10] から)、{{Pkg|wine-staging}} パッケージでインストールできます。 |
||
− | |||
− | CSMT のサポートは {{ic|winecfg}} で有効化する必要があります (Staging タブ)。 |
||
詳細: |
詳細: |
||
* CSMT の開発者 Stefan Dösinger による [https://www.phoronix.com/forums/showthread.php?93967-Wine-s-Big-Command-Stream-D3D-Patch-Set-Updated/page3&s=7775d7c3d4fa698089d5492bb7b1a435 Phoronix Forum の議論] |
* CSMT の開発者 Stefan Dösinger による [https://www.phoronix.com/forums/showthread.php?93967-Wine-s-Big-Command-Stream-D3D-Patch-Set-Updated/page3&s=7775d7c3d4fa698089d5492bb7b1a435 Phoronix Forum の議論] |
||
− | * [https://www.youtube.com/playlist?list=PL0P2a_sII2eTd8uq-azTNpQjiFLqBhDjg ここ] に CSMT を有効にして動作させているゲーム動画があります。 |
||
=== Wine によるファイルの関連付けの解除 === |
=== Wine によるファイルの関連付けの解除 === |
||
282行目: | 276行目: | ||
=== Wine によるファイルの関連付けを停止 === |
=== Wine によるファイルの関連付けを停止 === |
||
− | 関連付けを作成しないように設定するには、 |
+ | 関連付けを作成しないように設定するには、レジストリを編集してください: |
− | {{hc|1= |
+ | {{hc|1=associations.reg|2= |
+ | Windows Registry Editor Version 5.00 |
||
− | [Software\\Microsoft\\Windows\\CurrentVersion\\RunServices] |
||
+ | [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices] |
||
"winemenubuilder"="C:\\windows\\system32\\winemenubuilder.exe -r" |
"winemenubuilder"="C:\\windows\\system32\\winemenubuilder.exe -r" |
||
}} |
}} |
||
+ | 上記を Wine のレジストリに追加してください。{{ic|wine regedit associations.reg}} を実行するか、{{ic|wine regedit}} を起動してメニューの ''Registry > Import Registry File'' からインポートすることで追加できます。 |
||
− | ファイルの関連付けを作成して欲しくない全ての WINEPREFIX で上記の設定が必要になります。 |
||
+ | |||
+ | ファイルの関連付けを更新したくない全ての WINEPREFIX で上記を設定してください。 |
||
以下の環境変数を設定することで全ての WINEPREFIX で winemenubuilder を無効化することが可能です: |
以下の環境変数を設定することで全ての WINEPREFIX で winemenubuilder を無効化することが可能です: |
||
− | + | $ export WINEDLLOVERRIDES="winemenubuilder.exe=d" |
|
=== 異なる解像度でのデュアルスクリーン === |
=== 異なる解像度でのデュアルスクリーン === |
||
300行目: | 297行目: | ||
{{Pkg|lib32-libxinerama}} をインストールすることでも wine のデュアルスクリーンの問題が解決することがあります。 |
{{Pkg|lib32-libxinerama}} をインストールすることでも wine のデュアルスクリーンの問題が解決することがあります。 |
||
− | |||
− | === exe-thumbnailer === |
||
− | |||
− | Wine と一緒に (もしくはその前に) インストールするための小さな UI のコードです。実行可能ファイルのサムネイルを提供します。利用可能ならば埋め込まれたアイコンを表示するため、ユーザーは Wine が何を開くのかわかりやすくなります。{{AUR|exe-thumbnailer}} パッケージから利用可能です。 |
||
=== 言語の変更 === |
=== 言語の変更 === |
||
343行目: | 336行目: | ||
aborting |
aborting |
||
+ | Wine で16ビットのプログラムを実行するには、[[カーネル/コンパイル/Arch Build System|カスタムカーネルをコンパイル・インストール]]する必要があります ({{Bug|57408}} を参照)。カーネルコンフィグで以下のオプションが必要です: |
||
− | この場合は、次のコマンドを実行することで修正できます: |
||
+ | CONFIG_X86_16BIT=y |
||
− | # echo 1 > /proc/sys/abi/ldt16 |
||
+ | CONFIG_X86_ESPFIX64=y |
||
− | |||
+ | CONFIG_MODIFY_LDT_SYSCALL=y |
||
− | ソース: [https://www.spinics.net/linux/fedora/fedora-users/msg450821.html Fedora メーリングリスト] |
||
=== オプティカルメディアを焼く === |
=== オプティカルメディアを焼く === |
||
371行目: | 364行目: | ||
Wine には全てのグラフィカルアプリケーションで使える FPS モニター機能があります。環境変数 {{ic|1=WINEDEBUG=fps}} を設定してください。FPS は標準出力にアウトプットされます。{{pkg|xosd}} パッケージの {{ic|osd_cat}} を使うことでウィンドウ上に FPS を表示することが可能です。ヘルパースクリプト [https://gist.github.com/anonymous/844aefd70bb50bf72b35 winefps.sh] を見てください。 |
Wine には全てのグラフィカルアプリケーションで使える FPS モニター機能があります。環境変数 {{ic|1=WINEDEBUG=fps}} を設定してください。FPS は標準出力にアウトプットされます。{{pkg|xosd}} パッケージの {{ic|osd_cat}} を使うことでウィンドウ上に FPS を表示することが可能です。ヘルパースクリプト [https://gist.github.com/anonymous/844aefd70bb50bf72b35 winefps.sh] を見てください。 |
||
+ | === Microsoft Office === |
||
− | === .NET framework 4.0 のインストール === |
||
+ | |||
− | まず新規に32ビットの wine prefix を作成してください: |
||
+ | {{pkg|wine-mono}} {{pkg|wine_gecko}} {{pkg|samba}} {{pkg|lib32-libxml2}} パッケージをインストールしてください。 |
||
− | $ WINEARCH=win32 WINEPREFIX=~/win32 winecfg |
||
+ | |||
+ | 詳しくは [https://appdb.winehq.org/objectManager.php?sClass=application&iId=31 Wine AppDB のページ] を見てください。 |
||
+ | |||
+ | === 特別なユーザーアカウントで Wine を実行 === |
||
+ | |||
+ | {{Note|以下の設定は Xorg の root を有効にしている場合にのみ機能します。詳しくは [[Xorg#Rootless Xorg (v1.16)]] を参照。}} |
||
+ | |||
+ | 別のユーザーアカウントで Wine を実行することで、Windows アプリケーションからホームディレクトリにアクセスできてしまうという懸念を減らすことができます。 |
||
+ | まず Wine 用の[[ユーザーとグループ|ユーザーアカウント]]を作成: |
||
− | それから winetricks を使って以下のパッケージをインストールしてください: |
||
− | $ WINEARCH=win32 WINEPREFIX=~/win32 winetricks -q msxml3 dotnet40 corefonts |
||
+ | # useradd -m -s /bin/bash wineuser |
||
− | === Microsoft Office のインストール === |
||
+ | 新しいユーザーアカウントを使って Wine アプリケーションを開けるようにするために、X サーバーのパーミッションリストに新しいユーザーを追加してください: |
||
− | ==== Office 2010 ==== |
||
+ | $ xhost +SI:localuser:wineuser |
||
− | 32ビット版の Microsoft Office 2010 (MSO-2010) は問題なく動きます。インターネットのアクティベーションも問題ありません。 |
||
+ | 以下のコマンドを使って Wine を実行することができます ({{ic|env}} を使用して Wine の起動する環境を設定します): |
||
− | 最初に {{pkg|wine-mono}}, {{pkg|wine_gecko}}, {{pkg|samba}}, {{pkg|lib32-libxslt}}, {{pkg|libwbclient}}, {{pkg|lib32-libxml2}} をインストールしてください。 |
||
+ | $ sudo -u wineuser env HOME=/home/wineuser USER=wineuser USERNAME=wineuser LOGNAME=wineuser wine ''arguments'' |
||
− | それからインストーラーの起動に進んで下さい: |
||
− | $ export WINEPREFIX=~/.wine |
||
− | $ export WINEARCH=win32 |
||
− | $ wine /path/to/office_cd/setup.exe |
||
+ | 以下のようにシェルスクリプトを使って Wine による Windows アプリケーションの実行を自動化できます: |
||
− | デフォルトの Wine プレフィックス ({{ic|~/.wine}}) に Office 2010 をセットアップしたくない場合、[[#WINEPREFIX]] セクションに書かれているように新しいプレフィックスを作成してください。上記の export はシェルの初期化スクリプトに書くことができます。 |
||
+ | {{hc|1=/usr/local/bin/runaswine|2= |
||
+ | #!/bin/bash |
||
+ | xhost +SI:localuser:wineuser |
||
+ | sudo -u wineuser env HOME=/home/wineuser USER=wineuser USERNAME=wineuser LOGNAME=wineuser wine "$@"}} |
||
+ | シェルスクリプトを保存したら、以下のようにして Wine アプリケーションを起動できます: |
||
− | インストールが完了したら、Word や Excel を開いてインターネットからアクティベートしてください。アクティベーションが完了したら ''winecfg'' を起動して (ライブラリの) {{ic|riched20}} を {{ic|(native,builtin)}} に設定してください。この設定によって PowerPoint が動作するようになり、電話アクティベーションの国選択のドロップダウンリストが表示されるようになります。 |
||
+ | $ runaswine ''"C:\path\to\application.exe"'' |
||
− | OneNote を動作させるには、{{ic|winetricks wininet}} を実行して {{ic|wininet}} が {{ic|(native,builtin)}} に設定されていることを確認してください。 |
||
+ | Wine を実行するたびにパスワードが要求されないようにしたい場合、sudoers ファイルに次のエントリを追加してください: {{ic|1=''mainuser'' ALL=(wineuser) NOPASSWD: ALL}}。詳しくは [[Sudo#設定]]を参照。 |
||
− | 詳しくは [https://appdb.winehq.org/appview.php?iVersionId=4992 WineHQ] の記事を見てください。 |
||
+ | {{ic|winecfg}} を Wine ユーザーで起動して、「デスクトップ統合」タブから Wine ユーザーのホームディレクトリ以外のディレクトリのバインドを全て削除することを推奨します (Wine によって起動したプログラムが Wine ユーザーのホームディレクトリの外のファイルにアクセスできないようにするため)。 |
||
− | 上記の方法の代わりとして、{{Pkg|playonlinux}} は Office 2003, 2007, 2010 を簡単にインストールできるカスタムインストーラースクリプトを提供しています。''setup.exe'' や ISO を用意するだけでインストーラーはスムーズにインストールを実行します。Wine については全く操作を必要としません。playonlinux による Office 2010 のインストールは古いバージョンの Word で作成された Word 文章の xml 変換を有効にします。 |
||
+ | [[PulseAudio]] を使用している場合、Wine プログラムで音が鳴らなくなってしまいます。他のユーザーの PulseAudio デーモンに Wine ユーザーからアクセスできるようにする情報が [[PulseAudio/サンプル#複数のユーザーが同時に PulseAudio を使えるようにする]]にあります。 |
||
− | ==== Office 2013 ==== |
||
− | Wine 2.0 以上であれば32ビット版が問題なく動作するはずです。詳しくは [https://appdb.winehq.org/objectManager.php?sClass=version&iId=26323 WineHQ のページ] を見てください。 |
||
− | + | === DXVK === |
|
+ | [https://github.com/doitsujin/dxvk DXVK] は [[Vulkan]] 上で DirectX 11 を実装する新しいプロジェクトです。パフォーマンスが向上するだけでなく、互換性が高まる場合もあります。例えば Battlefield 1 は DXVK でしか実行できません。ただし、DXVK は全ての Wine ゲームをサポートしているわけではありません。 |
||
− | 32ビット版の Office 2016 は動作します。詳しくは [https://appdb.winehq.org/objectManager.php?sClass=version&iId=34941 WineHQ のページ] を見てください。 |
||
+ | DXVK を使いたい場合、[[#Vulkan]] を使用するように Wine を設定してから、{{aur|dxvk-bin}} (公式バイナリ) または {{aur|dxvk-git}} (開発版) をインストールしてください。以下のコマンドを実行することで Wineprefix (デフォルトでは {{ic|~/.wine}}) で DXVK が有効になります: |
||
− | == サードパーティ製インターフェース == |
||
+ | $ WINEPREFX=''your-prefix'' setup_dxvk64 |
||
+ | 32ビットアプリケーションの場合は {{ic|setup_dxvk32}} を使ってください。 |
||
− | Wine フォーラムではサポートされていません、それぞれのホームページを見てください。 |
||
+ | {{warning|DXVK は DirectX 11 の DLL を上書きするため、オンラインのマルチプレイゲームではチートとして認識されてアカウントが ban される危険性があります。自己責任で使ってください。}} |
||
− | === CrossOver === |
||
+ | === Vulkan === |
||
− | [http://www.codeweavers.com/about/ CrossOver] については [[CrossOver]] を見て下さい。 |
||
+ | Wine 3.3 から [[Vulkan]] のサポートが含まれるようになっています。Wine Staging の古いバージョンの実装を置き換えます。現在のところ Vulkan は手動で設定が必要ですが、将来的には簡単に設定できるようになる予定です。Vulkan を設定する方法は [https://github.com/roderickc/wine-vulkan GitHub のページ] を見てください。 |
||
+ | == サードパーティ製アプリケーション == |
||
− | === PlayOnLinux/PlayOnMac === |
||
+ | 以下のアプリケーションは Wine コミュニティではサポートされていません。詳しくは [https://wiki.winehq.org/Third_Party_Applications Wine Wiki] を見てください。 |
||
− | [http://www.playonlinux.com/ PlayOnLinux] は Windows と DOS プログラムのグラフィカルマネージャです。プログラムを動かすための設定をアシストするスクリプトや、それぞれの実効ファイルにあった Wine のバージョンを(リグレッションのため)選択する機能があります。どの Wine のバージョンがプログラムに合っているか知るには、[https://appdb.winehq.org/ Wine Application Database] を見てください。{{Pkg|playonlinux}} は [[公式リポジトリ#%5bcommunity%5d|community]] リポジトリにあります。 |
||
+ | *{{App|[[CrossOver]]|有料・商用版の Wine。包括的なエンドユーザーサポートを提供しています。|{{AUR|crossover}}|https://www.codeweavers.com/}} |
||
− | {{Tip|PlayOnLinux は [[Bumblebee]] をサポートしています。POL コンソールを開いて {{ic|POL_Config_Write BEFORE_WINE optirun}} コマンドを入力してエンターを押してください。全てのアプリケーションが ''optirun'' で実行されるようになります。''optirun'' の代わりに ''primusrun'' を使うこともできます。}} |
||
+ | *{{App|exe-thumbnailer|Windows の実行ファイル (.exe, .lnk, .msi, .dll) のサムネイルを生成します。|{{AUR|exe-thumbnailer}}|https://github.com/exe-thumbnailer/exe-thumbnailer}} |
||
− | === PyWinery === |
||
+ | *{{App|Lutris|Wine のゲームから Linux ネイティブのゲーム、エミュレータまで、あらゆるゲームに対応するゲームランチャー (prefix の管理機能が存在します)。|{{AUR|lutris}}|https://lutris.net/}} |
||
− | [https://github.com/ergoithz/pywinery PyWinery] はグラフィカルでシンプルな wine-prefix マネージャで、アプリの起動と異なった prefix の設定の管理ができ、同じ prefix で winetricks を開くボタンや、prefix ディレクトリ・ {{ic|winecfg}} ・アプリケーションアンインストーラ・ wineDOS を開くボタンを備えています。AUR の {{AUR|pywinery}} パッケージからインストールできます。DirectX を使うゲームやオフィススイートなどアプリケーション毎に違う設定を使ったり環境を選びたいときに便利です。 |
||
+ | *{{App|PlayOnLinux|Windows と DOS プログラムのグラフィカルマネージャです。プログラムを動かすための設定をアシストするスクリプトや、それぞれの実効ファイルにあった Wine のバージョンを(リグレッションのため)選択する機能があります。|{{Pkg|playonlinux}}|https://www.playonlinux.com/}} |
||
− | {{ic|.exe}} を開くときはデフォルトで winetricks を使うことが推奨されています。wine 設定を選ぶことができるようになるからです。 |
||
+ | *{{App|PyWinery|グラフィカルでシンプルな wine-prefix マネージャ。DirectX を使うゲームやオフィススイートなどアプリケーション毎に違う設定を使ったり環境を選びたいときに便利です。|{{AUR|pywinery}}|https://github.com/ergoithz/pywinery}} |
||
− | === Q4wine === |
||
− | + | *{{App|Q4Wine|グラフィカルな wine-prefix マネージャ。[[Qt]] テーマを wine の設定に適用することで見た目を統合することができます。|{{AUR|q4wine}}|https://sourceforge.net/projects/q4wine/}} |
|
== 参照 == |
== 参照 == |
||
− | * [ |
+ | * [https://www.winehq.org/ Wine 公式ウェブサイト] |
− | * [https:// |
+ | * [https://wiki.winehq.org/ Wine Wiki] |
+ | * [https://appdb.winehq.org/ Wine アプリケーションデータベース (AppDB)] - Windows アプリケーション別の情報 (既知の問題、レーティング、ガイドなど) |
||
− | * [http://linuxgamingtoday.wordpress.com/2008/02/16/quick-tips-to-speed-up-your-gaming-in-wine/ Advanced configuring your gfx card and OpenGL settings on wine; Speed up wine] |
||
+ | * [https://forum.winehq.org/ Wine フォーラム] - FAQ や AppDB を見ても解決しない問題はここで尋ねましょう |
||
− | * [http://wiki.gotux.net/code:perl:fileinfo FileInfo] - Linux/Unix 環境で EXE/DLL/OCX ファイルの Win32 PE/COFF ヘッダを確認する。 |
2018年3月29日 (木) 23:56時点における版
Wine は Microsoft Windows のアプリケーションを UNIX ライクな OS で動かすための互換レイヤーです。プログラムの挙動が Windows と同じなので、エミュレータと違ってパフォーマンス低下がありません。より詳しい記述は プロジェクトの公式ページ や wiki を見てください。
目次
- 1 インストール
- 2 設定
- 3 Windows アプリケーションの動作
- 4 ヒントとテクニック
- 4.1 Wine コンソール
- 4.2 Winetricks
- 4.3 CSMT
- 4.4 Wine によるファイルの関連付けの解除
- 4.5 Wine によるファイルの関連付けを停止
- 4.6 異なる解像度でのデュアルスクリーン
- 4.7 言語の変更
- 4.8 Win16/Win32 バイナリのインタプリタとして Wine を使う
- 4.9 16ビットのプログラム
- 4.10 オプティカルメディアを焼く
- 4.11 オプティカルメディアイメージの正しいマウント
- 4.12 OpenGL モード
- 4.13 ゲーム内に FPS オーバーレイを表示
- 4.14 Microsoft Office
- 4.15 特別なユーザーアカウントで Wine を実行
- 4.16 DXVK
- 4.17 Vulkan
- 5 サードパーティ製アプリケーション
- 6 参照
インストール
Wine は wine (安定版) または wine-staging (テスト版) パッケージでインストールできます。Wine Staging は Wine にパッチが適用されたバージョンで、安定版ブランチにマージされていないバグフィックスや機能追加が含まれています (例: CSMT)。Wine をインストールするには先に Multilib リポジトリを有効にする必要があります。#サウンドも見てください。
Internet Explorer や .NET のサポートが必要なアプリケーションを使いたい場合、それぞれ wine_gecko と wine-mono をインストールしてください。Wine は必要なときに関連ファイルをダウンロードするので、これらのパッケージは厳密には必要ありません。しかし、先にファイルをダウンロードしておくことで、オフラインでも作業できるようになり Wine はそれぞれの WINEPREFIX が必要とするファイルをダウンロードしなくなります。
アーキテクチャの扱いの違い
x86_64 版の Wine は --enable-win64
オプションをつけてビルドされています。これは Wine の WoW64 を有効にします。
- ウィンドウズでは、このサブシステムによってユーザーは32ビットのプログラムと64ビットのプログラムを同じディレクトリで同時に使うことが可能です。
- Wine では32ビットのプログラムが64ビットのプレフィックスでは動作しないことがあり、そのような場合ユーザーはディレクトリを分ける必要があります。詳しくは Wine FAQ を見てください。
64ビット環境で winetricks
やプログラムに問題がでたときは新しい32ビットの WINEPREFIX
を作ってください。#WINEARCH の使用を参照。x86_64 の Wine と WINEARCH=win32
を使うことで i686 の Wine と同じ挙動をします。
設定
Wine の設定に使われるツール:
- winecfg は Wine の GUI 設定ツールです。コンソールから動かすことができます:
$ wine winecfg
または$ WINEPREFIX=~/.some_prefix wine winecfg
。 control.exe
は Windows のコントロールパネルを Wine で模したものです。使うには$ wine control
で起動します。- regedit は Wine 版のレジストリエディタです。winecfg やコントロールパネルでは充分でない場合に使います。詳しくは WineHQ のレジストリキーに関する記事 を見て下さい。
- Wine の完全なコマンドリストは WineHQ の List of Commands を見てください。
WINEPREFIX
デフォルトでは、Wine の設定ファイルとインストールされた Windows のプログラムは ~/.wine
に置かれます。このフォルダは通常 "Wine prefix" や "Wine bottle" と呼ばれます。Windows プログラムを動かしたり、Wine を設定するための winecfg
を動かすと自動的にフォルダが作成されます。そして Wine で動いているプログラムはこのフォルダの下のツリーを C:\
(C ドライブ) とみなします。
必要ならば WINEPREFIX
環境変数を設定することで、違うフォルダを指定することができます。これは Windows プログラムにそれぞれ違う設定をしたいときに便利です。初めて新しい Wine の prefix を使ってプログラムを起動した時、Wine は自動で C ドライブとレジストリの入ったディレクトリを作成します。
たとえば、$ env WINEPREFIX=~/.win-a wine program-a.exe
と $ env WINEPREFIX=~/.win-b wine program-b.exe
のようにプログラムを動かせば、2つのプログラムは別の C ドライブとレジストリを使います。
プログラムを動かしたり GUI ツールを使わずに Wine へフォルダを設定したいときは
$ env WINEPREFIX=~/.customprefix wineboot -u
で可能です。
WINEARCH の使用
Wine はデフォルトで 64 ビットの環境を作ります。この挙動は WINEARCH
環境変数を使うことで変更できます。あなたの ~/.wine
ディレクトリの名前を変更して新しい wine 環境を作って下さい:
$ WINEARCH=win32 winecfg
。これで 32 ビットの wine 環境が作られます。WINEARCH
を設定しないときは 64 ビット環境が作られます。
WINEPREFIX
を使うことで win32 環境と win64 環境を分割することができます:
$ WINEARCH=win32 WINEPREFIX=~/win32 winecfg $ WINEPREFIX=~/win64 winecfg
winetricks と WINEARCH
をひとつのコマンドで一緒に使うことで以下のように winetricks からインストールをさせることもできます (例: Steam):
env WINEARCH=win32 WINEPREFIX=~/.local/share/wineprefixes/steam winetricks steam
グラフィックドライバ
ゲームを動作させる時はほとんどの場合、パフォーマンスを出すためにグラフィックドライバが必要になります。基本的にプロプライエタリな NVIDIA や AMD Catalyst ドライバを使うべきですが、オープンソース radeon ドライバーも Wine の使用に耐えるほど成熟してきています。Intel ドライバは何も設定しなくとも問題なく動くはずです。
詳細は Gaming On Wine: The Good & Bad Graphics Drivers を参照してください。
ドライバが見つからなかったり作動していない時、Wine はターミナルに次のように表示します:
Direct rendering is disabled, most likely your OpenGL drivers have not been installed correctly
32ビットの [multilib] パッケージが必要です。Xorg#ドライバーのインストール にある表の Multilib パッケージに記載されているパッケージをインストールしてください。
サウンド
Wine を動かしたときに自動的にサウンド設定がなされますが、winecfg
で使うサウンドデバイスを選択することができます。
- x86_64 環境で Wine の Alsa ドライバを使いたいときは、lib32-alsa-lib と lib32-alsa-plugins をインストールする必要があります。
- Wine で PulseAudio を使いたいときは、lib32-libpulse パッケージをインストールしてください。
- OSS ドライバを Wine で使うためには、lib32-alsa-oss パッケージが必要です。カーネルに付属している OSS ドライバでは十分でありません。
- TESV: Skyrim など、より強力なサウンドシステムを使うゲームを動かすには lib32-openal のインストールが必要な場合もあります。
上記のパッケージをインストールしても winecfg
がオーディオドライバを見つけられない時 (Selected driver: (none)
) は、レジストリから設定してください。例えば、64ビットの標準の wine-1.9.7 で32ビットの Windows アプリケーションを使ったときにマイクが機能しない場合、次の手順でサウンドハードウェアにアクセスできるようになります: regedit を開いて HKEY_CURRENT_USER → Software → Wine → Drivers と進んで Audio という名前の文字列を追加して値を alsa に設定してください。また、プレフィックスを再作成することで解決するかもしれません。
MIDI サポート
90年代のビデオゲームでは音楽に MIDI を使うのが人気でした。古いゲームを動かすときは、設定をしないと音楽が再生できないのは珍しくありません。Wine には素晴らしい MIDI サポートがあります。ただし、最初に MIDI がシステムで動くように設定する必要があります。詳しくは MIDI を見てください。そして Wine が適切な MIDI 出力を使うように設定しなくてはなりません。
他のライブラリ
- いくつかのアプリケーション (Office 2003/2007 など) は HTML や XML をパースするための MSXML ライブラリが必要です。lib32-libxml2 をインストールしてください。
- 音楽を再生するアプリケーションには lib32-mpg123 が必要かもしれません。
- 色管理エンジンを使用するアプリケーション (例: PDF ビューア, 画像ビューアなど) には lib32-lcms2 が必要です。
- 画像編集アプリケーションに必要なライブラリがあります。lib32-giflib と lib32-libpng をインストールしてください。
- アプリケーションによっては暗号化サポートのため lib32-gnutls が必要です。
- 一部のアプリケーションは32ビットのビデオコーデックを必要とし、コーデックが存在しないとプログラムがクラッシュします。gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly, lib32-gst-plugins-base, lib32-gst-plugins-good, lib32-gst-plugins-badAUR, lib32-gst-plugins-uglyAUR などをインストールしてください。
フォント
Microsoft の Truetype フォントがインストールされてない場合、表示されるフォントが見づらいものになることがあります。MS フォントを参照してください。winetricks corefonts
をまず試してみて、それでもダメな場合、winetricks allfonts
を試してください。
その後、すべてのWineサーバーを終了して winecfg
を動かしてください。フォントが改善されているはずです。
フォントが不鮮明な場合、regedit を使って以下のようにレジストリを編集してください:
[HKEY_CURRENT_USER\Software\Wine\X11 Driver] "ClientSideWithRender"="N"
HiDPI ディスプレイを使っている場合、winecfg で DPI の値を調整できます。
フォント設定#fontconfig をサポートしていないアプリケーションも参照。
デスクトップランチャーメニュー
Windows アプリケーションランチャーによってショートカットが作成された場合、wine は .desktop
ファイルを作成します。Arch Linux ではデフォルトで以下の場所にファイルが作成されます:
- デスクトップショートカットは
~/Desktop
に保存されます。 - スタートメニューのショートカットは
~/.local/share/applications/wine/Programs/
に保存されます。
メニューエントリを作成
デフォルトでは Wine をインストールしても Wine に付属しているソフトウェア (例: winecfg
, winebrowser
, etc) のデスクトップメニューやアイコンは作られません。ここではこれらのアプリケーションのためのエントリを追加する方法を説明します。
まず、ベースメニューを作るために Wine で Windows プログラムをインストールします。ベースメニューが作られたら、~/.local/share/applications/wine/
に以下のファイルを作成してください:
wine-browsedrive.desktop
[Desktop Entry] Name=Browse C: Drive Comment=Browse your virtual C: drive Exec=wine winebrowser c: Terminal=false Type=Application Icon=folder-wine Categories=Wine;
wine-uninstaller.desktop
[Desktop Entry] Name=Uninstall Wine Software Comment=Uninstall Windows applications for Wine Exec=wine uninstaller Terminal=false Type=Application Icon=wine-uninstaller Categories=Wine;
wine-winecfg.desktop
[Desktop Entry] Name=Configure Wine Comment=Change application-specific and general Wine options Exec=winecfg Terminal=false Icon=wine-winecfg Type=Application Categories=Wine;
そして ~/.config/menus/applications-merged/
に次のファイルを作成してください:
wine.menu
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "https://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd"> <Menu> <Name>Applications</Name> <Menu> <Name>wine-wine</Name> <Directory>wine-wine.directory</Directory> <Include> <Category>Wine</Category> </Include> </Menu> </Menu>
以上の設定でアイコンが表示されない場合は、有効になっているアイコンセットにランチャーのためのアイコンが存在しないのが原因です。使いたいアイコンの位置を指定してアイコンの設定を置き換えてください。プロパティメニューのアイコンをクリックしても同じことができます。これらのショートカットをサポートしているアイコンセットは GNOME-colors です。
メニューエントリを削除する
Wine によって作成されるエントリは ~/.local/share/applications/wine/Programs/
にあります。プログラムの ".desktop" エントリを削除すればメニューからアプリケーションが削除されます。
Wine による不要な拡張を削除するのに加えて、以下のコマンドを実行 (Wine のウェブサイトより):
$ rm ~/.local/share/mime/packages/x-wine* $ rm ~/.local/share/applications/wine-extension* $ rm ~/.local/share/icons/hicolor/*/*/application-x-wine-extension* $ rm ~/.local/share/mime/application/x-wine-extension*
Mono と Gecko
新しい wineprefix を初期化したとき、Wine は Mono と Gecko のインストールを要求します。また、wine-mono と wine_gecko パッケージがインストールされている場合、wine は特に何もメッセージを表示せずに mono と gecko の 450MB 近いファイルを wineprefix にコピーします。
Wine によって Mono と Gecko がインストールされないようにしたい場合、以下のようにして wine を起動してください:
WINEDLLOVERRIDES=mscoree=d;mshtml=d wine somewineapp
印刷
win32 prefix で wine アプリケーション (例: MS Word) を使ってプリンター (ローカル・ネットワーク両方) を使用するには lib32-libcups パッケージをインストールしてください。それから wine を再起動 (wineboot) してください。
Windows アプリケーションの動作
Windows アプリケーションを動かす:
$ wine path_to_exe
MSI インストーラを使う場合 (msiexec ユーティリティを使用):
$ msiexec /i path_to_msi
ヒントとテクニック
Wine コンソール
.exe を実行してゲームファイルにパッチを適用する必要がある場合 (例えば古いゲームにワイドスクリーン対応 MOD を適用するなど)、通常の方法で Wine から .exe を実行しても何も起きないことがあります。その場合、ターミナルを開いて以下のコマンドを実行してください:
$ wineconsole cmd
コマンドラインが開くのでプログラムがあるフォルダまで移動して、.exe プログラムを実行してください。
Winetricks
Winetricks は Windows プログラムを動かすために必要なランタイムなどをインストールするためのスクリプトです。DirectX 9.x や MSXML (Microsoft Office 2007 や Internet Explorer で必要)、Visual ランタイムライブラリなどをインストールできます。
使うには pacman から winetricks をインストールしたり、AUR の winetricks-gitAUR パッケージをインストールしてください。次のコマンドで動きます:
$ winetricks
CSMT
CSMT は OpenGL コールに対して特別なスレッドを使うことでパフォーマンスを著しく向上させる技術で、Wine によって使われています。Wine 3.3 から CSMT はデフォルトで有効になっています。ただし 3.3 以前の Wine では CSMT のサポートを手動で有効にする必要があります。通常の Wine の場合、wine regedit
を実行して HKEY_CURRENT_USER -> Software > Wine > Direct3D > csmt で DWORD の値を 0x01 (有効) に設定してください。wine-staging の場合、winecfg
を起動して staging タブで有効にしてください。
詳細:
- CSMT の開発者 Stefan Dösinger による Phoronix Forum の議論
Wine によるファイルの関連付けの解除
デフォルトで、大量のフォーマットで Wine はデフォルトアプリケーションとして設定されます。Windows にしかないフォーマットもあり (例: vbs
や chm
)、その場合 Wine で開けるようになるのは便利かもしれません。しかしながら、他のフォーマット (例: gif
, jpeg
, txt
, js
) が Wine の素っ気ない Internet Explorer やメモ帳で開かれるのは迷惑と感じることもあるでしょう。
Wine のファイルの関連付けは ~/.local/share/applications/
にある {{ic|wine-extension-{extension}.desktop}} というファイルによって設定されます。関連付けを解除したい拡張子の名前が入っているファイルを削除してください。もしくは、Wine の関連付けを全て削除したい場合:
$ rm -f ~/.local/share/applications/wine-extension*.desktop $ rm -f ~/.local/share/icons/hicolor/*/*/application-x-wine-extension*
古いキャッシュを削除:
$ rm -f ~/.local/share/applications/mimeinfo.cache $ rm -f ~/.local/share/mime/packages/x-wine* $ rm -f ~/.local/share/mime/application/x-wine-extension*
キャッシュをアップデート:
$ update-desktop-database ~/.local/share/applications $ update-mime-database ~/.local/share/mime/
もしくは wine に関連するキャッシュだけを削除することもできます:
$ find ~/.local/share -name "*wine*" | xargs --no-run-if-empty rm -r
その後、上述のようにキャッシュをアップデートしてください。
削除しても、アプリケーションによってファイルの関連付けが設定されたら、Wine はファイルの関連付けを作成し続けます。
Wine によるファイルの関連付けを停止
関連付けを作成しないように設定するには、レジストリを編集してください:
associations.reg
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices] "winemenubuilder"="C:\\windows\\system32\\winemenubuilder.exe -r"
上記を Wine のレジストリに追加してください。wine regedit associations.reg
を実行するか、wine regedit
を起動してメニューの Registry > Import Registry File からインポートすることで追加できます。
ファイルの関連付けを更新したくない全ての WINEPREFIX で上記を設定してください。
以下の環境変数を設定することで全ての WINEPREFIX で winemenubuilder を無効化することが可能です:
$ export WINEDLLOVERRIDES="winemenubuilder.exe=d"
異なる解像度でのデュアルスクリーン
デュアルヘッドの設定でディスプレイの解像度が異なったときに問題が起きる場合はおそらく lib32-libxrandr をインストールしていません。
lib32-libxinerama をインストールすることでも wine のデュアルスクリーンの問題が解決することがあります。
言語の変更
いくつかのプログラムには言語の選択がなく、システムのロケールを使用する言語として扱います。Wine は (ロケールを含む) 現在の環境をアプリケーションにわたすので、設定をしなくとも問題なく動くはずです。プログラムを (システムで生成した) 特定のロケールで動くように強制したい場合は、次の設定を使って Wine を呼び出して下さい:
$ LC_ALL=xx_XX.encoding wine /path/to/program
例:
$ LC_ALL=ja_JP.UTF-8 wine /path/to/program
Win16/Win32 バイナリのインタプリタとして Wine を使う
wine を全ての Win16/32 バイナリのインタプリタとして使うようにすることもできます:
# echo ':DOSWin:M::MZ::/usr/bin/wine:' > /proc/sys/fs/binfmt_misc/register
設定を永続的にするには、以下の内容で /etc/binfmt.d/wine.conf
ファイルを作って下さい:
/etc/binfmt.d/wine.conf
# Start WINE on Windows executables :DOSWin:M::MZ::/usr/bin/wine:
systemd は proc-sys-fs-binfmt_misc.mount
を使って自動で /proc/sys/fs/binfmt_misc
ファイルシステムをマウントし、systemd-binfmt.service
を実行して設定をロードします。
Windows プログラムを実行するには:
$ chmod +x exefile.exe $ ./exefile.exe
これで exefile.exe が動作するはずです。
16ビットのプログラム
古い Windows 9x のプログラムを実行すると、以下のエラーが表示されることがあります:
modify_ldt: Invalid argument err:winediag:build_module Failed to create module for "krnl386.exe", 16-bit LDT support may be missing. err:module:attach_process_dlls "krnl386.exe16" failed to initialize, aborting
Wine で16ビットのプログラムを実行するには、カスタムカーネルをコンパイル・インストールする必要があります (FS#57408 を参照)。カーネルコンフィグで以下のオプションが必要です:
CONFIG_X86_16BIT=y CONFIG_X86_ESPFIX64=y CONFIG_MODIFY_LDT_SYSCALL=y
オプティカルメディアを焼く
CD や DVD を焼くためには、sg
カーネルモジュールをロードする必要があります。
オプティカルメディアイメージの正しいマウント
いくつかのアプリケーションはオプティカルメディアがドライブにあるかの確認をします。ほとんどはデータの確認だけなので、winecfg
で CD-ROM ドライブのパスを正しく設定すれば問題ありません。
しかし、アプリケーションによってはメディアの名前やシリアルナンバーを確認するので、イメージを特別なプロパティを使ってマウントする必要があります。
fuse ベースの仮想ドライブ (例えば Acetoneiso) など、仮想ドライブツールはこれらのメタデータを扱えないことがあります。CDEmu は適切にこれを処理します。
OpenGL モード
多くのゲームには OpenGL モードがあり多くの場合デフォルトの DirectX モードより良いパフォーマンスが出ます。OpenGL レンダリングを有効にする方法はそれぞれのアプリケーションによる一方、多くのゲームは -opengl
パラメータを認識します。
$ wine /path/to/3d_game.exe -opengl
詳しい情報は、それぞれのアプリケーションのドキュメントや Wine の AppDB を見てください。
ゲーム内に FPS オーバーレイを表示
Wine には全てのグラフィカルアプリケーションで使える FPS モニター機能があります。環境変数 WINEDEBUG=fps
を設定してください。FPS は標準出力にアウトプットされます。xosd パッケージの osd_cat
を使うことでウィンドウ上に FPS を表示することが可能です。ヘルパースクリプト winefps.sh を見てください。
Microsoft Office
wine-mono wine_gecko samba lib32-libxml2 パッケージをインストールしてください。
詳しくは Wine AppDB のページ を見てください。
特別なユーザーアカウントで Wine を実行
別のユーザーアカウントで Wine を実行することで、Windows アプリケーションからホームディレクトリにアクセスできてしまうという懸念を減らすことができます。
まず Wine 用のユーザーアカウントを作成:
# useradd -m -s /bin/bash wineuser
新しいユーザーアカウントを使って Wine アプリケーションを開けるようにするために、X サーバーのパーミッションリストに新しいユーザーを追加してください:
$ xhost +SI:localuser:wineuser
以下のコマンドを使って Wine を実行することができます (env
を使用して Wine の起動する環境を設定します):
$ sudo -u wineuser env HOME=/home/wineuser USER=wineuser USERNAME=wineuser LOGNAME=wineuser wine arguments
以下のようにシェルスクリプトを使って Wine による Windows アプリケーションの実行を自動化できます:
/usr/local/bin/runaswine
#!/bin/bash xhost +SI:localuser:wineuser sudo -u wineuser env HOME=/home/wineuser USER=wineuser USERNAME=wineuser LOGNAME=wineuser wine "$@"
シェルスクリプトを保存したら、以下のようにして Wine アプリケーションを起動できます:
$ runaswine "C:\path\to\application.exe"
Wine を実行するたびにパスワードが要求されないようにしたい場合、sudoers ファイルに次のエントリを追加してください: mainuser ALL=(wineuser) NOPASSWD: ALL
。詳しくは Sudo#設定を参照。
winecfg
を Wine ユーザーで起動して、「デスクトップ統合」タブから Wine ユーザーのホームディレクトリ以外のディレクトリのバインドを全て削除することを推奨します (Wine によって起動したプログラムが Wine ユーザーのホームディレクトリの外のファイルにアクセスできないようにするため)。
PulseAudio を使用している場合、Wine プログラムで音が鳴らなくなってしまいます。他のユーザーの PulseAudio デーモンに Wine ユーザーからアクセスできるようにする情報が PulseAudio/サンプル#複数のユーザーが同時に PulseAudio を使えるようにするにあります。
DXVK
DXVK は Vulkan 上で DirectX 11 を実装する新しいプロジェクトです。パフォーマンスが向上するだけでなく、互換性が高まる場合もあります。例えば Battlefield 1 は DXVK でしか実行できません。ただし、DXVK は全ての Wine ゲームをサポートしているわけではありません。
DXVK を使いたい場合、#Vulkan を使用するように Wine を設定してから、dxvk-binAUR (公式バイナリ) または dxvk-gitAUR (開発版) をインストールしてください。以下のコマンドを実行することで Wineprefix (デフォルトでは ~/.wine
) で DXVK が有効になります:
$ WINEPREFX=your-prefix setup_dxvk64
32ビットアプリケーションの場合は setup_dxvk32
を使ってください。
Vulkan
Wine 3.3 から Vulkan のサポートが含まれるようになっています。Wine Staging の古いバージョンの実装を置き換えます。現在のところ Vulkan は手動で設定が必要ですが、将来的には簡単に設定できるようになる予定です。Vulkan を設定する方法は GitHub のページ を見てください。
サードパーティ製アプリケーション
以下のアプリケーションは Wine コミュニティではサポートされていません。詳しくは Wine Wiki を見てください。
- CrossOver — 有料・商用版の Wine。包括的なエンドユーザーサポートを提供しています。
- exe-thumbnailer — Windows の実行ファイル (.exe, .lnk, .msi, .dll) のサムネイルを生成します。
- Lutris — Wine のゲームから Linux ネイティブのゲーム、エミュレータまで、あらゆるゲームに対応するゲームランチャー (prefix の管理機能が存在します)。
- lutrisAUR || https://lutris.net/
- PlayOnLinux — Windows と DOS プログラムのグラフィカルマネージャです。プログラムを動かすための設定をアシストするスクリプトや、それぞれの実効ファイルにあった Wine のバージョンを(リグレッションのため)選択する機能があります。
- PyWinery — グラフィカルでシンプルな wine-prefix マネージャ。DirectX を使うゲームやオフィススイートなどアプリケーション毎に違う設定を使ったり環境を選びたいときに便利です。
- Q4Wine — グラフィカルな wine-prefix マネージャ。Qt テーマを wine の設定に適用することで見た目を統合することができます。
参照
- Wine 公式ウェブサイト
- Wine Wiki
- Wine アプリケーションデータベース (AppDB) - Windows アプリケーション別の情報 (既知の問題、レーティング、ガイドなど)
- Wine フォーラム - FAQ や AppDB を見ても解決しない問題はここで尋ねましょう