Как проверить, является ли мой префикс Wine 32-битным или 64-битным?

Я видел множество потоков, объясняющих, как создать 32-битный префикс, но я хочу проверить, является ли префикс, который я использую, 32-битный или 64-битный. Причина, по которой я спрашиваю, заключается в том, что я использую PlayOnLinux и создал 32-битный виртуальный диск (например, X). Теперь, когда я открываю winetricks в папке ~ / .PlayOnLinux / wineprefix, wineprefix выдает мне сообщение

Вы используете 64-битный WINEPREFIX. Если у вас возникли проблемы, пожалуйста, протестируйте чистый 32-битный WINEPREFIX перед тем, как сообщить об ошибке.

Но когда я открыл wineprefix в ~ / .PlayOnLinux / wineprefix / X, сообщение не появилось.

Как я могу проверить, является ли префикс 32 против 64 бит?

15
задан 20 July 2014 в 03:43

5 ответов

При использовании PlayOnLinux можно проверить, какая версия с помощью GUI - открывают PlayOnLinux, нажмите 'Configure' на соответствующую программу и посмотрите на область слева:

, С другой стороны, можно сделать то, что winetricks делает (в версии 20140817, приблизительно строка 3600) , который является проверкой wineprefix для присутствия каталога WINEPREFIX/drive_c/windows/syswow64, который должен быть найден в 64 битах windows/wineprefix, но не версии на 32 бита. Это должно работать на обычный wineprefixes и тех под PlayOnLinux.

4
ответ дан 20 July 2014 в 03:43

Вы могли установить winetricks и ввести это в терминале:

 sudo apt-get install winetricks

и затем выполненный winetricks, и затем Вы видите его в предпочтении.

1
ответ дан 20 July 2014 в 14:43

Все, что необходимо сделать, Обзор Виртуальные диски PlayonLinux. Перейдите к папке WINEPREFIX/drive_c/и ищите папку Program Files.

, Если Вы только видите Программные файлы и никакой ProgramFiles (x86) Затем, Вы используете Винный Префикс на 32 бита. Если Вы видите обоих затем, что Вы используете Винный Префикс на 64 бита. Надежда это помогает!!

5
ответ дан 20 July 2014 в 14:43

Мне было нужно что-то подобное в сценарии, таким образом, сделал этот сценарий на основе ответа @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
ответ дан 20 July 2014 в 14:43


Благодаря @wilf для 'WINEPREFIX/drive_c/windows/syswow64' (это работает)..
но я редактировал винный реестр для нахождения любой записи, которая показывает
какой 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..
если WINEPREFIX =/root/.wine32 затем команда кошки должен содержать тот каталог
смочь считать внутреннюю папку для regedit winearch настройки.

1
ответ дан 6 August 2019 в 08:57

Другие вопросы по тегам:

Похожие вопросы: