내 와인 접두사가 32 비트 또는 64 비트인지 확인하는 방법?


16

32 비트 접두사를 만드는 방법을 설명하는 많은 스레드를 보았지만 사용중인 접두사가 32 비트 또는 64 비트인지 확인하고 싶습니다. 내가 묻는 이유는 PlayOnLinux를 사용하고 32 비트 가상 드라이브 (예 : X)를 생성했기 때문입니다. ~ / .PlayOnLinux / wineprefix 폴더에서 winetricks를 열면 wineprefix에서 메시지를 표시합니다.

64 비트 WINEPREFIX를 사용하고 있습니다. 문제가 발생하면 버그를보고하기 전에 깨끗한 32 비트 WINEPREFIX에서 다시 테스트하십시오.

그러나 ~ / .PlayOnLinux / wineprefix / X에서 wineprefix를 열었을 때 메시지가 나타나지 않았습니다.

접두사가 32 대 64 비트인지 어떻게 확인합니까?

답변:


5

PlayOnLinux를 사용하는 경우 GUI를 사용하여 버전을 확인할 수 있습니다. PlayOnLinux를 열고 관련 프로그램에서 '구성'을 클릭하고 왼쪽의 창을보십시오.

또는 winetricks가 수행하는 작업 (버전 201408173600 경) 은 디렉토리의 존재에 대해 wineprefix를 확인합니다.이 디렉토리 WINEPREFIX/drive_c/windows/syswow64는 32 비트 버전이 아닌 64 비트 Windows / wineprefix에 있습니다. 이것은 일반적인 와인 프리픽스와 PlayOnLinux의 와인 프리픽스에서 작동합니다.


5

PlayonLinux의 가상 드라이브를 탐색하기 만하면됩니다. WINEPREFIX / drive_c / 폴더로 이동하여 Program Files 폴더를 찾으십시오.

ProgramFiles (x86)가없고 Program Files 만 보이는 경우 32 비트 Wine Prefix를 사용하고있는 것입니다. 둘 다 보이면 64 비트 와인 접두사를 사용하고있는 것입니다. 도움이 되었기를 바랍니다 !!


사실이 아닙니다. 방금 접두사가 x86 디렉토리없이 생성 된 상황이 있었지만 drive_c / windows / syswow64가 포함되어 있다는 사실에서 알 수 있듯이 64 비트였습니다.
던컨 X 심슨

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를 실행할 때 "기본 설정"에 대한 옵션이 없습니다.
유기농 대리석

선호 사항이 없습니다.
Karl Morrison

1


'WINEPREFIX / drive_c / windows / syswow64'에 대한 @wilf 덕분에 (작동합니다.).
하지만 시스템이 사용 하는 와인
아치 (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

최종 노트 : 나는 칼리 리눅스에서이 테스트 한 ...
경우 WINEPREFIX = / 루트 / .wine32 다음 고양이 명령은 디렉토리를 포함해야합니다
regedit를 winearch 설정에 대한 내부 폴더를 읽을 수 있도록.


1
당신은 어쩌면 사용하는 루트로 와인을 실행하지 않아야 ~/.wine대신/root/.wine
올리비에 G
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.