Wineのプレフィックスが32ビットか64ビットかを確認する方法は?


15

32ビットのプレフィックスを作成する方法を説明するスレッドがたくさんありましたが、使用しているプレフィックスが32ビットか64ビットかを確認したいと思います。私が尋ねている理由は、PlayOnLinuxを使用していて、32ビットの仮想ドライブ(たとえばX)を作成したからです。〜/ .PlayOnLinux / wineprefixフォルダーでwinetricksを開くと、wineprefixからメッセージが表示されます

64ビットのWINEPREFIXを使用しています。問題が発生した場合は、バグを報告する前に、クリーンな32ビットWINEPREFIXで再テストしてください。

しかし、〜/ .PlayOnLinux / wineprefix / Xでwineprefixを開いたとき、メッセージは表示されませんでした。

プレフィックスが32ビットか64ビットかを確認するにはどうすればよいですか?

回答:


5

必要なのは、PlayonLinuxの仮想ドライブを参照することだけです。WINEPREFIX / drive_c /フォルダーに移動し、Program Filesフォルダーを探します。

プログラムファイルのみが表示され、ProgramFiles(x86)が表示されない場合は、32ビットのワインプレフィックスを使用しています。両方が表示される場合は、64ビットワインプレフィックスを使用しています。お役に立てれば !!


本当じゃない。x86ディレクトリなしでプレフィックスが生成されたが、drive_c / windows / syswow64が含まれているという事実からわかるように、64ビットであるという状況がありました。
ダンカンXシンプソン

4

PlayOnLinuxを使用している場合、GUIを使用してどのバージョンを確認できます。PlayOnLinuxを開き、関連するプログラムの[構成]をクリックして、左側のペインを確認します。

あるいは、winetricksが行うこと(バージョン201408173600年頃)WINEPREFIX/drive_c/windows/syswow64を行うことができます。これは、32ビットバージョンではなく64ビットwindows / wineprefix にあるディレクトリの存在をwineprefixでチェックします。これは、通常のwineprefixとPlayOnLinuxの下のwineprefixで機能するはずです。


4

スクリプトに似たようなものが必要だったので、@ wilfの答えに基づいてこのスクリプトを作成しました。

#!/bin/bash

## Wine can spam stderr
ERRLOG=/tmp/dllerrlog.log

WINESYSDIR=$( winepath -u c:\\windows\\system32 2> $ERRLOG )    
if [[ ${WINESYSDIR} == *"/system32" ]]; then
  echo "Prefix is 32 bit"
  # do 32 bit stuff here...
elif [[ ${WINESYSDIR} == *"/syswow64"* ]]; then
  echo "Prefix is 64 bit"
  # do 64 bit stuff here...
else
  echo "Unknown wine architecture"
fi

そして、ここにいくつかの出力があります:

$ ./winearch.sh 
Prefix is 64 bit

そして、32ビットのワインのプレフィックスには次のものがあります:

$ WINEPREFIX=~/.wine32 ./winearch.sh 
Prefix is 32 bit

1

winetricksをインストールして、これをターミナルに入力できます。

 sudo apt-get install winetricks

そしてwinetricksを実行すると、好みでそれを見ることができます。


1
winetricksを実行するとき、「設定」のオプションはありません。
オーガニックマーブル

好みはありません。
カール・モリソン

1


以下のため@ wilfさんのおかげで「WINEPREFIX / drive_c /窓/ SYSWOW64」(それが動作します)。..
しかし、私は編集されているワインのレジストリを明らかに任意のエントリを見つけるために
、システムが(win32のかwin64のを)使用しているwinearch何を、と私は発見しましたそれに:

cat /root/.wine/system.reg | grep -m 1 '#arch' | cut -d '=' -f2

このコマンドの表示:win32(32ビット)またはwin64(64ビット)




スクリプトでこれを使用する方法の一例を以下に示します。

  #!/bin/sh
  HkLm=$(cat /root/.wine/system.reg | grep -m 1 '#arch' | cut -d '=' -f2) > /dev/null 2>&1 # winearch (regedit)
  if [ "$HkLm" = "win64" ]; then
    echo "[x] winearch config: $HkLm (64 bits)"
    echo "[i] Please run:$IPATH/bin/enable_x32bits_wine.sh"
    exit
  fi

最終的なノート:私はカーリーLinux上でこれをテストしている ...
場合WINEPREFIX = /ルート/ .wine32その後、猫のコマンドはそのディレクトリが含まれている必要があり
regeditとのwinearchの設定のための内部のフォルダを読むことができるように。


1
あなたはので、多分使うルートとしてワインを実行してはならない~/.wineのではなく/root/.wine
オリヴィエ・G
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.