web-dev-qa-db-ja.com

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

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

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

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

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

15
aaldilai

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

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

5
Rajat Pandita

スクリプトに似たようなものが必要だったので、@ 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
4
Stuart Axon

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

あるいは、winetricksが行うことを行うことができます(バージョン20140817、3600年頃)、これはwineprefixでディレクトリWINEPREFIX/drive_c/windows/syswow64の存在を確認します。 64ビットWindows /ワインプレフィックスでは、32ビットバージョンではありません。これは、通常のwineprefixおよびPlayOnLinuxの下で機能します。

4
Wilf

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

 Sudo apt-get install winetricks

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

1
Michael


@-wilf's for 'WINEPREFIX/drive_c/windows/syswow64'(機能します)に感謝します。
しかし、私はwine registryを編集して、明らかになるエントリを見つけました。
システムが使用しているwinearch(win32またはwin64)。

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

最終ノート:kali linuxでこれをテストしました ..
if WINEPREFIX =/root/.wine32 then catコマンドにはそのディレクトリが含まれている必要があります
regedit winearch設定のフォルダー内を読み取れるようにします。

1
r00t-3xp10it