「Wine」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(Pkg/AUR テンプレートの更新)
(同期)
 
(6人の利用者による、間の51版が非表示)
1行目: 1行目:
[[Category:Wine]]
+
[[Category:エミュレーション]]
[[cs:Wine]]
+
[[Category:ゲーム]]
 
[[de:Wine]]
 
[[de:Wine]]
 
[[en:Wine]]
 
[[en:Wine]]
[[es:Wine]]
 
 
[[fr:Wine]]
 
[[fr:Wine]]
[[it:Wine]]
 
 
[[ru:Wine]]
 
[[ru:Wine]]
 
[[zh-hans:Wine]]
 
[[zh-hans:Wine]]
[[zh-hant:Wine]]
 
 
{{Related articles start}}
 
{{Related articles start}}
{{Related|Steam/Wine}}
 
 
{{Related|CrossOver}}
 
{{Related|CrossOver}}
  +
{{Related|Deepin-wine}}
 
{{Related|Wine パッケージガイドライン}}
 
{{Related|Wine パッケージガイドライン}}
 
{{Related articles end}}
 
{{Related articles end}}
[[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 で動かすための ''互換レイヤー'' です。Wine で実行されるプログラム、エミュレータにあるようなパフォーマンスやメモリのペナルティなに、ネイティブプログラムと同じように機能します
  +
  +
{{Warning|
  +
* Wine はシステムから分離されていません。
  +
* ユーザーアカウントでファイルまたはリソースにアクセスできる場合は、Wine で実行されているプログラムもそれらにアクセスできます。[[#Wine を別のユーザアカウントで実行する]] と [[セキュリティ#アプリケーションのサンドボックス化]] を参照してください。
  +
* Wine はマルウェアを実行することもできます ([https://wiki.winehq.org/FAQ#Is_Wine_malware-compatible.3F Wine FAQ on Malware compatibility] を参照)。}}
   
 
== インストール ==
 
== インストール ==
   
  +
[[multilib]] リポジトリを有効にし、{{Pkg|wine}} (開発版)、{{AUR|wine-stable}} (安定版)、{{Pkg|wine-staging}} (テスト版) のどれかをインストールすることで、Wine を利用できます。[https://wine-staging.com/ Wine Staging] は [https://www.winehq.org/ Wine] にパッチが適用されたバージョンで、安定ブランチや開発ブランチにマージされていないバグフィックスや機能追加が含まれています。
{{Warning| 一般ユーザーからアクセスできるファイルには、Wine で動かしているプログラムからもアクセスできます。Wine の prefix は[[wikipedia:ja:サンドボックス (セキュリティ)|サンドボックス]]ではありません。セキュリティを確保したいときは[[wikipedia:ja:仮想化|仮想化]]を使用してください。}}
 
   
  +
{{Note|[[multilib]] リポジトリを有効化したくない場合や、追加の 32 ビットライブラリをインストールしたくない場合、{{AUR|wine-wow64}} パッケージや {{AUR|wine-staging-wow64}} パッケージを代わりに使うことができます。これらは、64 ビット Linux ライブラリのみを使用しており、32 ビット Windows アプリケーションを実行するための "新しい WoW64 モード" 付きでビルドされています。ただし、このモードのサポートは現在実験的です。[https://gitlab.winehq.org/wine/wine/-/releases/wine-9.0]}}
Wine は {{Pkg|wine}} (安定版) または {{Pkg|wine-staging}} (テスト版) パッケージでインストールできます。[https://wine-staging.com/ Wine Staging] は [https://www.winehq.org/ Wine] にパッチが適用されたバージョンで、安定版ブランチにマージされていないバグフィックスや機能追加が含まれています (例: [[#CSMT パッチ|CSMT パッチ]])。64ビット環境の場合、Wine をインストールするには先に [[Multilib]] リポジトリを有効にする必要があります。[[#サウンド]]も見てください。
 
   
  +
その他の要件については [[#グラフィックドライバ]] と [[#サウンド]] も見てください。
Internet Explorer や .NET のサポートが必要なアプリケーションを使いたい場合、それぞれ {{pkg|wine_gecko}} と {{pkg|wine-mono}} をインストールしてください。Wine は必要なときに関連ファイルをダウンロードするので、これらのパッケージは厳密には必要ありません。しかし、先にファイルをダウンロードしておくことで、オフラインでも作業できるようになり Wine はそれぞれの WINEPREFIX が必要とするファイルをダウンロードしなくなります。
 
   
  +
Internet Explorer や .NET に依存しているアプリケーションを使う場合、それぞれ {{pkg|wine-gecko}} と {{pkg|wine-mono}} をインストールしてください。Wine は必要なときに関連ファイルをダウンロードするので、これらのパッケージは厳密には必要ありません。しかし、[[システムメンテナンス#パッケージマネージャーを使用してソフトウェアをインストールする|これらのパッケージは pacman で管理]]べきです 。
'''アーキテクチャの扱いの違い'''
 
   
  +
=== 任意の依存パッケージ ===
i686 リポジトリにある Wine は32ビットアプリケーションであり、64ビットの Windows アプリケーションを動かすことはできません。
 
   
  +
{{Tip|一般的な依存パッケージ (特にゲーム関連) は [https://github.com/lutris/docs/blob/master/WineDependencies.md#archendeavourosmanjaroother-arch-derivatives lutris のドキュメント]にリストアップされています。}}
x86_64 版の Wine は {{ic|--enable-win64}} オプションをつけてビルドされています。これは Wine の [[Wikipedia:ja:WOW64|WoW64]] を有効にします。
 
*ウィンドウズでは、このサブシステムによってユーザーは32ビットのプログラムと64ビットのプログラムを同じディレクトリで同時に使うことが可能です。
 
*Wine では32ビットのプログラムが64ビットのプレフィックスでは動作しないことがあり、そのような場合ユーザーはディレクトリを分ける必要があります。詳しくは [https://wiki.winehq.org/FAQ#How_do_I_create_a_32_bit_wineprefix_on_a_64_bit_system.3F Wine FAQ] を見てください。
 
   
  +
Wine には、基本的なアプリケーションでは必要ないが、サウンド、3D グラフィックス、動画再生などを提供するためにインストールする必要がある[[任意の依存パッケージ]]が多くあります。
64ビット環境で {{ic|winetricks}} やプログラムに問題がでたときは新しい32ビットの {{ic|WINEPREFIX}} を作ってください。[[#WINEARCH の使用]]を参照。x86_64 の Wine と {{ic|1=WINEARCH=win32}} を使うことで i686 の Wine と同じ挙動をします。
 
   
  +
多くの Windows アプリケーションは 32 ビットであり、32 ビット版のライブラリが必要であることに注意してください。これらのライブラリの一部は [[AUR]] でしか入手できません。標準 (64 ビット) のライブラリは、64 ビットアプリケーションに対して、または、新しい WoW64 モード ([[#インストール]] 章のノートを参照) のある Wine バージョンを実行している場合は全てのアプリケーションに対して使用することができます。Windows 実行ファイルが 64 ビットであるかどうかは、{{man|1|file}} コマンドで確認することができます。
== 設定 ==
 
   
  +
==== グラフィックドライバ ====
Wine の設定に使われるツール:
 
* [https://wiki.winehq.org/Winecfg winecfg] は Wine の GUI 設定ツールです。コンソールから動かすことができます: {{ic|$ wine winecfg}} または {{ic|1=$ WINEPREFIX=~/.some_prefix wine winecfg}}。
 
* {{ic|control.exe}} は Windows のコントロールパネルを Wine で模したものです。使うには {{ic|$ wine control}}。
 
* [https://wiki.winehq.org/FAQ#How_do_I_edit_the_Wine_registry.3F regedit] は Wine 版のレジストリエディタです。winecfg やコントロールパネルでは充分でない場合に使います。詳しくは [https://wiki.winehq.org/Useful_Registry_Keys WineHQ のレジストリキーに関する記事] を見て下さい。
 
* Wine の完全なコマンドリストは WineHQ の [https://wiki.winehq.org/List_of_Commands List of Commands] を見てください。
 
   
  +
グラフィックドライバの32ビットバージョンをインストールする必要があります。[[Xorg#ドライバーのインストール]] にある表の ''OpenGL (multilib)'' 列に載っているパッケージをインストールしてください。
=== WINEPREFIX ===
 
   
  +
Wine がターミナルウィンドウに以下のようなメッセージを出力する場合、ドライバが不適切であるか正しく設定されていないことの印です:
デフォルトでは、Wine の設定ファイルとインストールされた Windows のプログラムは {{ic|~/.wine}} に置かれます。このフォルダは通常 "Wine prefix" や "Wine bottle" と呼ばれます。Windows プログラムを動かしたり、Wine を設定するための {{ic|winecfg}} を動かすと自動的にフォルダが作成されます。そして Wine で動いているプログラムはこのフォルダの下のツリーを {{ic|C:\}} (C ドライブ) とみなします。
 
   
  +
Direct rendering is disabled, most likely your OpenGL drivers have not been installed correctly
必要ならば {{ic|WINEPREFIX}} 環境変数を設定することで、違うフォルダを指定することができます。これは Windows プログラムにそれぞれ違う設定をしたいときに便利です。初めて新しい Wine の prefix を使ってプログラムを起動した時、Wine は自動で C ドライブとレジストリの入ったディレクトリを作成します。
 
   
  +
{{Note|適切なライブラリをインストールした後は X を再起動する必要があるかもしれません。}}
たとえば、{{ic|1= $ env WINEPREFIX=~/.win-a wine program-a.exe}} と {{ic|1= $ env WINEPREFIX=~/.win-b wine program-b.exe}} のようにプログラムを動かせば、2つのプログラムは別の C ドライブとレジストリを使います。
 
   
  +
==== サウンド ====
{{Note|Wine の prefix はサンドボックスではありません!Wine で動いているプログラムはシステムの全てにアクセスすることが可能です (例えば、Wine の prefix に関係なく、{{ic|Z:}} は {{ic|/}} にマッピングされます)。}}
 
   
  +
デフォルトの状態では、Wine アプリケーションを実行する際にサウンドの問題が発生する場合があります。''winecfg'' でサウンドデバイスが1つだけ選択されていることを確認してください。
プログラムを動かしたり GUI ツールを使わずに Wine へフォルダを設定したいときは
 
$ env WINEPREFIX=~/.customprefix wineboot -u
 
で可能です。
 
   
  +
あなたが使いたいオーディオドライバの正しいパッケージをインストールしてください:
=== WINEARCH の使用 ===
 
   
  +
* [[ALSA]] の場合、{{Pkg|lib32-alsa-lib}} と {{Pkg|lib32-alsa-plugins}} をインストールしてください
64 ビット環境を使っている場合、Wine はデフォルトで 64 ビットの環境を作ります。この挙動は {{ic|WINEARCH}} 環境変数を使うことで変更できます。あなたの {{ic|~/.wine}} ディレクトリの名前を変更して新しい wine 環境を作って下さい:
 
  +
* [[PulseAudio]] の場合、{{Pkg|lib32-libpulse}} をインストールしてください
{{ic |1=$ WINEARCH=win32 winecfg}}。これで 32 ビットの wine 環境が作られます。{{ic|WINEARCH}} を設定しないときは 64 ビット環境が作られます。
 
  +
* [[PipeWire]] の場合、{{Pkg|lib32-pipewire}} と、以下のどれかをインストールしてください:
  +
** PulseAudio をフロントエンドとして使用するには {{Pkg|pipewire-pulse}} と {{Pkg|lib32-libpulse}}。
  +
** ALSA をフロントエンドとして使用するには {{Pkg|pipewire-alsa}}、{{Pkg|lib32-alsa-lib}}、{{Pkg|lib32-alsa-plugins}}。
  +
* [[OSS]] の場合、{{Pkg|lib32-alsa-oss}} をインストールしてください
   
  +
上記のパッケージをインストールしても''なお''、''winecfg'' がオーディオドライバを見つけられない時 (Selected driver: (none)) は、[https://wiki.winehq.org/Wine_User's_Guide#Using_Regedit レジストリから設定してください]。例えば、64ビットの標準の wine-1.9.7 で32ビットの Windows アプリケーションを使ったときにマイクが機能しない場合、次の手順でサウンドハードウェア (サウンドプレイバックとマイク) にアクセスできるようになります: ''regedit'' を開いて ''HKEY_CURRENT_USER > Software > Wine > Drivers'' と進んで ''Audio'' という名前の文字列を追加して値を ''alsa'' に設定してください。また、[[#WINEPREFIX|prefix を再作成]]することで解決するかもしれません。
{{ic|WINEPREFIX}} を使うことで win32 環境と win64 環境を分割することができます:
 
$ WINEARCH=win32 WINEPREFIX=~/win32 winecfg
 
$ WINEPREFIX=~/win64 winecfg
 
   
  +
===== MIDI サポート =====
{{Note|prefix の作成で、wine の64ビット版は全てのフォルダを64ビットの prefix として扱い既存のフォルダに32ビットを作成しません。32ビットの prefix を作成するには {{ic|WINEPREFIX}} で指定したフォルダを作るように wine に指示を出す必要があります。}}
 
   
  +
90年代のビデオゲームでは音楽に [[MIDI]] を使うのが人気でした。古いゲームを動かすときは、設定をしないと音楽が再生できないのは珍しくありません。
winetricks と {{ic|WINEARCH}} をひとつのコマンドで一緒に使うことで以下のように winetricks からインストールをさせることもできます (例: Steam):
 
  +
Wine には素晴らしい MIDI サポートがあります。ただし、最初に MIDI がシステムで動くように設定する必要があります。詳しくは [[MIDI]] を見てください。そして Wine が適切な MIDI 出力を使うように設定しなくてはなりません。
env WINEARCH=win32 WINEPREFIX=~/.local/share/wineprefixes/steam winetricks steam
 
{{Tip|[[Bash#シェルと環境変数|~/.bashrc]] を使うことで {{ic|WINEPREFIX}} や {{ic|WINEARCH}} をコマンド毎に指定する必要をなくせます。}}
 
{{Note|{{ic|wineprefixes}} ディレクトリに steam サブディレクトリを作成していないと、自動で作成されます。詳しくは下の Bottles セクションを見て下さい。}}
 
   
=== グラフィクドライバ ===
+
==== 他の依存パケージ ====
   
  +
一部のアプリケーションは追加のパッケージを必要とします [https://wiki.winehq.org/Building_Wine#Satisfying_Build_Dependencies]。
ゲームを動作させる時はほとんどの場合、パフォーマンスを出すためにグラフィックドライバが必要になります。基本的にプロプライエタリな [[NVIDIA]] や [[ATI|AMD Catalyst]] ドライバを使うべきですが、オープンソース [[ATI|radeon]] ドライバーも Wine の使用に耐えるほど成熟してきています。[[Intel Graphics|Intel]] ドライバは何も設定しなくとも問題なく動くはずです。
 
   
  +
* 暗号化サポートは、{{Pkg|lib32-gnutls}} をインストールしてください。
詳細は [http://www.phoronix.com/scan.php?page=news_item&px=MTI5NjU Gaming On Wine: The Good & Bad Graphics Drivers] を参照してください。
 
  +
* 32ビットの prefix におけるジョイスティックとゲームパッドのサポートは、{{Pkg|lib32-sdl2}} をインストールしてください。
  +
* 32ビットプログラムでのメディアプレイバックは、{{Pkg|lib32-gst-plugins-base}}、{{Pkg|lib32-gst-plugins-good}}、{{Aur|lib32-gst-plugins-bad}}、{{Aur|lib32-gst-plugins-ugly}}、{{Aur|lib32-gst-libav}} をインストールしてください。
  +
* [[Wikipedia:ja:NTLM|NTLM]] 認証は、{{Pkg|samba}} をインストールしてください。
   
  +
=== Prefix 内の依存パッケージ ===
ドライバが見つからなかったり作動していない時、Wine はターミナルに次のように表示します:
 
Direct rendering is disabled, most likely your OpenGL drivers have not been installed correctly
 
   
  +
システムの依存パッケージとは別に、多くのプログラムは追加のフォントや DLL が Wine prefix にインストールされていることを要求します [https://wiki.winehq.org/FAQ#My_application_says_some_DLL_or_font_is_missing._What_do_I_do?]。これらの依存関係は、[https://github.com/Winetricks/winetricks Winetricks] を使うことでインストールすることができます。Winetricks はシンプルなパッケージマネージャで、何かをインストールしたり、設定の調整を行ったりする ''verb'' が用意されています。Winetricks には2つの使い方があります:
x86-64 環境では、32ビットの [multilib] パッケージが必要です。[[Xorg#ドライバーのインストール]] にある表の ''Multilib パッケージ''に記載されているパッケージをインストールしてください。
 
   
  +
* CLI から: {{ic|winetricks ''verb_name''}} を実行する。
{{Note|ライブラリをインストールしたあと、X を再起動する必要があるかもしれません。}}
 
  +
* GUI から: {{Pkg|zenity}} か {{Pkg|kdialog}} をインストールし、{{ic|winetricks}} を実行する。
   
  +
依存パッケージ間の衝突により、何でもできる "完璧な" Windows 環境を構築することができない場合があります [https://github.com/Winetricks/winetricks/issues/1580#issuecomment-666604256] [https://github.com/Winetricks/winetricks/issues/469]。そうするよりも、(重要な設定やデータが存在しない限り) prefix を使い捨てにして、異なる依存パッケージを必要とするプログラム毎に個別の prefix を使用するほうが良いです。[[#WINEPREFIX]] 環境変数を使うことで、どの prefix に対して verb を実行するかを指定することができます。
=== サウンド ===
 
   
  +
プログラムが必要とする verb を知るには、多くのトライアンドエラーが必要になる可能性があります。一部のより一般的な依存パッケージは [https://usebottles.com/database/dependencies/ Bottles の依存関係ページ]を、また以下のプログラム固有のリソースを参照してください:
Wine を動かしたときに自動的にサウンド設定がなされますが、{{ic|winecfg}} で使うサウンドデバイスを選択することができます。いまのところ、[[Advanced Linux Sound Architecture|Alsa]] ドライバが一番安定しています。
 
   
  +
* [https://appdb.winehq.org/ Wine Application Database]: 公式のリソースですが、古く、他のものと比べてメンテナンスされていないかもしれません。
* x86_64 環境で Wine の Alsa ドライバを使いたいときは、{{Pkg|lib32-alsa-lib}} と {{Pkg|lib32-alsa-plugins}} をインストールする必要があります。
 
  +
* [https://lutris.net/ Lutris のウェブサイト]。このサイトで扱われているゲームを実行しようとしているならば、ドロップダウンメニューをクリックして、''View install script'' をクリックすることで Lutris で使用されている Winetricks の verb を見ることができます。
* Wine で [[PulseAudio]] を使いたいときは、{{Pkg|lib32-libpulse}} パッケージをインストールしてください。
 
  +
* [https://github.com/bottlesdevs/programs Bottles のプログラムリポジトリ]。小さいですが、ゲーム以外もあります。
* [[OSS]] ドライバを Wine で使うためには、{{Pkg|lib32-alsa-oss}} パッケージが必要です。カーネルに付属している OSS ドライバでは十分でありません。
 
  +
* [https://www.protondb.com/ ProtonDB]。Proton は Wine とは異なる互換性があります (それに加え、このサイトを見るなら単に Proton を使うほうが良いかもしれません)。しかし、ユーザーが書き込んだ verb は使えるかもしれません。
  +
** また、[https://github.com/GloriousEggroll/proton-ge-custom proton-ge-custom] に同梱されている変化の速い [https://github.com/Open-Wine-Components/ULWGL-protonfixes/ protonfixes] ツールのソースを参照することもできます。しかし、このツールはゲームを修正する追加の Proton と GE のパッチが存在していることを想定しています。
   
  +
ゲームの prefix を管理するのに多くの時間が掛かる場合は、prefix を管理してくれるサードパーティのアプリケーションを使う方が簡単かもしれません。
上記のパッケージをインストールしても {{ic|winecfg}} がオーディオドライバを見つけられない時 ({{ic|Selected driver: (none)}}) は、[https://www.winehq.org/docs/wineusr-guide/using-regedit#Configuring_Sound レジストリから設定してください]。例えば、64ビットの標準の wine-1.9.7 で32ビットの Windows アプリケーションを使ったときにマイクが機能しない場合、次の手順でサウンドハードウェアにアクセスできるようになります: ''regedit'' を開いて HKEY_CURRENT_USER → Software → Wine → Drivers と進んで ''Audio'' という名前の文字列を追加して値を ''alsa'' に設定してください。また、Arch Linux が64ビットの場合、[[#WINEARCH の使用|プレフィックスを再作成]]することで解決するかもしれません。
 
   
  +
=== サードパーティ製アプリケーション ===
より強力なサウンドシステムを使うゲームには {{Pkg|lib32-openal}} のインストールが必要な場合もあります。
 
   
  +
以下のアプリケーションは、独自のコミュニティーとウェブサイトを持っており、メインの Wine コミュニティによって '''サポートされていません'''。詳しくは [https://wiki.winehq.org/Third_Party_Applications Wine Wiki] を見てください。
==== MIDI サポート ====
 
   
  +
* {{App|[[Bottles]]|Wine 用のグラフィカルな prefix マネージャであり、ランナーマネージャ。GTK ベース。|https://usebottles.com/|{{AUR|bottles}}}}
90年代のビデオゲームでは音楽に [[MIDI]] を使うのが人気でした。古いゲームを動かすときは、設定をしないと音楽が再生できないのは珍しくありません。Wine には素晴らしい MIDI サポートがあります。ただし、最初に MIDI がシステムで動くように設定する必要があります。詳しくは [[MIDI]] を見てください。そして Wine が適切な MIDI 出力を使うように設定しなくてはなりません。
 
  +
* {{App|[[CrossOver]]|公式の商用版 Wine。グラフィカルなインターフェイスと包括的なエンドユーザーサポートを提供しています。|https://www.codeweavers.com|{{AUR|crossover}}}}
  +
* {{App|[[Wikipedia:Lutris|Lutris]]|Wine のゲームから Linux ネイティブのゲーム、エミュレータまで、あらゆるゲームに対応するゲームランチャー (prefix の管理機能が存在します)。|https://lutris.net|{{Pkg|lutris}}}}
  +
* {{App|[[Wikipedia:PlayOnLinux|PlayOnLinux]]|Wine のグラフィカルな prefix マネージャです。プログラムのインストールと設定を支援するスクリプトが含まれています。|https://www.playonlinux.com|{{AUR|playonlinux}}}}
  +
* {{App|[[Proton]]|[[Steam]] のために作成された互換ツール。Wine と追加のコンポーネントをベースとしています。互換性のリストは [https://www.protondb.com/ ProtonDB] を見てください。|https://github.com/ValveSoftware/Proton|{{AUR|proton}}}}
  +
* {{App|PyWinery|シンプルでグラフィカルな Wine 用の prefix マネージャ。|https://github.com/ergoithz/pywinery|{{AUR|pywinery}}}}
  +
* {{App|Q4Wine|Wine のグラフィカルな prefix マネージャ。[[Qt]] テーマを Wine の設定に適用することで見た目を統合することができます。|https://sourceforge.net/projects/q4wine/|{{AUR|q4wine-git}}}}
  +
* {{App|WINEgui|ユーザフレンドリーな WINE グラフィカルインターフェイス。|https://gitlab.melroy.org/melroy/winegui|{{AUR|winegui}}, {{AUR|winegui-bin}}}}
   
=== 他のライブラリ ===
+
== 設定 ==
   
  +
通常 Wine の設定には以下を用います:
* いくつかのアプリケーション (Office 2003/2007 など) は HTML や XML をパースするための MSXML ライブラリが必要です。{{Pkg|lib32-libxml2}} をインストールしてください。
 
   
  +
* [https://wiki.winehq.org/Winecfg winecfg] は Wine の GUI 設定ツールです。{{ic|winecfg}} を実行することで起動できます。
* 音楽を再生するアプリケーションには {{Pkg|lib32-mpg123}} が必要かもしれません。
 
  +
* [https://wiki.winehq.org/Regedit regedit] は Wine のレジストリ編集ツールです。{{ic|regedit}} を実行することで起動できます。WineHQ の記事 [https://wiki.winehq.org/Useful_Registry_Keys Useful Registry Keys] を見てください。
  +
* [https://wiki.winehq.org/Control control] は Windows コントロールパネルの Wine 実装です。{{ic|wine control}} を実行することで起動できます。
  +
* 完全なリストは WineHQ の [https://wiki.winehq.org/List_of_Commands List of Commands] を見てください。
   
  +
=== WINEPREFIX ===
* 色管理エンジンを使用するアプリケーション (例: PDF ビューア, 画像ビューアなど) には {{Pkg|lib32-lcms2}} が必要です。
 
   
  +
デフォルトでは、Wine の設定ファイルとインストールされた Windows プログラムは {{ic|~/.wine}} に置かれます。このディレクトリは一般的に "Wine prefix" や "Wine bottle" と呼ばれます。Windows プログラムを動かしたり、Wine を設定するための {{ic|winecfg}} を動かすと自動的にフォルダが作成されます。そして Wine で動いているプログラムはこのフォルダの下のツリーを {{ic|C:}} (C ドライブ) とみなします。
* 画像編集アプリケーションに必要なライブラリがあります。{{Pkg|lib32-giflib}} と {{Pkg|lib32-libpng}} をインストールしてください。
 
   
  +
{{Note|Wine の prefix には前方互換性がありません。新しいバージョンの Wine は、必要に応じて自動的に古い prefix をアップグレードします。アップグレードされると、その prefix は古いバージョンの Wine で動作しなくなる場合があります。[https://github.com/GloriousEggroll/wine-ge-custom/releases/tag/7.0-GE-8-LoL]}}
* アプリケーションによっては暗号化サポートのため {{Pkg|lib32-gnutls}} が必要です。
 
  +
  +
{{ic|WINEPREFIX}} [[環境変数]]を設定することで、Wine が使用する prefix の場所を指定することができます。これは Windows プログラムにそれぞれ違う設定をしたいときに便利です。初めて新しい Wine の prefix を使ってプログラムを起動した時、Wine は自動で C ドライブとレジストリの入ったディレクトリを作成します。
  +
  +
例えば、{{ic|1=env WINEPREFIX=~/.win-a wine program-a.exe}} と {{ic|1=env WINEPREFIX=~/.win-b wine program-b.exe}} のようにプログラムを動かせば、2つのプログラムは別の C ドライブとレジストリを使います。
  +
  +
{{Warning|Wine の prefix は[[Wikipedia:ja:サンドボックス (セキュリティ)|サンドボックス]]ではありません!Wine で動いているプログラムは依然として Wine システムの外にアクセスすることが可能です (例えば、Wine の prefix に関係なく、{{ic|Z:}} は {{ic|/}} にマッピングされます)。}}
  +
  +
Windows プログラムや GUI ツールを実行せずに、デフォルトの prefix を作成するには:
  +
  +
$ env WINEPREFIX=~/.customprefix wineboot -u
  +
  +
=== WINEARCH ===
  +
  +
Wine はデフォルトで 64 ビットの環境を作ります。この挙動は {{ic|WINEARCH}} [[環境変数]]を使うことで変更できます。{{ic|~/.wine}} ディレクトリの名前を変更し、{{ic|1=$ WINEARCH=win32 winecfg}} を実行して新しい Wine 環境を作成してください。これで 32 ビットの Wine 環境が作られます。{{ic|WINEARCH}} を設定しないときは 64 ビット環境が作られます。
  +
  +
{{ic|WINEPREFIX}} を使うことで {{ic|win32}} 環境と {{ic|win64}} 環境を分離することができます:
  +
  +
$ WINEARCH=win32 WINEPREFIX=~/win32 winecfg
  +
$ WINEPREFIX=~/win64 winecfg
  +
  +
{{ic|WINEARCH}} を ''winetricks'' などの他の Wine プログラムと一緒に使うこともできます (以下の例では Steam):
  +
  +
WINEARCH=win32 WINEPREFIX=~/.local/share/wineprefixes/steam winetricks steam
  +
  +
prefix のアーキテクチャは、レジストリファイルを見ることで確認できます。以下のコマンドは、{{ic|~/.wine}} prefix のシステムレジストリを読み込み、アーキテクチャタイプに応じて {{ic|1=#arch=win32}} か {{ic|1=#arch=win64}} を返します:
  +
  +
$ grep '#arch' ~/.wine/system.reg
   
 
=== フォント ===
 
=== フォント ===
   
  +
Wine アプリケーションで読みづらいフォントや不足しているフォントがある場合、フォントがインストールされていないのかもしれません。Wine からアクセスできるようにシステムフォントにすべてリンクするには:
Microsoft の Truetype フォントがインストールされてない場合、表示されるフォントが見づらいものになることがあります。[[MS フォント]]を参照してください。{{ic|winetricks corefonts}} をまず試してみて、それでもダメな場合、{{ic|winetricks allfonts}} を試してください。
 
   
  +
$ cd ${WINEPREFIX:-~/.wine}/drive_c/windows/Fonts && for i in /usr/share/fonts/**/*.{ttf,otf}; do ln -s "$i"; done
その後、すべてのWineサーバーを終了して {{ic|winecfg}} を動かしてください。フォントが改善されているはずです。
 
   
  +
Wine はフォントをレンダリングするために FreeType を使用します。FreeType のデフォルトは数リリース前に変更されました。Wine でプログラムを実行する際に以下の[[環境変数]]を使ってみてください:
フォントが不鮮明な場合、[https://wiki.winehq.org/FAQ#How_do_I_edit_the_Wine_registry.3F regedit] を使って以下のようにレジストリを編集してください:
 
  +
  +
FREETYPE_PROPERTIES="truetype:interpreter-version=35"
  +
  +
他の手段として、Wine prefix に [[MS フォント#インストール|Microsoft の TrueType フォントをインストール]]するというものがあります。これでもうまく行かない場合、まず {{ic|winetricks corefonts}} を実行し、最後の手段として {{ic|winetricks allfonts}} を実行してみてください。
  +
  +
プログラムを実行した後は、すべての Wine サーバを kill して {{ic|winecfg}} を実行してください。これでフォントが読めるようになるはずです。
  +
  +
フォントが汚く見える場合、[https://wiki.winehq.org/FAQ#How_do_I_edit_the_Wine_registry.3F regedit] を使って以下のテキストファイルを Wine のレジストリにインポートしてください:
  +
  +
Windows Registry Editor Version 5.00
 
[HKEY_CURRENT_USER\Software\Wine\X11 Driver]
 
[HKEY_CURRENT_USER\Software\Wine\X11 Driver]
 
"ClientSideWithRender"="N"
 
"ClientSideWithRender"="N"
   
  +
高解像度ディスプレイにおいては、dpi の値を winecfg で調整できます。
[[フォント設定#fontconfig をサポートしていないアプリケーション]]も参照。
 
  +
  +
[[フォント設定#fontconfig をサポートしていないアプリケーション]] も参照してください。
  +
  +
==== フォントスムージングの有効化 ====
  +
  +
Wine のフォントレンダリングを改善する良い方法として、cleartype フォントスムージングを有効化するというものがあります。
  +
"Subpixel smoothing (ClearType) RGB" を有効化するには:
  +
  +
{{hc|/tmp/fontsmoothing.reg|2=
  +
REGEDIT4
  +
  +
[HKEY_CURRENT_USER\Control Panel\Desktop]
  +
"FontSmoothing"="2"
  +
"FontSmoothingOrientation"=dword:00000001
  +
"FontSmoothingType"=dword:00000002
  +
"FontSmoothingGamma"=dword:00000578
  +
EOF
  +
}}
  +
  +
$ WINE=${WINE:-wine} WINEPREFIX=${WINEPREFIX:-$HOME/.wine} $WINE regedit /tmp/fontsmoothing.reg 2> /dev/null
  +
  +
詳細は [https://askubuntu.com/a/219795 元になった回答] を見てください。
   
 
=== デスクトップランチャーメニュー ===
 
=== デスクトップランチャーメニュー ===
   
Windows アプリケーションチャーによってショートカットが作成された場合、wine{{ic|.desktop}} ファイルを作成します。Arch Linux ではデフォルトで以下の場所にファイルが作成されます:
+
Windows アプリケーションストによってショートカットが作成された場合、Wine[[.desktop]] ファイルを作成します。Arch Linux ではデフォルトで以下の場所にファイルが作成されます:
  +
* デスクトップショートカットは {{ic|~/Desktop}} に保存されます。
 
* スターメニューのショートカットは {{ic|~/.local/share/applications/wine/Programs/}} に保存されます
+
* ップショートカットは {{ic|~/Desktop}} に保存されます
  +
* スタートメニューのショートカットは {{ic|~/.local/share/applications/wine/Programs/}} に保存されます
   
 
{{Note|1=Wine は全てのユーザー共通で Windows アプリケーションをインストールすることはできません。{{ic|.desktop}} ファイルが {{ic|/usr/share/applications}} に作成されることはありません。詳しくは WineHQ バグの [https://bugs.winehq.org/show_bug.cgi?id=11112 11112] を見てください。}}
 
{{Note|1=Wine は全てのユーザー共通で Windows アプリケーションをインストールすることはできません。{{ic|.desktop}} ファイルが {{ic|/usr/share/applications}} に作成されることはありません。詳しくは WineHQ バグの [https://bugs.winehq.org/show_bug.cgi?id=11112 11112] を見てください。}}
135行目: 204行目:
 
{{Tip|メニューがインストールしてもファイルが''作られなかったり''もしくは消えてしまった場合、{{ic|wine winemenubuilder}} を使ってください。}}
 
{{Tip|メニューがインストールしてもファイルが''作られなかったり''もしくは消えてしまった場合、{{ic|wine winemenubuilder}} を使ってください。}}
   
==== メニューエントリを作成 ====
+
==== Wine ユーティリティのメニューエントリを作成する ====
   
デフォルトでは Wine をインストールしても Wine に付属しているソフトウェア (例: {{ic|winecfg}}, {{ic|winebrowser}}, etc) のデスクトップメニューやアイコンは作られません。ここではこれらのアプリケーションのためのエントリを追加する方法を説明します。
+
デフォルトではWine をインストールしても Wine に付属しているソフトウェア (例:''winecfg'' や ''winebrowser'' など) のデスクトップメニューやアイコンは作られません。{{AUR|wine-installer}} か {{AUR|wine-installer-git}} をインストールするとでれらを作成きます。あるい、以下の指示により、これらのアプリケーションのエントリを追加できます。
   
 
まず、ベースメニューを作るために Wine で Windows プログラムをインストールします。ベースメニューが作られたら、{{ic|~/.local/share/applications/wine/}} に以下のファイルを作成してください:
 
まず、ベースメニューを作るために Wine で Windows プログラムをインストールします。ベースメニューが作られたら、{{ic|~/.local/share/applications/wine/}} に以下のファイルを作成してください:
176行目: 245行目:
 
そして {{ic|~/.config/menus/applications-merged/}} に次のファイルを作成してください:
 
そして {{ic|~/.config/menus/applications-merged/}} に次のファイルを作成してください:
   
{{hc|wine.menu|2=
+
{{hc|wine.menu|<nowiki>
 
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
 
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
 
"http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd">
 
"http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd">
189行目: 258行目:
 
</Menu>
 
</Menu>
 
</Menu>
 
</Menu>
  +
</nowiki>}}
}}
 
   
以上の設定でアイコンが表示されない場合は、有効になっているアイコンセットにランチャーのためのアイコンが存在しないのが原因です。使いたいアイコンの位置を指定してアイコンの設定を置き換えてください。プロパティメニューのアイコンをクリックしても同じことができます。これらのショートカットをサポートしているアイコンセットは [http://www.gnome-look.org/content/show.php/GNOME-colors?content=82562 GNOME-colors] です。
+
以上の設定でアイコンが表示されない、あるいはアイコンが醜い場合は、有効になっているアイコンセットにランチャーのためのアイコンが存在しないのが原因です。使いたいアイコンの位置を指定してアイコンの設定を置き換えてください。プロパティメニューのアイコンをクリックしても同じことができます。これらのショートカットをサポートしているアイコンセットは {{AUR|gnome-colors-icon-theme}} です。
   
 
==== メニューエントリを削除する ====
 
==== メニューエントリを削除する ====
197行目: 266行目:
 
Wine によって作成されるエントリは {{ic|~/.local/share/applications/wine/Programs/}} にあります。プログラムの ".desktop" エントリを削除すればメニューからアプリケーションが削除されます。
 
Wine によって作成されるエントリは {{ic|~/.local/share/applications/wine/Programs/}} にあります。プログラムの ".desktop" エントリを削除すればメニューからアプリケーションが削除されます。
   
Wine による不要な拡張を削除するのに加えて、以下のコマンドを実行 (Wine のウェブサイトより):
+
Wine による不要な拡張を削除するのに加えて、以下のコマンドを実行: [https://wiki.winehq.org/FAQ#How_do_I_clean_the_Open_With_List.3F]
  +
 
$ rm ~/.local/share/mime/packages/x-wine*
 
$ rm ~/.local/share/mime/packages/x-wine*
 
$ rm ~/.local/share/applications/wine-extension*
 
$ rm ~/.local/share/applications/wine-extension*
203行目: 273行目:
 
$ rm ~/.local/share/mime/application/x-wine-extension*
 
$ rm ~/.local/share/mime/application/x-wine-extension*
   
  +
場合によっては、KDE の Wine サブメニューからアイテムを完全に削除するために、{{ic|wine-*.menu}} も {{ic|/.config/menus/}} から削除する必要があります。
=== Mono と Gecko ===
 
   
  +
=== 外観 ===
新しい wineprefix を初期化したとき、Wine は Mono と Gecko のインストールを要求します。また、{{pkg|wine-mono}} と {{pkg|wine_gecko}} パッケージがインストールされている場合、wine は特に何もメッセージを表示せずに mono と gecko の 450MB 近いファイルを wineprefix にコピーします。
 
   
  +
XP のような見た目のテーマを[https://archive.org/download/zune-desktop-theme/ZuneDesktopTheme.msi ダウンロード]できます。これをインストールするには、[https://wiki.winehq.org/Wine_User%27s_Guide#Running_.msi_files この上流の wiki 記事] を見てください。最後に、''winecfg'' を使ってそのテーマを選択してください。
Wine によって Mono と Gecko がインストールされないようにしたい場合、以下のようにして wine を起動してください:
 
   
  +
{{Note|上記のリンクのテーマは、Windows XP の prefix バージョンが設定された32ビット prefix にしかインストールできません。64ビット prefix にインストールするには、一時的な32ビット prefix を作成し、テーマをインストールし、{{ic|drive_c/Windows/Resources/Themes}} から {{ic|Zune}} フォルダと {{ic|Zune.theme}} ファイルを64ビットの prefix の同じ場所にコピーする必要があるかもしれません。}}
WINEDLLOVERRIDES=mscoree=d;mshtml=d wine somewineapp
 
   
  +
Wine staging のユーザは、現在の GTK テーマにマッチさせるために、代わりに ''winecfg'' の Staging セクションの ''Enable GTK3 Theming'' オプションを有効化する必要があるかもしれません。
== Windows アプリケーションの動作 ==
 
   
  +
=== 印刷 ===
{{Warning|root で Wine アプリケーションを実行してはいけません![https://wiki.winehq.org/FAQ#Should_I_run_Wine_as_root.3F Running Wine as root] を見て下さい。}}
 
Windows アプリケーションを動かす:
 
$ wine ''path_to_exe''
 
   
  +
''win32 prefix'' で wine アプリケーション (例: MS Word) を使ってプリンター (ローカル・ネットワーク両方) を使用するには {{Pkg|lib32-libcups}} パッケージをインストールしてください。それから wine アプリケーションを再起動 (''wineboot'') してください。
MSI インストーラを使う場合 (''msiexec'' ユーティリティを使用):
 
$ msiexec /i ''path_to_msi''
 
   
== Tips and tricks ==
+
=== ネットワーク ===
   
  +
アプリケーションが LTS や HTTPS 接続を行えるようにするために、場合によっては Wine のインストール後に {{pkg|lib32-gnutls}} を[[インストール]]する必要があります。
{{Tip|記事の最初にあるリンクに加えて、以下のサイトも有用です:
 
  +
* [http://appdb.winehq.org/ The Wine Application Database (AppDB)] - 特定の Windows アプリケーションについての情報 (既知の問題, レーティング, ガイドなど)
 
  +
ICMP (ping) の場合、[https://wiki.winehq.org/FAQ#Failed_to_use_ICMP_.28network_ping.29.2C_this_requires_special_permissions WineHQ FAQ] で説明されているように Wine はネットワークアクセスを必要とします:
* [http://forum.winehq.org/ The WineHQ Forums] - FAQ や AppDB を見ても解決しない問題はここで尋ねましょう
 
  +
}}
 
  +
# setcap cap_net_raw+epi /usr/bin/wine-preloader
  +
  +
このコマンドを実行した後に問題が発生する場合 (キャッチされない例外や特権命令など)、以下を実行してケーパビリティを削除してください:
  +
  +
# setcap -r /usr/bin/wine-preloader
  +
  +
== 使用法 ==
  +
  +
{{Warning|Wine アプリケーションを root として実行/インストールしないでください! 詳細は [https://wiki.winehq.org/FAQ#Should_I_run_Wine_as_root.3F Wine FAQ] を見てください。}}
  +
  +
Wine の使用法に関する一般的な情報は [https://wiki.winehq.org/Wine_User%27s_Guide#Using_Wine Wine User's Guide] を見てください。
  +
  +
Wine における特定の Windows アプリケーションに関する追加の情報は [https://appdb.winehq.org/ Wine Application Database (AppDB)] を見てください。
  +
  +
=== Wayland ===
  +
  +
{{Warning|ネイティブな [[Wayland]] ドライバはまだ実験段階です。}}
  +
  +
デフォルトでは、Wine は Wayland 上で動作する際に [[Xwayland]] を使用します。これは、ほとんどのユーザーにとって十分なエクスペリエンスを得られます。バージョン 9.0rc1 現在、Wine はネイティブな Wayland サポートにおいて大幅な進捗があり、一部のユースケースにおいては使用に適した状態になっています。
  +
  +
最近の Wine バージョンで追加されたネイティブな Wayland ドライバを試すには、以下の手順を踏んでください:
  +
  +
* [https://wiki.winehq.org/FAQ#How_do_I_edit_the_Wine_registry.3F regedit] で以下のテキストファイルを Wine レジストリにインポートしてください:
  +
  +
Windows Registry Editor Version 5.00
  +
[HKEY_CURRENT_USER\Software\Wine\Drivers]
  +
"Graphics"="x11,wayland"
  +
  +
* {{Ic|DISPLAY}} [[環境変数]]を空にして、Xwayland を使用せずにネイティブな Wayland ドライバを強制してください:
  +
  +
$ DISPLAY= wine example.exe
  +
  +
2番目の手順で Wine が停止した場合は、インストールされている Wine のバージョンが新しい Wayland ドライバのサポートありでビルドされていることを確認してください。
  +
  +
=== Wine の実行を停止する ===
  +
  +
起動済みのプログラムを停止する ({{ic|wine}} に対して {{ic|wine}}、あるいは {{ic|wineconsole}} に対して Ctrl+C を押す) と、バックグラウンドでプロセスが実行中のままになってしまうかもしれません。例えば:
  +
{{bc|<nowiki>$ ps -xo pid,cmd
  +
PID CMD
  +
297 -bash
  +
933 /usr/bin/wineserver
  +
939 C:\windows\system32\services.exe
  +
942 C:\windows\system32\winedevice.exe
  +
950 C:\windows\system32\explorer.exe /desktop
  +
954 C:\windows\system32\winedevice.exe
  +
965 C:\windows\system32\plugplay.exe
  +
977 C:\windows\system32\svchost.exe -k LocalServiceNetworkRestricted
  +
984 C:\windows\system32\rpcss.exe
  +
997 mbserver.exe
  +
1017 start.exe /exec
  +
1019 C:\windows\system32\conhost.exe --unix --width 169 --height 40 --server 0x10
  +
1021 Z:\home\wineuser\mbserver.exe
  +
1030 ps -xo pid,cmd</nowiki>}}
  +
実行中の {{ic|wine}} と {{ic|wineconsole}} プロセスは、[https://wiki.winehq.org/Wine_User%27s_Guide#-k_%5Bn%5D wineserver -k] コマンドを使って一度にすべて停止できます。例えば:
  +
{{bc|<nowiki>$ wineserver -k 15</nowiki>}}
  +
このコマンドは {{ic|WINEPREFIX}} 変数に依存しているため、カスタムの Wine prefix を使用している場合は、以下のコマンドを使用してください:
  +
{{bc|<nowiki>$ WINEPREFIX=~/wine/my-prefix wineserver -k</nowiki>}}
  +
上記の例で挙げたプログラムを両方停止するコマンドは以下のようになります:
  +
{{bc|<nowiki>$ kill 997 1021</nowiki>}}
  +
  +
== ヒントとテクニック ==
   
=== Wine コンソール ===
+
=== Wineconsole ===
   
 
''.exe'' を実行してゲームファイルにパッチを適用する必要がある場合 (例えば古いゲームにワイドスクリーン対応 MOD を適用するなど)、通常の方法で Wine から ''.exe'' を実行しても何も起きないことがあります。その場合、ターミナルを開いて以下のコマンドを実行してください:
 
''.exe'' を実行してゲームファイルにパッチを適用する必要がある場合 (例えば古いゲームにワイドスクリーン対応 MOD を適用するなど)、通常の方法で Wine から ''.exe'' を実行しても何も起きないことがあります。その場合、ターミナルを開いて以下のコマンドを実行してください:
233行目: 361行目:
 
$ wineconsole cmd
 
$ wineconsole cmd
   
コマンドラインが開くのでプログラムがあるフォルダまで移動して、''.exe'' プログラムを実行してください。
+
そして、プログラムがあるフォルダまで移動して、''.exe'' プログラムを実行してください。
   
 
=== Winetricks ===
 
=== Winetricks ===
   
[http://wiki.winehq.org/winetricks Winetricks] は Windows プログラムを動かすために必要なランタイムなどをインストールするためのスクリプトです。DirectX 9.x や MSXML (Microsoft Office 2007 や Internet Explorer で必要)、Visual ランタイムライブラリなどをインストールできます。
+
[https://wiki.winehq.org/Winetricks Winetricks] は Windows プログラムを動かすために必要なランタイムなどをインストールするためのスクリプトです。DirectX 9.x や MSXML (Microsoft Office 2007 や Internet Explorer で必要)、Visual ランタイムライブラリなどをインストールできます。
   
使うには [[pacman]] から {{pkg|winetricks}} をインストルしたり、[[Arch User Repository|AUR]] の {{AUR|winetricks-git}} パッケージをインストールしてください。次のコマンド動きます:
+
使うには {{pkg|winetricks}} パッケ (あるいは {{AUR|winetricks-git}})[[インストール]]してください。そして、以下実行してください:
 
$ winetricks
 
$ winetricks
   
  +
GUI を使う場合、{{pkg|zenity}} (GTK) か {{pkg|kdialog}} (Qt) を[[インストール]]してください。
=== CSMT パッチ ===
 
   
  +
=== パフォーマンス ===
2013年から [http://www.winehq.org/pipermail/wine-devel/2013-September/101106.html wine の開発者] は Wine に stream/worker スレッド最適化の実験を行っています。この実験中のパッチがあてられた Wine バージョンを使うことでパフォーマンスを向上させることができるかもしれません。多数のゲームが Windows と同じ速度で、またはそれ以上で動くようになる可能性もあります。この Wine パッチは CSMT パッチとして知られており、Nvidia と AMD のグラフィックカードで利用できます。
 
   
  +
==== CSMT ====
[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 は OpenGL 呼び出しに対して別のスレッドを使うことでパフォーマンスを著しく向上させる技術で、Wine によって使われています。Wine 3.2 から CSMT はデフォルトで有効になっています。
CSMT のサポートは {{ic|winecfg}} で有効化する必要があります (Staging タブ)。
 
  +
  +
アプリケーションによっては CSMT がパフォーマンスを劣化させることがあります。そのような場合、{{ic|wine regedit}} を実行してレジストリエディタを起動し、''HKEY_CURRENT_USER -> Software > Wine > Direct3D > csmt'' に DWORD の値 0x00 を設定して、CSMT を無効化してください。
   
 
詳細:
 
詳細:
* CSMT の開発者 Stefan Dösinger による [http://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 を有効にして動作させているゲーム動画があります。
 
  +
==== ゲームで強制的に OpenGL モードにする ====
  +
  +
多くのゲームには OpenGL モードがあり''多くの場合''デフォルトの DirectX モードより良いパフォーマンスが出ます。OpenGL レンダリングを有効にする方法は''それぞれのアプリケーションによる''一方、多くのゲームは {{Ic|-opengl}} パラメータを認識します。
  +
  +
$ wine ''/path/to/3d_game.exe'' -opengl
  +
  +
詳しい情報は、それぞれのアプリケーションのドキュメントや Wine の [https://appdb.winehq.org AppDB] を見てください。
  +
  +
==== VKD3D-Proton ====
  +
  +
[https://github.com/HansKristian-Work/vkd3d-proton VKD3D-Proton] は [https://wiki.winehq.org/Vkd3d VKD3D] のフォークで、Vulkan を用いて完全な Direct3D 12 API の実装を目指しています。このプロジェクトは、Proton で Direct3D 12 をサポートし、DirectX 12 ゲームのパフォーマンスと互換性を向上させるものです。
  +
  +
VKD3D-Proton を使うには、{{AUR|vkd3d-proton-mingw}} または {{AUR|vkd3d-proton-bin}} をインストールしてください。そして、以下のコマンドを実行し、prefix (デフォルトでは {{ic|~/.wine}}) で VKD3D-Proton を有効化してください:
  +
$ WINEPREFIX=''your-prefix'' setup_vkd3d_proton install
  +
  +
{{Warning|VKD3D-Proton は DirectX 12 の DLL を上書きします。これは、オンラインマルチプレイヤーゲームではチートとみなされる場合があり、あなたのアカウントが '''BAN''' されてしまうかもしれません。自己責任で使用してください!}}
  +
  +
==== DXVK ====
  +
  +
[https://github.com/doitsujin/dxvk DXVK] は、DirectX 9、10、11 の Vulkan による実装です。ほとんどのゲームにおいて、こちらのほうが WineD3D ドライバよりもパフォーマンス及び互換性で勝っています。
  +
  +
DXVK を使うには、{{AUR|dxvk-mingw}} または {{AUR|dxvk-bin}} をインストールしてください。そして、以下のコマンドを実行し、prefix (デフォルトでは {{ic|~/.wine}}) で DXVK を有効化してください:
  +
  +
$ WINEPREFIX=''your-prefix'' setup_dxvk install
  +
  +
DXVK をデュアルグラフィックスの環境で使用する場合、Wine は専用の GPU を優先します。ノート PC では、省電力のためにこれを上書きできます:
  +
  +
$ VK_DRIVER_FILES=/usr/share/vulkan/icd.d/''your_driver''.json wine ''executable''
  +
  +
===== HDR サポート =====
  +
  +
[[Gamescope]] と一緒に使用する場合、DXVK (V2.1+) は HDR10 ディスプレイのサポートを提供します ([[AMDGPU]] ユーザのみ)。詳細は [[HDR モニターのサポート]] を参照してください。
  +
  +
==== Gallium Nine ====
  +
  +
Gallium ベースの mesa ドライバを使用する場合 (ほとんどの場合 AMD と Intel のカード)、DirectX 9 で優れたパフォーマンスを出すネイティブな [https://docs.mesa3d.org/gallium-nine.html Gallium Direct3D ドライバ]があります。このドライバは DXVK によりほとんど使われなくなりましたが、Vulkan のサポートがない場合に依然として便利である場合があります。DXVK と Gallium Nine のパフォーマンスは[https://www.supergoodcode.com/the-finale/#this-is-no-longer-a-zink-blog ほぼ同じである]はずです。
  +
  +
Gallium Nine を使うには {{Pkg|wine-nine}} をインストールしてください。これはスタンドアローンパッケージで、どの Wine バージョンとも併用できます。有効化されているか確かめるには {{ic|wine ninewinecfg}} を実行してください。
  +
  +
古い Intel graphics (4 から 7 世代: GMA 3000, GMA 4500, HD 2000-5000; 2006年-2014年) では、Mesa 21.2 以降 Crocus Gallium ドライバが i965 の代わりに使用されるはずです。Wine を実行する前に以下の環境変数を [[Export]] してください:
  +
  +
MESA_LOADER_DRIVER_OVERRIDE=crocus
   
 
=== Wine によるファイルの関連付けの解除 ===
 
=== Wine によるファイルの関連付けの解除 ===
258行目: 430行目:
 
デフォルトで、大量のフォーマットで Wine はデフォルトアプリケーションとして設定されます。Windows にしかないフォーマットもあり (例: {{ic|vbs}} や {{ic|chm}})、その場合 Wine で開けるようになるのは便利かもしれません。しかしながら、他のフォーマット (例: {{ic|gif}}, {{ic|jpeg}}, {{ic|txt}}, {{ic|js}}) が Wine の素っ気ない Internet Explorer やメモ帳で開かれるのは迷惑と感じることもあるでしょう。
 
デフォルトで、大量のフォーマットで Wine はデフォルトアプリケーションとして設定されます。Windows にしかないフォーマットもあり (例: {{ic|vbs}} や {{ic|chm}})、その場合 Wine で開けるようになるのは便利かもしれません。しかしながら、他のフォーマット (例: {{ic|gif}}, {{ic|jpeg}}, {{ic|txt}}, {{ic|js}}) が Wine の素っ気ない Internet Explorer やメモ帳で開かれるのは迷惑と感じることもあるでしょう。
   
Wine のファイルの関連付けは {{ic|~/.local/share/applications/}} にある {{ic|wine-extension-{extension}.desktop}} というファイルによって設定されます。関連付けを解除したい拡張子の名前が入っているファイルを削除してください。もしくは、Wine の関連付けを全て削除したい場合:
+
Wine のファイルの関連付けは {{ic|~/.local/share/applications/}} にある {{ic|wine-extension-''extension''.desktop}} というファイルによって設定されます。関連付けを解除したい拡張子の名前が入っているファイルを削除してください。もしくは、Wine の関連付けを全て削除したい場合:
   
 
$ rm -f ~/.local/share/applications/wine-extension*.desktop
 
$ rm -f ~/.local/share/applications/wine-extension*.desktop
274行目: 446行目:
 
$ update-mime-database ~/.local/share/mime/
 
$ update-mime-database ~/.local/share/mime/
   
  +
削除しても、アプリケーションによってファイルの関連付けが設定されたら、Wine はファイルの関連付けを作成し続けます。
もしくは wine に関連するキャッシュだけを削除することもできます:
 
   
  +
=== Wine がファイルの関連付けをしないようにする ===
$ find ~/.local/share -name "*wine*" | xargs --no-run-if-empty rm -r
 
   
  +
{{Note|以下の作業は、{{ic|/usr/share/wine/wine.inf}} を変更しない限り、ファイルの関連付けをアップデートさせたくない WINEPREFIX それぞれに対して行わなければなりません。}}
その後、上述のようにキャッシュをアップデートしてください。
 
   
削除してもアプリケーションによってファイルの関連付けが設定されたらWine ファイルの関連付けを作成続けます。
+
以下の方法は、ファイルの関連付けを作成することを防止しますが、XDG .desktop ファイルは保持します (メニューなどに表示されるかもしれません)
   
  +
winecfg を通して Wine がファイルの関連付けをしないように設定するには、Desktop Integration タブのチェックボックス "Manage File Associations" のチェックを解除する必要があります。[https://wiki.winehq.org/FAQ#How_can_I_prevent_Wine_from_changing_the_filetype_associations_on_my_system_or_adding_unwanted_menu_entries.2Fdesktop_links.3F Wine FAQ] を見てください。
=== Wine によるファイルの関連付けを停止 ===
 
   
関連付け作成ないように設定するには、{{ic|$WINEPREFIX/system.reg}} ファイルを開いて、{{ic|winemenubuilder}} を検索して {{ic|-a}} を削除してください。以下のようになります:
+
レジストリて同じ変更を加えるには、以下に文字列 {{ic|Enable}} を {{ic|N}} という値で追加してください:
   
  +
HKEY_CURRENT_USER\Software\Wine\FileOpenAssociations
{{hc|1=$WINEPREFIX/system.reg|2=
 
  +
[Software\\Microsoft\\Windows\\CurrentVersion\\RunServices]
 
  +
''まず、{{ic|FileOpenAssociations}} キーを作成する必要があるかもしれません。''
"winemenubuilder"="C:\\windows\\system32\\winemenubuilder.exe -r"
 
  +
  +
この変更をコマンドラインを通して加えるには、以下のコマンドを実行してください:
  +
  +
$ wine reg add "HKEY_CURRENT_USER\Software\Wine\FileOpenAssociations" /v Enable /d N
  +
  +
新しく作成される WINEPREFIX に対してこの変更をデフォルトで加えるようにしたい場合、{{ic|/usr/share/wine/wine.inf}} を編集し、例えば以下の行を {{ic|[Services]}} セクションに追加してください:
  +
HKCU,"Software\Wine\FileOpenAssociations","Enable",2,"N"
  +
  +
パッケージのアップグレードの際にこのファイルが上書きされないようにするには、pacman フックを作成して上記の変更が自動的に加えられるようにしてください:
  +
  +
{{hc|1=/etc/pacman.d/hooks/stop-wine-associations.hook|2=
  +
  +
[Trigger]
  +
Operation = Install
  +
Operation = Upgrade
  +
Type = Path
  +
Target = usr/share/wine/wine.inf
  +
  +
[Action]
  +
Description = Stopping Wine from hijacking file associations...
  +
When = PostTransaction
  +
<nowiki>Exec = /bin/sh -c '/usr/bin/grep -q "HKCU,\"Software\\\Wine\\\FileOpenAssociations\",\"Enable\",2,\"N\"" /usr/share/wine/wine.inf || /usr/bin/sed -i "s/\[Services\]/\[Services\]\nHKCU,\"Software\\\Wine\\\FileOpenAssociations\",\"Enable\",2,\"N\"/g" /usr/share/wine/wine.inf'</nowiki>
 
}}
 
}}
   
  +
詳細は [[Pacman#フック]] を見てください。
ファイルの関連付けを作成して欲しくない全ての WINEPREFIX で上記の設定が必要になります。
 
   
  +
=== Windows バイナリを暗黙的に Wine で実行する ===
以下の環境変数を設定することで全ての WINEPREFIX で winemenubuilder を無効化することが可能です:
 
   
  +
{{pkg|wine}} パッケージは ''binfmt'' ファイルをインストールします。このファイルにより、Windows プログラムを直接実行できるようになります。例えば、{{ic|''./myprogram.exe''}} は、{{ic|wine ''./myprogram.exe''}} と入力した時と同じように振る舞います。デフォルトでサービスは起動時に開始されます。Wine をインストールした後に再起動していないのであれば、{{ic|systemd-binfmt.service}} を[[起動]]することで、すぐに使えるようになります。
$ export WINEDLLOVERRIDES="winemenubuilder.exe=d"
 
  +
  +
{{Note|Windows バイナリが[[実行可能属性|実行可能]]であることを確認してください。さもないと、バイナリは実行されません。}}
   
 
=== 異なる解像度でのデュアルスクリーン ===
 
=== 異なる解像度でのデュアルスクリーン ===
301行目: 497行目:
 
デュアルヘッドの設定でディスプレイの解像度が異なったときに問題が起きる場合はおそらく {{Pkg|lib32-libxrandr}} をインストールしていません。
 
デュアルヘッドの設定でディスプレイの解像度が異なったときに問題が起きる場合はおそらく {{Pkg|lib32-libxrandr}} をインストールしていません。
   
{{Pkg|lib32-libxinerama}} をインストールすることでも wine のデュアルスクリーンの問題が解決することがあります。
+
{{Pkg|lib32-libxinerama}} をインストールすることでも wine のデュアルスクリーンの問題が解決することがあります (例えば、最右や最下のモニタでアプリケーションのボタンやメニューがクリックできなくなったり、アプリケーションのインターフェイスが再描画されなかったり、アプリケーションのエリアでマウスカーソルがドラッグの状態のまま固まったりします)
   
=== exe-thumbnailer ===
+
=== 光学メディアを焼く ===
   
  +
CD や DVD を焼くためには、{{ic|sg}} [[カーネルモジュール]]をロードする必要があります。
Wine と一緒に (もしくはその前に) インストールするための小さな UI のコードです。実行可能ファイルのサムネイルを提供します。利用可能ならば埋め込まれたアイコンを表示するため、ユーザーは Wine が何を開くのかわかりやすくなります。{{AUR|gnome-exe-thumbnailer}}{{Broken package link|パッケージが存在しません}} は [[AUR]] から利用可能です。
 
   
  +
=== 光学メディアイメージの適切なマウント ===
=== 言語の変更 ===
 
   
  +
一部のアプリケーションは光学メディアがドライブにあるかの確認をします。ほとんどはデータの確認だけなので、{{ic|winecfg}} で CD-ROM ドライブのパスを正しく設定すれば問題ありません。
いくつかのプログラムには言語の選択がなく、システムのロケールを使用する言語として扱います。Wine は (ロケールを含む) 現在の環境をアプリケーションにわたすので、設定をしなくとも問題なく動くはずです。プログラムを (システムで[[ロケール|生成]]した) 特定のロケールで動くように強制したい場合は、次の設定を使って Wine を呼び出して下さい:
 
  +
しかし、アプリケーションによってはメディアの名前やシリアルナンバーを確認するので、イメージを特別なプロパティを使ってマウントする必要があります。
   
  +
fuse ベースの仮想ドライブ (例えば Acetoneiso) など、仮想ドライブツールはこれらのメタデータを扱えないことがあります。[[CDemu]] は適切にこれを処理します。
$ LC_ALL=''xx_XX.encoding'' wine ''/path/to/program''
 
   
  +
=== ゲーム内に FPS オーバーレイを表示 ===
例:
 
   
  +
Wine には全てのグラフィカルアプリケーションで使える FPS モニター機能があります。環境変数 {{ic|1=WINEDEBUG=fps}} を設定してください。FPS は標準出力にアウトプットされます。{{pkg|xosd}} パッケージの ''osd_cat'' を使うことでウィンドウ上に FPS を表示することが可能です。ヘルパースクリプト [https://gist.github.com/anonymous/844aefd70bb50bf72b35 winefps.sh] を見てください。
$ LC_ALL=ja_JP.UTF-8 wine ''/path/to/program''
 
   
  +
=== Wine を別のユーザアカウントで実行する ===
=== Win16/Win32 バイナリのインタプリタとして Wine を使う ===
 
   
  +
{{Warning|これは適切なサンドボックス化方法ではなく、ファイルシステムのパーミッションによるホームディレクトリの保護しか行いません。サンドボックス化する必要がある場合は、[[firejail]] や [[bubblewrap]] のようなものを使用するべきです (これらには、rootful Xorg が必要であったり、音声の問題が発生したりといった欠点がありません)。}}
wine を全ての Win16/32 バイナリのインタプリタとして使うようにすることもできます:
 
   
  +
別のユーザーアカウントで Wine を実行することで、Windows アプリケーションからホームディレクトリにアクセスできてしまうという懸念を減らすことができます。
# echo ':DOSWin:M::MZ::/usr/bin/wine:' > /proc/sys/fs/binfmt_misc/register
 
   
  +
まず Wine 用の[[ユーザーアカウント]]を作成:
設定を永続的にするには、以下の内容で {{ic|/etc/binfmt.d/wine.conf}} ファイルを作って下さい:
 
{{hc|/etc/binfmt.d/wine.conf|2=
 
# Start WINE on Windows executables
 
:DOSWin:M::MZ::/usr/bin/wine:}}
 
   
  +
# useradd -m -s /bin/bash wineuser
[[systemd]] は {{ic|proc-sys-fs-binfmt_misc.mount}} を使って自動で {{ic|/proc/sys/fs/binfmt_misc}} ファイルシステムをマウントし、{{ic|systemd-binfmt.service}} を実行して設定をロードします。
 
   
  +
他の TTY に切り替えて、通常通り X WM や DE を起動するか、このまま読み続けてください。
Windows プログラムを実行するには:
 
$ chmod +x ''exefile.exe''
 
$ ./''exefile.exe''
 
   
  +
{{Note|以下の方法は Xorg の root を有効にしている場合にのみうまく行きます。メインのユーザで {{ic|xhost}} を実行する方法については [[Xorg#Rootless Xorg]] を見てください。}}
これで ''exefile.exe'' が動作するはずです。
 
   
  +
新しいユーザーアカウントを使って Wine アプリケーションを開けるようにするために、X サーバーのパーミッションリストに新しいユーザーを追加してください:
=== 16ビットのプログラム ===
 
古い Windows 9x のプログラムを実行すると、以下のエラーが表示されることがあります:
 
   
  +
$ xhost +SI:localuser:wineuser
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 を実行することできます ({{ic|env}} を使用して Wine の起動する環境を設定します):
   
  +
$ sudo -u wineuser env HOME=/home/wineuser USER=wineuser USERNAME=wineuser LOGNAME=wineuser wine ''arguments''
# echo 1 > /proc/sys/abi/ldt16
 
   
  +
以下のようにシェルスクリプトを使って Wine による Windows アプリケーションの実行を自動化できます:
ソース: [http://www.spinics.net/linux/fedora/fedora-users/msg450821.html Fedora メーリングリスト]
 
  +
{{hc|1=/usr/local/bin/runaswine|2=
  +
#!/bin/sh
  +
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"''
CD や DVD を焼くためには、{{ic|sg}} [[カーネルモジュール]]をロードする必要があります。
 
   
  +
Wine を実行するたびにパスワードが要求されないようにしたい場合、sudoers ファイルに次のエントリを追加してください: {{ic|1=''mainuser'' ALL=(wineuser) NOPASSWD: ALL}}。詳しくは [[Sudo#設定]]を参照。
=== オプティカルメディアイメージの正しいマウント ===
 
   
  +
{{ic|winecfg}} を Wine ユーザーで起動して、"Desktop Integration" タブから Wine ユーザーのホームディレクトリ以外のディレクトリのバインドを全て削除することを推奨します (Wine によって起動したプログラムが Wine ユーザーのホームディレクトリの外のファイルにアクセスできないようにするため)。
いくつかのアプリケーションはオプティカルメディアがドライブにあるかの確認をします。ほとんどはデータの確認だけなので、{{ic|winecfg}} で CD-ROM ドライブのパスを正しく設定すれば問題ありません。
 
しかし、アプリケーションによってはメディアの名前やシリアルナンバーを確認するので、イメージを特別なプロパティを使ってマウントする必要があります。
 
   
  +
[[PulseAudio]] を使用している場合、Wine プログラムで音が鳴らなくなってしまいます。他のユーザーの PulseAudio デーモンに Wine ユーザーからアクセスできるようにする情報が [[PulseAudio/サンプル#複数のユーザーが同時に PulseAudio を使えるようにする]]にあります。
fuse ベースの仮想ドライブ (例えば Acetoneiso) など、仮想ドライブツールはこれらのメタデータを扱えないことがあります。CDEmu は適切にこれを処理します。
 
   
  +
=== Temp ディレクトリを tmpfs 上に置く ===
=== OpenGL モード ===
 
   
  +
Wine が物理ディスク上に一時ファイルを書き込まないようにするために、''tmpfs'' のような別の場所を使うことができます。Wine の一時ファイルのデフォルトのディレクトリを削除し、シンボリックリンクを作成してください:
多くのゲームには OpenGL モードがあり''多くの場合''デフォルトの DirectX モードより良いパフォーマンスが出ます。OpenGL レンダリングを有効にする方法は''それぞれのアプリケーションによる''一方、多くのゲームは {{Ic|-opengl}} パラメータを認識します。
 
$ wine /path/to/3d_game.exe -opengl
 
   
  +
$ rm -r ~/.wine/drive_c/users/$USER/Temp ~/.wine/drive_c/windows/temp
詳しい情報は、それぞれのアプリケーションのドキュメントや Wine の [http://appdb.winehq.org AppDB] を見てください。
 
  +
$ ln -s /tmp/ ~/.wine/drive_c/users/$USER/Temp
  +
$ ln -s /tmp/ ~/.wine/drive_c/windows/temp
   
  +
=== Mono/Gecko をインストールさせない ===
=== ゲーム内に FPS オーバーレイを表示 ===
 
   
  +
Gecko や Mono がシステムと Wine prefix のどちらにも存在しない場合、Wine はそれらをインターネットからダウンロードするか尋ねるダイアログを表示します。Gecko や Mono が必要ない場合、このダイアログを無効化できます: {{ic|WINEDLLOVERRIDES}} [[環境変数]]に {{ic|1=mscoree=d;mshtml=d}} を設定してください。
Wine には全てのグラフィカルアプリケーションで使える FPS モニター機能があります。環境変数 {{ic|1=WINEDEBUG=fps}} を設定してください。FPS は標準出力にアウトプットされます。{{pkg|xosd}} パッケージの {{ic|osd_cat}} を使うことでウィンドウ上に FPS を表示することが可能です。ヘルパースクリプト [https://gist.github.com/anonymous/844aefd70bb50bf72b35 winefps.sh] を見てください。
 
   
  +
=== Vulkan ===
=== .NET framework 4.0 のインストール ===
 
64ビット環境の場合、まず新規に32ビットの wine prefix を作成してください:
 
$ WINEARCH=win32 WINEPREFIX=~/win32 winecfg
 
   
  +
デフォルトの Wine Vulkan ICD ローダは、ほとんどのアプリケーションでうまく動作しますが、高度な機能はサポートしていません (例えば Vulkan レイヤー)。これらの機能を使うには、公式の Vulkan SDK をインストールしなければなりません。オリジナルの Vulkan パッチの作者の [https://github.com/roderickc/wine-vulkan GitHub ページ] のステップ 2 から 4 を見てください。
それから winetricks を使って以下のパッケージをインストールしてください:
 
$ WINEARCH=win32 WINEPREFIX=~/win32 winetricks -q msxml3 dotnet40 corefonts
 
   
=== Microsoft Office のインストール ===
+
=== Wineファイルバインディングを除去する ===
   
  +
セキュリティ上の理由により、事前にインストールされている Wine バインディングを削除することは有用である場合があります。これにより、Windows アプリケーションはファイルマネージャやブラウザ (Firefox は EXE ファイルを直接 Wine で開くことができます) から直接起動できなくなります。
==== Office 2010 ====
 
  +
以下を {{ic|1= /etc/pacman.conf}} の {{ic|1= [options]}} セクションに追加してください:
   
  +
NoExtract = usr/lib/binfmt.d/wine.conf
Microsoft Office 2010 (MSO-2010) は問題なく動きます (Microsoft Office Home と Student 2010、Wine 1.5.27 と 1.7.5 で確認)。インターネットのアクティベーションも問題ありません。
 
  +
NoExtract = usr/share/applications/wine.desktop
   
  +
=== Wine が自身のアプリケーションをデフォルトとして設定してしまう ===
最初に {{pkg|wine-mono}}, {{pkg|wine_gecko}}, {{pkg|samba}}, {{pkg|lib32-libxslt}}, {{pkg|libwbclient}}, {{pkg|lib32-libxml2}} をインストールしてください。
 
   
  +
Wine は、prefix を作成 (または更新) する度に、それに応じて Notepad や Winebrowser などのバンドルされたアプリをデフォルトのテキストエディタやウェブブラウザとして設定します。
それからインストーラーの起動に進んで下さい:
 
$ export WINEPREFIX=~/.wine # Wine prefix to use
 
$ export WINEARCH=win32
 
$ wine /path/to/office_cd/setup.exe
 
   
  +
この望ましくない挙動を回避する方法は、以下の[[環境変数]]を設定することです:
デフォルトの Wine プレフィックス ({{ic|~/.wine}}) に Office をセットアップしたくない場合、[[#WINEPREFIX]] セクションに書かれているように新しいプレフィックスを作成してください。上記の export はシェルの初期化スクリプトに書くことができます。
 
   
  +
$ WINEDLLOVERRIDES=winemenubuilder.exe=d ...
インストールが完了したら、Word や Excel を開いてインターネットからアクティベートしてください。アクティベーションが完了したら ''winecfg'' を起動して (ライブラリの) {{ic|riched20}} を {{ic|(native,builtin)}} に設定してください。この設定によって PowerPoint が動作するようになり、電話アクティベーションの国選択のドロップダウンリストが表示されるようになります。
 
   
  +
=== WineASIO ===
OneNote を動作させるには、{{ic|winetricks wininet}} を実行して {{ic|wininet}} が {{ic|(native,builtin)}} に設定されていることを確認してください。
 
  +
  +
Wine で専門的なオーディオサポートが必要な場合、{{Aur|wineasio}} を使うことができます。これは、Wine 用の ASIO インターフェイスを提供し、[[JACK]] で使用できます。
  +
  +
wineasio を使うためには、あなたのユーザアカウントを {{ic|realtime}} [[ユーザーとグループ#ユーザーグループ|ユーザーグループ]]に追加する必要があります。
  +
  +
次に、wineasio を wine prefix に登録する必要があります。必要に応じて32ビットバージョンや64ビットバージョンに登録してください:
  +
  +
$ regsvr32 /usr/lib32/wine/i386-windows/wineasio32.dll
  +
$ wine64 regsvr32 /usr/lib/wine/x86_64-windows/wineasio64.dll
  +
  +
=== explorer.exe の起動を無効化する ===
  +
  +
X がインストールされていない状態でテキストモード ([https://www.winehq.org/docs/wineusr-guid%3Cbr%20/%3Ee/cui-programs Command User Interface]) の実行ファイルを実行すると、実行ファイルの起動中に以下のエラーが発生するかもしれません:
  +
  +
{{bc|0060:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
  +
0060:err:winediag:nodrv_CreateWindow L"The explorer process failed to start."
  +
0060:err:systray:initialize_systray Could not create tray window
  +
}}
  +
  +
{{ic|wine}} はデフォルトで explorer.exe を起動することが原因です。{{ic|ps}} の出力を見ればわかる通り、{{ic|wineconsole}} ですら {{ic|explorer.exe /desktop}} を起動します。
  +
  +
以下のように環境変数を設定することで、systray も含めて explorer の起動を無効化することができます:
  +
  +
$ WINEDLLOVERRIDES="explorer.exe=d" wine program.exe
  +
  +
CUI プログラムによっては、services.exe も無効化することによって目盛り使用量を最小限にすることができるかもしれません:
  +
  +
$ WINEDLLOVERRIDES="explorer.exe,services.exe=d" wine program.exe
  +
  +
== トラブルシューティング ==
  +
  +
一般的なヒントは [https://wiki.winehq.org/Wine_User%27s_Guide#Troubleshooting_.2F_Reporting_bugs Wine User's Guide] と [https://wiki.winehq.org/FAQ Wine FAQ] (特に [https://wiki.winehq.org/FAQ#Troubleshooting Troubleshooting] セクション) を見てください。
  +
  +
また、特定のアプリケーションでの推奨事項は [https://appdb.winehq.org/ Wine AppDB] を見てください。
  +
  +
=== インストールの一般的な問題 ===
  +
  +
それぞれの [[#WINEPREFIX|Wine prefix]] には、インストールされているプログラムからレジストリに至るまで多くの永続的な状態があります。プログラムのインストールに関する問題のトラブルシューティングの第一歩として、隔離された prefix を作成するか、{{ic|rm -rf ~/.wine}} でデフォルトの prefix を削除してみるべきでしょう。後者のコマンドは、デフォルトの prefix に追加したプログラムと設定を全て削除します。
  +
  +
=== libc.so.6 のロードエラー ===
  +
  +
wine を実行すると以下のエラーが発生することがあります:
  +
  +
{{hc|$ wine cmd|
  +
/usr/bin/wine: error while loading shared libraries: libc.so.6: cannot create shared object descriptor: Operation not permitted
  +
}}
   
  +
これは、{{ic|mmap2}} のシステムコールが失敗したことが原因です:
詳しくは [http://appdb.winehq.org/appview.php?iVersionId=4992 WineHQ] の記事を見てください。
 
   
  +
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 EPERM (Operation not permitted)
上記の方法の代わりとして、{{Pkg|playonlinux}} は Office 2003, 2007, 2010 を簡単にインストールできるカスタムインストーラースクリプトを提供しています。''setup.exe'' や ISO を用意するだけでインストーラーはスムーズにインストールを実行します。Wine については全く操作を必要としません。playonlinux による Office 2010 のインストールは古いバージョンの Word で作成された Word 文章の xml 変換を有効にします。
 
   
  +
これは [https://bugzilla.kernel.org/show_bug.cgi?id=198355 Linux カーネルの既知のバグ]です。
==== Office 2013 ====
 
Wine 2.0 以上であれば32ビット版は動作するはずです [http://www.phoronix.com/scan.php?page=news_item&px=CodeWeavers-CrossOver-16]。各アプリケーションの正確なステータスについては [https://appdb.winehq.org/objectManager.php?sClass=application&iId=31 こちらのページ] を参照してください。
 
   
  +
[[sysctl]] の {{ic|vm.mmap_min_addr}} の値をデフォルトの {{ic|65536}} から変更することで、問題が解決するようです:
==== Office 2016 ====
 
Office 2016 は動作しません。
 
   
  +
# sysctl -w vm.mmap_min_addr=32768
== サードパーティ製インターフェース ==
 
   
  +
=== Xwayland の問題 ===
Wine フォーラムではサポートされていません、それぞれのホームページを見てください。
 
   
  +
[[Xwayland]] で Wine を使用する場合、以下のような問題を避けるために winecfg の Graphics タブで "Emulating a virtual desktop" のオプションを有効化できます:
=== CrossOver ===
 
   
  +
* チラつき
[http://www.codeweavers.com/about/ CrossOver] については [[CrossOver]] を見て下さい。
 
  +
* 誤ったウィンドウの位置
  +
* 誤ったマウスカーソルの位置とクリック
  +
* キーボード検出
   
  +
仮想デスクトップを無効化すると winecfg のウィンドウがマウスとキーボードに反応しなくなってしまう場合、以下のコマンドで明示的にどれかの仮想デスクトップ上で winecfg を起動することで、再び使えるようにできます:
=== PlayOnLinux/PlayOnMac ===
 
   
  +
$ wine explorer /desktop=name,800x600 winecfg
[http://www.playonlinux.com/ PlayOnLinux] は Windows と DOS プログラムのグラフィカルマネージャです。プログラムを動かすための設定をアシストするスクリプトや、それぞれの実効ファイルにあった Wine のバージョンを(リグレッションのため)選択する機能があります。どの Wine のバージョンがプログラムに合っているか知るには、[http://appdb.winehq.org/ Wine Application Database] を見てください。{{Pkg|playonlinux}} は [[公式リポジトリ#%5bcommunity%5d|community]] リポジトリにあります。
 
   
  +
=== キーボード入力ができない ===
{{Tip|PlayOnLinux は [[Bumblebee]] をサポートしています。POL コンソールを開いて {{ic|POL_Config_Write BEFORE_WINE optirun}} コマンドを入力してエンターを押してください。全てのアプリケーションが ''optirun'' で実行されるようになります。''optirun'' の代わりに ''primusrun'' を使うこともできます。}}
 
   
  +
ウィンドウマネージャがフォーカスを切り替えないことにより発生することがあります。''winecfg'' の ''Graphics'' タブで、'Allow the window manager...' オプションを無効化してください。あるいは、ウィンドウモードを 'Emulate a virtual desktop' に設定してください。
=== PyWinery ===
 
  +
* ''Window settings'' のオプションを全て切り替えて、''Apply'' をクリックし、そしてオプションを全て戻すと問題が解決するという人もいます。これがうまく行かない場合、上記の方法を試してください。
   
  +
アプリケーションからフォーカスを移動させた後にキーボードが動作しなくなる場合、レジストリを編集してみてください:
[https://github.com/ergoithz/pywinery PyWinery] はグラフィカルでシンプルな wine-prefix マネージャで、アプリの起動と異なった prefix の設定の管理ができ、同じ prefix で winetricks を開くボタンや、prefix ディレクトリ・ {{ic|winecfg}} ・アプリケーションアンインストーラ・ wineDOS を開くボタンを備えています。AUR の {{AUR|pywinery}} パッケージからインストールできます。DirectX を使うゲームやオフィススイートなどアプリケーション毎に違う設定を使ったり環境を選びたいときに便利です。
 
  +
* ''HKEY_CURRENT_USER\Software\Wine\X11 Driver'' に行き、文字列 ''UseTakeFocus'' を追加し、それを ''N'' にセットする。
  +
* あるいは、[[#Winetricks|Winetricks]] を使って値をセットできます: {{bc|1=$ winetricks usetakefocus=n}}
   
  +
=== アプリケーションが起動に失敗する ===
{{ic|.exe}} を開くときはデフォルトで winetricks を使うことが推奨されています。wine 設定を選ぶことができるようになるからです。
 
   
  +
一部の古いゲームやアプリケーションは、[[Wikipedia:ja:カレントディレクトリ|カレントディレクトリ]]が実行ファイルの場所と同じであることを期待します。これらの実行ファイルを他の場所から実行すると、正しく起動しなくなってしまいます。このような問題を防ぐには、Wine を実行する前に {{ic|cd ''exeへのパス''}} を使ってください。
=== Q4wine ===
 
   
  +
== 参照 ==
[http://q4wine.brezblock.org.ua/ Q4Wine] はグラフィカルな wine-prefix マネージャで prefix 設定の管理をすることができます。特に [[Qt]] テーマを wine 設定に適用することで見た目を統合することができます。[[公式リポジトリ#%5bcommunity%5d|community]] リポジトリに {{Pkg|q4wine}} パッケージがあります。
 
   
  +
* [https://www.winehq.org/ Wine Homepage]
== 外部リンク ==
 
  +
* [https://wiki.winehq.org/ Wine Wiki]
  +
* [https://appdb.winehq.org/ Wine Application Database (AppDB)] - 特定のアプリケーションを動作させるための情報 (特定のアプリケーションの既知の問題、評価、ガイドなど)
  +
* [https://forum.winehq.org/ Wine Forums] - あなたが FAQ と AppDB を見た''後''に質問するための素晴らしい場所
  +
* [[Gentoo:Wine]]
  +
* [https://www.darlinghq.org/ Darling] - MacOS ソフトウェア向けの Wine と似たプロジェクト
  +
* [https://github.com/wineasio/wineasio WineASIO] - WineASIO プロジェクトの GitHub ページ。追加の情報あり。
   
  +
{{TranslationStatus|Wine|2024-03-26|803670}}
* [http://www.winehq.com/ Wine 公式ウェブサイト]
 
* [http://appdb.winehq.org/ Wine Application Database]
 
* [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]
 
* [http://wiki.gotux.net/code:perl:fileinfo FileInfo] - Find Win32 PE/COFF headers in EXE/DLL/OCX files under linux/unix environment.
 

2024年3月26日 (火) 07:04時点における最新版

関連記事

Wine は、Microsoft Windows のアプリケーションを UNIX ライクな OS で動かすための 互換レイヤー です。Wine で実行されるプログラムは、エミュレータにあるようなパフォーマンスやメモリのペナルティなしに、ネイティブプログラムと同じように機能します。

警告:

目次

インストール

multilib リポジトリを有効にし、wine (開発版)、wine-stableAUR (安定版)、wine-staging (テスト版) のどれかをインストールすることで、Wine を利用できます。Wine StagingWine にパッチが適用されたバージョンで、安定ブランチや開発ブランチにマージされていないバグフィックスや機能追加が含まれています。

ノート: multilib リポジトリを有効化したくない場合や、追加の 32 ビットライブラリをインストールしたくない場合、wine-wow64AUR パッケージや wine-staging-wow64AUR パッケージを代わりに使うことができます。これらは、64 ビット Linux ライブラリのみを使用しており、32 ビット Windows アプリケーションを実行するための "新しい WoW64 モード" 付きでビルドされています。ただし、このモードのサポートは現在実験的です。[1]

その他の要件については #グラフィックドライバ#サウンド も見てください。

Internet Explorer や .NET に依存しているアプリケーションを使う場合、それぞれ wine-geckowine-mono をインストールしてください。Wine は必要なときに関連ファイルをダウンロードするので、これらのパッケージは厳密には必要ありません。しかし、これらのパッケージは pacman で管理べきです 。

任意の依存パッケージ

ヒント: 一般的な依存パッケージ (特にゲーム関連) は lutris のドキュメントにリストアップされています。

Wine には、基本的なアプリケーションでは必要ないが、サウンド、3D グラフィックス、動画再生などを提供するためにインストールする必要がある任意の依存パッケージが多くあります。

多くの Windows アプリケーションは 32 ビットであり、32 ビット版のライブラリが必要であることに注意してください。これらのライブラリの一部は AUR でしか入手できません。標準 (64 ビット) のライブラリは、64 ビットアプリケーションに対して、または、新しい WoW64 モード (#インストール 章のノートを参照) のある Wine バージョンを実行している場合は全てのアプリケーションに対して使用することができます。Windows 実行ファイルが 64 ビットであるかどうかは、file(1) コマンドで確認することができます。

グラフィックドライバ

グラフィックドライバの32ビットバージョンをインストールする必要があります。Xorg#ドライバーのインストール にある表の OpenGL (multilib) 列に載っているパッケージをインストールしてください。

Wine がターミナルウィンドウに以下のようなメッセージを出力する場合、ドライバが不適切であるか正しく設定されていないことの印です:

Direct rendering is disabled, most likely your OpenGL drivers have not been installed correctly
ノート: 適切なライブラリをインストールした後は X を再起動する必要があるかもしれません。

サウンド

デフォルトの状態では、Wine アプリケーションを実行する際にサウンドの問題が発生する場合があります。winecfg でサウンドデバイスが1つだけ選択されていることを確認してください。

あなたが使いたいオーディオドライバの正しいパッケージをインストールしてください:

上記のパッケージをインストールしてもなおwinecfg がオーディオドライバを見つけられない時 (Selected driver: (none)) は、レジストリから設定してください。例えば、64ビットの標準の wine-1.9.7 で32ビットの Windows アプリケーションを使ったときにマイクが機能しない場合、次の手順でサウンドハードウェア (サウンドプレイバックとマイク) にアクセスできるようになります: regedit を開いて HKEY_CURRENT_USER > Software > Wine > Drivers と進んで Audio という名前の文字列を追加して値を alsa に設定してください。また、prefix を再作成することで解決するかもしれません。

MIDI サポート

90年代のビデオゲームでは音楽に MIDI を使うのが人気でした。古いゲームを動かすときは、設定をしないと音楽が再生できないのは珍しくありません。 Wine には素晴らしい MIDI サポートがあります。ただし、最初に MIDI がシステムで動くように設定する必要があります。詳しくは MIDI を見てください。そして Wine が適切な MIDI 出力を使うように設定しなくてはなりません。

他の依存パッケージ

一部のアプリケーションは追加のパッケージを必要とします [2]

Prefix 内の依存パッケージ

システムの依存パッケージとは別に、多くのプログラムは追加のフォントや DLL が Wine prefix にインストールされていることを要求します [3]。これらの依存関係は、Winetricks を使うことでインストールすることができます。Winetricks はシンプルなパッケージマネージャで、何かをインストールしたり、設定の調整を行ったりする verb が用意されています。Winetricks には2つの使い方があります:

  • CLI から: winetricks verb_name を実行する。
  • GUI から: zenitykdialog をインストールし、winetricks を実行する。

依存パッケージ間の衝突により、何でもできる "完璧な" Windows 環境を構築することができない場合があります [4] [5]。そうするよりも、(重要な設定やデータが存在しない限り) prefix を使い捨てにして、異なる依存パッケージを必要とするプログラム毎に個別の prefix を使用するほうが良いです。#WINEPREFIX 環境変数を使うことで、どの prefix に対して verb を実行するかを指定することができます。

プログラムが必要とする verb を知るには、多くのトライアンドエラーが必要になる可能性があります。一部のより一般的な依存パッケージは Bottles の依存関係ページを、また以下のプログラム固有のリソースを参照してください:

  • Wine Application Database: 公式のリソースですが、古く、他のものと比べてメンテナンスされていないかもしれません。
  • Lutris のウェブサイト。このサイトで扱われているゲームを実行しようとしているならば、ドロップダウンメニューをクリックして、View install script をクリックすることで Lutris で使用されている Winetricks の verb を見ることができます。
  • Bottles のプログラムリポジトリ。小さいですが、ゲーム以外もあります。
  • ProtonDB。Proton は Wine とは異なる互換性があります (それに加え、このサイトを見るなら単に Proton を使うほうが良いかもしれません)。しかし、ユーザーが書き込んだ verb は使えるかもしれません。
    • また、proton-ge-custom に同梱されている変化の速い protonfixes ツールのソースを参照することもできます。しかし、このツールはゲームを修正する追加の Proton と GE のパッチが存在していることを想定しています。

ゲームの prefix を管理するのに多くの時間が掛かる場合は、prefix を管理してくれるサードパーティのアプリケーションを使う方が簡単かもしれません。

サードパーティ製アプリケーション

以下のアプリケーションは、独自のコミュニティーとウェブサイトを持っており、メインの Wine コミュニティによって サポートされていません。詳しくは Wine Wiki を見てください。

  • Bottles — Wine 用のグラフィカルな prefix マネージャであり、ランナーマネージャ。GTK ベース。
https://usebottles.com/ || bottlesAUR
  • CrossOver — 公式の商用版 Wine。グラフィカルなインターフェイスと包括的なエンドユーザーサポートを提供しています。
https://www.codeweavers.com || crossoverAUR
  • Lutris — Wine のゲームから Linux ネイティブのゲーム、エミュレータまで、あらゆるゲームに対応するゲームランチャー (prefix の管理機能が存在します)。
https://lutris.net || lutris
  • PlayOnLinux — Wine のグラフィカルな prefix マネージャです。プログラムのインストールと設定を支援するスクリプトが含まれています。
https://www.playonlinux.com || playonlinuxAUR
  • ProtonSteam のために作成された互換ツール。Wine と追加のコンポーネントをベースとしています。互換性のリストは ProtonDB を見てください。
https://github.com/ValveSoftware/Proton || protonAUR
  • PyWinery — シンプルでグラフィカルな Wine 用の prefix マネージャ。
https://github.com/ergoithz/pywinery || pywineryAUR
  • Q4Wine — Wine のグラフィカルな prefix マネージャ。Qt テーマを Wine の設定に適用することで見た目を統合することができます。
https://sourceforge.net/projects/q4wine/ || q4wine-gitAUR
  • WINEgui — ユーザフレンドリーな WINE グラフィカルインターフェイス。
https://gitlab.melroy.org/melroy/winegui || wineguiAUR, winegui-binAUR

設定

通常 Wine の設定には以下を用います:

  • winecfg は Wine の GUI 設定ツールです。winecfg を実行することで起動できます。
  • regedit は Wine のレジストリ編集ツールです。regedit を実行することで起動できます。WineHQ の記事 Useful Registry Keys を見てください。
  • control は Windows コントロールパネルの Wine 実装です。wine control を実行することで起動できます。
  • 完全なリストは WineHQ の List of Commands を見てください。

WINEPREFIX

デフォルトでは、Wine の設定ファイルとインストールされた Windows プログラムは ~/.wine に置かれます。このディレクトリは一般的に "Wine prefix" や "Wine bottle" と呼ばれます。Windows プログラムを動かしたり、Wine を設定するための winecfg を動かすと自動的にフォルダが作成されます。そして Wine で動いているプログラムはこのフォルダの下のツリーを C: (C ドライブ) とみなします。

ノート: Wine の prefix には前方互換性がありません。新しいバージョンの Wine は、必要に応じて自動的に古い prefix をアップグレードします。アップグレードされると、その prefix は古いバージョンの Wine で動作しなくなる場合があります。[6]

WINEPREFIX 環境変数を設定することで、Wine が使用する prefix の場所を指定することができます。これは Windows プログラムにそれぞれ違う設定をしたいときに便利です。初めて新しい Wine の prefix を使ってプログラムを起動した時、Wine は自動で C ドライブとレジストリの入ったディレクトリを作成します。

例えば、env WINEPREFIX=~/.win-a wine program-a.exeenv WINEPREFIX=~/.win-b wine program-b.exe のようにプログラムを動かせば、2つのプログラムは別の C ドライブとレジストリを使います。

警告: Wine の prefix はサンドボックスではありません!Wine で動いているプログラムは依然として Wine システムの外にアクセスすることが可能です (例えば、Wine の prefix に関係なく、Z:/ にマッピングされます)。

Windows プログラムや GUI ツールを実行せずに、デフォルトの prefix を作成するには:

$ env WINEPREFIX=~/.customprefix wineboot -u

WINEARCH

Wine はデフォルトで 64 ビットの環境を作ります。この挙動は WINEARCH 環境変数を使うことで変更できます。~/.wine ディレクトリの名前を変更し、$ WINEARCH=win32 winecfg を実行して新しい Wine 環境を作成してください。これで 32 ビットの Wine 環境が作られます。WINEARCH を設定しないときは 64 ビット環境が作られます。

WINEPREFIX を使うことで win32 環境と win64 環境を分離することができます:

$ WINEARCH=win32 WINEPREFIX=~/win32 winecfg
$ WINEPREFIX=~/win64 winecfg

WINEARCHwinetricks などの他の Wine プログラムと一緒に使うこともできます (以下の例では Steam):

WINEARCH=win32 WINEPREFIX=~/.local/share/wineprefixes/steam winetricks steam

prefix のアーキテクチャは、レジストリファイルを見ることで確認できます。以下のコマンドは、~/.wine prefix のシステムレジストリを読み込み、アーキテクチャタイプに応じて #arch=win32#arch=win64 を返します:

$ grep '#arch' ~/.wine/system.reg

フォント

Wine アプリケーションで読みづらいフォントや不足しているフォントがある場合、フォントがインストールされていないのかもしれません。Wine からアクセスできるようにシステムフォントにすべてリンクするには:

$ cd ${WINEPREFIX:-~/.wine}/drive_c/windows/Fonts && for i in /usr/share/fonts/**/*.{ttf,otf}; do ln -s "$i"; done

Wine はフォントをレンダリングするために FreeType を使用します。FreeType のデフォルトは数リリース前に変更されました。Wine でプログラムを実行する際に以下の環境変数を使ってみてください:

FREETYPE_PROPERTIES="truetype:interpreter-version=35"

他の手段として、Wine prefix に Microsoft の TrueType フォントをインストールするというものがあります。これでもうまく行かない場合、まず winetricks corefonts を実行し、最後の手段として winetricks allfonts を実行してみてください。

プログラムを実行した後は、すべての Wine サーバを kill して winecfg を実行してください。これでフォントが読めるようになるはずです。

フォントが汚く見える場合、regedit を使って以下のテキストファイルを Wine のレジストリにインポートしてください:

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Wine\X11 Driver]
"ClientSideWithRender"="N"

高解像度ディスプレイにおいては、dpi の値を winecfg で調整できます。

フォント設定#fontconfig をサポートしていないアプリケーション も参照してください。

フォントスムージングの有効化

Wine のフォントレンダリングを改善する良い方法として、cleartype フォントスムージングを有効化するというものがあります。 "Subpixel smoothing (ClearType) RGB" を有効化するには:

/tmp/fontsmoothing.reg
REGEDIT4

[HKEY_CURRENT_USER\Control Panel\Desktop]
"FontSmoothing"="2"
"FontSmoothingOrientation"=dword:00000001
"FontSmoothingType"=dword:00000002
"FontSmoothingGamma"=dword:00000578
EOF
$ WINE=${WINE:-wine} WINEPREFIX=${WINEPREFIX:-$HOME/.wine} $WINE regedit /tmp/fontsmoothing.reg 2> /dev/null

詳細は 元になった回答 を見てください。

デスクトップランチャーメニュー

Windows アプリケーションインストーラによってショートカットが作成された場合、Wine は .desktop ファイルを作成します。Arch Linux ではデフォルトで以下の場所にファイルが作成されます:

  • デスクトップショートカットは ~/Desktop に保存されます
  • スタートメニューのショートカットは ~/.local/share/applications/wine/Programs/ に保存されます
ノート: Wine は全てのユーザー共通で Windows アプリケーションをインストールすることはできません。.desktop ファイルが /usr/share/applications に作成されることはありません。詳しくは WineHQ バグの 11112 を見てください。
ヒント: メニューがインストールしてもファイルが作られなかったりもしくは消えてしまった場合、wine winemenubuilder を使ってください。

Wine ユーティリティのメニューエントリを作成する

デフォルトでは、Wine をインストールしても Wine に付属しているソフトウェア (例:winecfgwinebrowser など) のデスクトップメニューやアイコンは作られません。wine-installerAURwine-installer-gitAUR をインストールすることでこれらを作成できます。あるいは、以下の指示により、これらのアプリケーションのエントリを追加できます。

まず、ベースメニューを作るために 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"
"http://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-icon-themeAUR です。

メニューエントリを削除する

Wine によって作成されるエントリは ~/.local/share/applications/wine/Programs/ にあります。プログラムの ".desktop" エントリを削除すればメニューからアプリケーションが削除されます。

Wine による不要な拡張を削除するのに加えて、以下のコマンドを実行: [7]

$ 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*

場合によっては、KDE の Wine サブメニューからアイテムを完全に削除するために、wine-*.menu/.config/menus/ から削除する必要があります。

外観

XP のような見た目のテーマをダウンロードできます。これをインストールするには、この上流の wiki 記事 を見てください。最後に、winecfg を使ってそのテーマを選択してください。

ノート: 上記のリンクのテーマは、Windows XP の prefix バージョンが設定された32ビット prefix にしかインストールできません。64ビット prefix にインストールするには、一時的な32ビット prefix を作成し、テーマをインストールし、drive_c/Windows/Resources/Themes から Zune フォルダと Zune.theme ファイルを64ビットの prefix の同じ場所にコピーする必要があるかもしれません。

Wine staging のユーザは、現在の GTK テーマにマッチさせるために、代わりに winecfg の Staging セクションの Enable GTK3 Theming オプションを有効化する必要があるかもしれません。

印刷

win32 prefix で wine アプリケーション (例: MS Word) を使ってプリンター (ローカル・ネットワーク両方) を使用するには lib32-libcups パッケージをインストールしてください。それから wine アプリケーションを再起動 (wineboot) してください。

ネットワーク

アプリケーションが LTS や HTTPS 接続を行えるようにするために、場合によっては Wine のインストール後に lib32-gnutlsインストールする必要があります。

ICMP (ping) の場合、WineHQ FAQ で説明されているように Wine はネットワークアクセスを必要とします:

# setcap cap_net_raw+epi /usr/bin/wine-preloader

このコマンドを実行した後に問題が発生する場合 (キャッチされない例外や特権命令など)、以下を実行してケーパビリティを削除してください:

# setcap -r /usr/bin/wine-preloader

使用法

警告: Wine アプリケーションを root として実行/インストールしないでください! 詳細は Wine FAQ を見てください。

Wine の使用法に関する一般的な情報は Wine User's Guide を見てください。

Wine における特定の Windows アプリケーションに関する追加の情報は Wine Application Database (AppDB) を見てください。

Wayland

警告: ネイティブな Wayland ドライバはまだ実験段階です。

デフォルトでは、Wine は Wayland 上で動作する際に Xwayland を使用します。これは、ほとんどのユーザーにとって十分なエクスペリエンスを得られます。バージョン 9.0rc1 現在、Wine はネイティブな Wayland サポートにおいて大幅な進捗があり、一部のユースケースにおいては使用に適した状態になっています。

最近の Wine バージョンで追加されたネイティブな Wayland ドライバを試すには、以下の手順を踏んでください:

  • regedit で以下のテキストファイルを Wine レジストリにインポートしてください:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Wine\Drivers]
"Graphics"="x11,wayland"
  • DISPLAY 環境変数を空にして、Xwayland を使用せずにネイティブな Wayland ドライバを強制してください:
$ DISPLAY= wine example.exe

2番目の手順で Wine が停止した場合は、インストールされている Wine のバージョンが新しい Wayland ドライバのサポートありでビルドされていることを確認してください。

Wine の実行を停止する

起動済みのプログラムを停止する (wine に対して wine、あるいは wineconsole に対して Ctrl+C を押す) と、バックグラウンドでプロセスが実行中のままになってしまうかもしれません。例えば:

$ ps -xo pid,cmd
    PID CMD
    297 -bash
    933 /usr/bin/wineserver
    939 C:\windows\system32\services.exe
    942 C:\windows\system32\winedevice.exe
    950 C:\windows\system32\explorer.exe /desktop
    954 C:\windows\system32\winedevice.exe
    965 C:\windows\system32\plugplay.exe
    977 C:\windows\system32\svchost.exe -k LocalServiceNetworkRestricted
    984 C:\windows\system32\rpcss.exe
    997 mbserver.exe
   1017 start.exe /exec
   1019 C:\windows\system32\conhost.exe --unix --width 169 --height 40 --server 0x10
   1021 Z:\home\wineuser\mbserver.exe
   1030 ps -xo pid,cmd

実行中の winewineconsole プロセスは、wineserver -k コマンドを使って一度にすべて停止できます。例えば:

$ wineserver -k 15

このコマンドは WINEPREFIX 変数に依存しているため、カスタムの Wine prefix を使用している場合は、以下のコマンドを使用してください:

$ WINEPREFIX=~/wine/my-prefix wineserver -k

上記の例で挙げたプログラムを両方停止するコマンドは以下のようになります:

$ kill 997 1021

ヒントとテクニック

Wineconsole

.exe を実行してゲームファイルにパッチを適用する必要がある場合 (例えば古いゲームにワイドスクリーン対応 MOD を適用するなど)、通常の方法で Wine から .exe を実行しても何も起きないことがあります。その場合、ターミナルを開いて以下のコマンドを実行してください:

$ wineconsole cmd

そして、プログラムがあるフォルダまで移動して、.exe プログラムを実行してください。

Winetricks

Winetricks は Windows プログラムを動かすために必要なランタイムなどをインストールするためのスクリプトです。DirectX 9.x や MSXML (Microsoft Office 2007 や Internet Explorer で必要)、Visual ランタイムライブラリなどをインストールできます。

使うには winetricks パッケージ (あるいは winetricks-gitAUR) をインストールしてください。そして、以下で実行してください:

$ winetricks

GUI を使う場合、zenity (GTK) か kdialog (Qt) をインストールしてください。

パフォーマンス

CSMT

CSMT は OpenGL 呼び出しに対して別のスレッドを使うことでパフォーマンスを著しく向上させる技術で、Wine によって使われています。Wine 3.2 から CSMT はデフォルトで有効になっています。

アプリケーションによっては CSMT がパフォーマンスを劣化させることがあります。そのような場合、wine regedit を実行してレジストリエディタを起動し、HKEY_CURRENT_USER -> Software > Wine > Direct3D > csmt に DWORD の値 0x00 を設定して、CSMT を無効化してください。

詳細:

CSMT の開発者 Stefan Dösinger による Phoronix Forum の議論

ゲームで強制的に OpenGL モードにする

多くのゲームには OpenGL モードがあり多くの場合デフォルトの DirectX モードより良いパフォーマンスが出ます。OpenGL レンダリングを有効にする方法はそれぞれのアプリケーションによる一方、多くのゲームは -opengl パラメータを認識します。

$ wine /path/to/3d_game.exe -opengl

詳しい情報は、それぞれのアプリケーションのドキュメントや Wine の AppDB を見てください。

VKD3D-Proton

VKD3D-ProtonVKD3D のフォークで、Vulkan を用いて完全な Direct3D 12 API の実装を目指しています。このプロジェクトは、Proton で Direct3D 12 をサポートし、DirectX 12 ゲームのパフォーマンスと互換性を向上させるものです。

VKD3D-Proton を使うには、vkd3d-proton-mingwAUR または vkd3d-proton-binAUR をインストールしてください。そして、以下のコマンドを実行し、prefix (デフォルトでは ~/.wine) で VKD3D-Proton を有効化してください:

$ WINEPREFIX=your-prefix setup_vkd3d_proton install
警告: VKD3D-Proton は DirectX 12 の DLL を上書きします。これは、オンラインマルチプレイヤーゲームではチートとみなされる場合があり、あなたのアカウントが BAN されてしまうかもしれません。自己責任で使用してください!

DXVK

DXVK は、DirectX 9、10、11 の Vulkan による実装です。ほとんどのゲームにおいて、こちらのほうが WineD3D ドライバよりもパフォーマンス及び互換性で勝っています。

DXVK を使うには、dxvk-mingwAUR または dxvk-binAUR をインストールしてください。そして、以下のコマンドを実行し、prefix (デフォルトでは ~/.wine) で DXVK を有効化してください:

$ WINEPREFIX=your-prefix setup_dxvk install

DXVK をデュアルグラフィックスの環境で使用する場合、Wine は専用の GPU を優先します。ノート PC では、省電力のためにこれを上書きできます:

$ VK_DRIVER_FILES=/usr/share/vulkan/icd.d/your_driver.json wine executable
HDR サポート

Gamescope と一緒に使用する場合、DXVK (V2.1+) は HDR10 ディスプレイのサポートを提供します (AMDGPU ユーザのみ)。詳細は HDR モニターのサポート を参照してください。

Gallium Nine

Gallium ベースの mesa ドライバを使用する場合 (ほとんどの場合 AMD と Intel のカード)、DirectX 9 で優れたパフォーマンスを出すネイティブな Gallium Direct3D ドライバがあります。このドライバは DXVK によりほとんど使われなくなりましたが、Vulkan のサポートがない場合に依然として便利である場合があります。DXVK と Gallium Nine のパフォーマンスはほぼ同じであるはずです。

Gallium Nine を使うには wine-nine をインストールしてください。これはスタンドアローンパッケージで、どの Wine バージョンとも併用できます。有効化されているか確かめるには wine ninewinecfg を実行してください。

古い Intel graphics (4 から 7 世代: GMA 3000, GMA 4500, HD 2000-5000; 2006年-2014年) では、Mesa 21.2 以降 Crocus Gallium ドライバが i965 の代わりに使用されるはずです。Wine を実行する前に以下の環境変数を Export してください:

MESA_LOADER_DRIVER_OVERRIDE=crocus

Wine によるファイルの関連付けの解除

デフォルトで、大量のフォーマットで Wine はデフォルトアプリケーションとして設定されます。Windows にしかないフォーマットもあり (例: vbschm)、その場合 Wine で開けるようになるのは便利かもしれません。しかしながら、他のフォーマット (例: gif, jpeg, txt, js) が Wine の素っ気ない Internet Explorer やメモ帳で開かれるのは迷惑と感じることもあるでしょう。

Wine のファイルの関連付けは ~/.local/share/applications/ にある 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 はファイルの関連付けを作成し続けます。

Wine がファイルの関連付けをしないようにする

ノート: 以下の作業は、/usr/share/wine/wine.inf を変更しない限り、ファイルの関連付けをアップデートさせたくない WINEPREFIX それぞれに対して行わなければなりません。

以下の方法は、ファイルの関連付けを作成することを防止しますが、XDG .desktop ファイルは保持します (メニューなどに表示されるかもしれません)。

winecfg を通して Wine がファイルの関連付けをしないように設定するには、Desktop Integration タブのチェックボックス "Manage File Associations" のチェックを解除する必要があります。Wine FAQ を見てください。

レジストリを通して同じ変更を加えるには、以下に文字列 EnableN という値で追加してください:

HKEY_CURRENT_USER\Software\Wine\FileOpenAssociations

まず、FileOpenAssociations キーを作成する必要があるかもしれません。

この変更をコマンドラインを通して加えるには、以下のコマンドを実行してください:

$ wine reg add "HKEY_CURRENT_USER\Software\Wine\FileOpenAssociations" /v Enable /d N

新しく作成される WINEPREFIX に対してこの変更をデフォルトで加えるようにしたい場合、/usr/share/wine/wine.inf を編集し、例えば以下の行を [Services] セクションに追加してください:

HKCU,"Software\Wine\FileOpenAssociations","Enable",2,"N"

パッケージのアップグレードの際にこのファイルが上書きされないようにするには、pacman フックを作成して上記の変更が自動的に加えられるようにしてください:

/etc/pacman.d/hooks/stop-wine-associations.hook
[Trigger]
Operation = Install
Operation = Upgrade
Type = Path
Target = usr/share/wine/wine.inf

[Action]
Description = Stopping Wine from hijacking file associations...
When = PostTransaction
Exec = /bin/sh -c '/usr/bin/grep -q "HKCU,\"Software\\\Wine\\\FileOpenAssociations\",\"Enable\",2,\"N\"" /usr/share/wine/wine.inf || /usr/bin/sed -i "s/\[Services\]/\[Services\]\nHKCU,\"Software\\\Wine\\\FileOpenAssociations\",\"Enable\",2,\"N\"/g" /usr/share/wine/wine.inf'

詳細は Pacman#フック を見てください。

Windows バイナリを暗黙的に Wine で実行する

wine パッケージは binfmt ファイルをインストールします。このファイルにより、Windows プログラムを直接実行できるようになります。例えば、./myprogram.exe は、wine ./myprogram.exe と入力した時と同じように振る舞います。デフォルトでサービスは起動時に開始されます。Wine をインストールした後に再起動していないのであれば、systemd-binfmt.service起動することで、すぐに使えるようになります。

ノート: Windows バイナリが実行可能であることを確認してください。さもないと、バイナリは実行されません。

異なる解像度でのデュアルスクリーン

デュアルヘッドの設定でディスプレイの解像度が異なったときに問題が起きる場合はおそらく lib32-libxrandr をインストールしていません。

lib32-libxinerama をインストールすることでも wine のデュアルスクリーンの問題が解決することがあります (例えば、最右や最下のモニタでアプリケーションのボタンやメニューがクリックできなくなったり、アプリケーションのインターフェイスが再描画されなかったり、アプリケーションのエリアでマウスカーソルがドラッグの状態のまま固まったりします)。

光学メディアを焼く

CD や DVD を焼くためには、sg カーネルモジュールをロードする必要があります。

光学メディアイメージの適切なマウント

一部のアプリケーションは光学メディアがドライブにあるかの確認をします。ほとんどはデータの確認だけなので、winecfg で CD-ROM ドライブのパスを正しく設定すれば問題ありません。 しかし、アプリケーションによってはメディアの名前やシリアルナンバーを確認するので、イメージを特別なプロパティを使ってマウントする必要があります。

fuse ベースの仮想ドライブ (例えば Acetoneiso) など、仮想ドライブツールはこれらのメタデータを扱えないことがあります。CDemu は適切にこれを処理します。

ゲーム内に FPS オーバーレイを表示

Wine には全てのグラフィカルアプリケーションで使える FPS モニター機能があります。環境変数 WINEDEBUG=fps を設定してください。FPS は標準出力にアウトプットされます。xosd パッケージの osd_cat を使うことでウィンドウ上に FPS を表示することが可能です。ヘルパースクリプト winefps.sh を見てください。

Wine を別のユーザアカウントで実行する

警告: これは適切なサンドボックス化方法ではなく、ファイルシステムのパーミッションによるホームディレクトリの保護しか行いません。サンドボックス化する必要がある場合は、firejailbubblewrap のようなものを使用するべきです (これらには、rootful Xorg が必要であったり、音声の問題が発生したりといった欠点がありません)。

別のユーザーアカウントで Wine を実行することで、Windows アプリケーションからホームディレクトリにアクセスできてしまうという懸念を減らすことができます。

まず Wine 用のユーザーアカウントを作成:

# useradd -m -s /bin/bash wineuser

他の TTY に切り替えて、通常通り X WM や DE を起動するか、このまま読み続けてください。

ノート: 以下の方法は Xorg の root を有効にしている場合にのみうまく行きます。メインのユーザで xhost を実行する方法については Xorg#Rootless Xorg を見てください。

新しいユーザーアカウントを使って 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/sh
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 ユーザーで起動して、"Desktop Integration" タブから Wine ユーザーのホームディレクトリ以外のディレクトリのバインドを全て削除することを推奨します (Wine によって起動したプログラムが Wine ユーザーのホームディレクトリの外のファイルにアクセスできないようにするため)。

PulseAudio を使用している場合、Wine プログラムで音が鳴らなくなってしまいます。他のユーザーの PulseAudio デーモンに Wine ユーザーからアクセスできるようにする情報が PulseAudio/サンプル#複数のユーザーが同時に PulseAudio を使えるようにするにあります。

Temp ディレクトリを tmpfs 上に置く

Wine が物理ディスク上に一時ファイルを書き込まないようにするために、tmpfs のような別の場所を使うことができます。Wine の一時ファイルのデフォルトのディレクトリを削除し、シンボリックリンクを作成してください:

$ rm -r ~/.wine/drive_c/users/$USER/Temp ~/.wine/drive_c/windows/temp
$ ln -s /tmp/ ~/.wine/drive_c/users/$USER/Temp
$ ln -s /tmp/ ~/.wine/drive_c/windows/temp

Mono/Gecko をインストールさせない

Gecko や Mono がシステムと Wine prefix のどちらにも存在しない場合、Wine はそれらをインターネットからダウンロードするか尋ねるダイアログを表示します。Gecko や Mono が必要ない場合、このダイアログを無効化できます: WINEDLLOVERRIDES 環境変数mscoree=d;mshtml=d を設定してください。

Vulkan

デフォルトの Wine Vulkan ICD ローダは、ほとんどのアプリケーションでうまく動作しますが、高度な機能はサポートしていません (例えば Vulkan レイヤー)。これらの機能を使うには、公式の Vulkan SDK をインストールしなければなりません。オリジナルの Vulkan パッチの作者の GitHub ページ のステップ 2 から 4 を見てください。

Wine のファイルバインディングを除去する

セキュリティ上の理由により、事前にインストールされている Wine バインディングを削除することは有用である場合があります。これにより、Windows アプリケーションはファイルマネージャやブラウザ (Firefox は EXE ファイルを直接 Wine で開くことができます) から直接起動できなくなります。 以下を /etc/pacman.conf[options] セクションに追加してください:

NoExtract = usr/lib/binfmt.d/wine.conf
NoExtract = usr/share/applications/wine.desktop

Wine が自身のアプリケーションをデフォルトとして設定してしまう

Wine は、prefix を作成 (または更新) する度に、それに応じて Notepad や Winebrowser などのバンドルされたアプリをデフォルトのテキストエディタやウェブブラウザとして設定します。

この望ましくない挙動を回避する方法は、以下の環境変数を設定することです:

$ WINEDLLOVERRIDES=winemenubuilder.exe=d ...

WineASIO

Wine で専門的なオーディオサポートが必要な場合、wineasioAUR を使うことができます。これは、Wine 用の ASIO インターフェイスを提供し、JACK で使用できます。

wineasio を使うためには、あなたのユーザアカウントを realtime ユーザーグループに追加する必要があります。

次に、wineasio を wine prefix に登録する必要があります。必要に応じて32ビットバージョンや64ビットバージョンに登録してください:

$ regsvr32 /usr/lib32/wine/i386-windows/wineasio32.dll
$ wine64 regsvr32 /usr/lib/wine/x86_64-windows/wineasio64.dll

explorer.exe の起動を無効化する

X がインストールされていない状態でテキストモード (Command User Interface) の実行ファイルを実行すると、実行ファイルの起動中に以下のエラーが発生するかもしれません:

0060:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
0060:err:winediag:nodrv_CreateWindow L"The explorer process failed to start."
0060:err:systray:initialize_systray Could not create tray window

wine はデフォルトで explorer.exe を起動することが原因です。ps の出力を見ればわかる通り、wineconsole ですら explorer.exe /desktop を起動します。

以下のように環境変数を設定することで、systray も含めて explorer の起動を無効化することができます:

$ WINEDLLOVERRIDES="explorer.exe=d" wine program.exe

CUI プログラムによっては、services.exe も無効化することによって目盛り使用量を最小限にすることができるかもしれません:

$ WINEDLLOVERRIDES="explorer.exe,services.exe=d" wine program.exe

トラブルシューティング

一般的なヒントは Wine User's GuideWine FAQ (特に Troubleshooting セクション) を見てください。

また、特定のアプリケーションでの推奨事項は Wine AppDB を見てください。

インストールの一般的な問題

それぞれの Wine prefix には、インストールされているプログラムからレジストリに至るまで多くの永続的な状態があります。プログラムのインストールに関する問題のトラブルシューティングの第一歩として、隔離された prefix を作成するか、rm -rf ~/.wine でデフォルトの prefix を削除してみるべきでしょう。後者のコマンドは、デフォルトの prefix に追加したプログラムと設定を全て削除します。

libc.so.6 のロードエラー

wine を実行すると以下のエラーが発生することがあります:

$ wine cmd
/usr/bin/wine: error while loading shared libraries: libc.so.6: cannot create shared object descriptor: Operation not permitted

これは、mmap2 のシステムコールが失敗したことが原因です:

mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = -1 EPERM (Operation not permitted)

これは Linux カーネルの既知のバグです。

sysctlvm.mmap_min_addr の値をデフォルトの 65536 から変更することで、問題が解決するようです:

# sysctl -w vm.mmap_min_addr=32768

Xwayland の問題

Xwayland で Wine を使用する場合、以下のような問題を避けるために winecfg の Graphics タブで "Emulating a virtual desktop" のオプションを有効化できます:

  • チラつき
  • 誤ったウィンドウの位置
  • 誤ったマウスカーソルの位置とクリック
  • キーボード検出

仮想デスクトップを無効化すると winecfg のウィンドウがマウスとキーボードに反応しなくなってしまう場合、以下のコマンドで明示的にどれかの仮想デスクトップ上で winecfg を起動することで、再び使えるようにできます:

$ wine explorer /desktop=name,800x600 winecfg

キーボード入力ができない

ウィンドウマネージャがフォーカスを切り替えないことにより発生することがあります。winecfgGraphics タブで、'Allow the window manager...' オプションを無効化してください。あるいは、ウィンドウモードを 'Emulate a virtual desktop' に設定してください。

  • Window settings のオプションを全て切り替えて、Apply をクリックし、そしてオプションを全て戻すと問題が解決するという人もいます。これがうまく行かない場合、上記の方法を試してください。

アプリケーションからフォーカスを移動させた後にキーボードが動作しなくなる場合、レジストリを編集してみてください:

  • HKEY_CURRENT_USER\Software\Wine\X11 Driver に行き、文字列 UseTakeFocus を追加し、それを N にセットする。
  • あるいは、Winetricks を使って値をセットできます:
    $ winetricks usetakefocus=n

アプリケーションが起動に失敗する

一部の古いゲームやアプリケーションは、カレントディレクトリが実行ファイルの場所と同じであることを期待します。これらの実行ファイルを他の場所から実行すると、正しく起動しなくなってしまいます。このような問題を防ぐには、Wine を実行する前に cd exeへのパス を使ってください。

参照

  • Wine Homepage
  • Wine Wiki
  • Wine Application Database (AppDB) - 特定のアプリケーションを動作させるための情報 (特定のアプリケーションの既知の問題、評価、ガイドなど)
  • Wine Forums - あなたが FAQ と AppDB を見たに質問するための素晴らしい場所
  • Gentoo:Wine
  • Darling - MacOS ソフトウェア向けの Wine と似たプロジェクト
  • WineASIO - WineASIO プロジェクトの GitHub ページ。追加の情報あり。
翻訳ステータス: このページは en:Wine の翻訳バージョンです。最後の翻訳日は 2024-03-26 です。もし英語版に 変更 があれば、翻訳の同期を手伝うことができます。