अगर मेरी शराब उपसर्ग 32 बिट या 64 बिट है तो कैसे जांचें?


16

मैंने थ्रेड्स के टन को समझाते हुए बताया कि 32 बिट प्रीफिक्स कैसे बनाया जाता है, लेकिन मैं यह जांचना चाहता हूं कि जो उपसर्ग मैं उपयोग कर रहा हूं वह 32 बिट या 64 बिट है। कारण मैं पूछ रहा हूं कि मैं PlayOnLinux का उपयोग कर रहा हूं, और मैंने 32 बिट वर्चुअल ड्राइव (उदाहरण के लिए एक्स) बनाया है। अब जब मैं फ़ोल्डर में winetricks को खोलता हूं ~ / .PlayOnLinux / wineprefix, वाइनपेरिक्स मुझे संदेश देता है

आप 64-बिट WINEPREFIX का उपयोग कर रहे हैं। यदि आपको समस्याएँ आती हैं, तो बग की रिपोर्ट करने से पहले कृपया एक साफ 32-बिट WINEPREFIX में फिर से देखें।

लेकिन, जब मैंने ~ / .PlayOnLinux / Wineprefix / X में शराब की बोतलें खोलीं, तो संदेश दिखाई नहीं दिया।

यदि उपसर्ग 32 बनाम 64 बिट है, तो मैं कैसे जांच सकता हूं?

जवाबों:


5

यदि आप PlayOnLinux का उपयोग कर रहे हैं, तो आप GUI का उपयोग करके कौन सा संस्करण देख सकते हैं - PlayOnLinux खोलें, संबंधित प्रोग्राम पर 'कॉन्फ़िगर करें' पर क्लिक करें, और बाईं ओर फलक देखें:

वैकल्पिक रूप से, आप कर सकते हैं कि winetricks क्या करता है (संस्करण में 20140817, लगभग 3600 लाइन) , जो निर्देशिका की उपस्थिति के लिए वाइनपरिफ़िक्स की जांच करता है WINEPREFIX/drive_c/windows/syswow64, जिसे 64 बिट विंडो / वाइनपरिक्स में पाया जाना चाहिए, लेकिन 32 बिट संस्करण नहीं। यह साधारण वाइनपेरिफिक्स और प्लेऑनलाइन के तहत काम करना चाहिए।


5

आपको बस इतना करना है, PlayonLinux के वर्चुअल ड्राइव को ब्राउज़ करें। WINEPREFIX / drive_c / फ़ोल्डर पर जाएं और प्रोग्राम फ़ाइलें फ़ोल्डर देखें।

यदि आप केवल Program Files और no ProgramFiles (x86) देखते हैं तो आप 32 बिट वाइन उपसर्ग का उपयोग कर रहे हैं। यदि आप दोनों देखते हैं तो आप 64 बिट वाइन उपसर्ग का उपयोग कर रहे हैं। उम्मीद है की यह मदद करेगा !!


यह सच नहीं है। मेरे पास एक ऐसी स्थिति थी जहां उपसर्ग को x86 निर्देशिका के बिना उत्पन्न किया गया था, लेकिन यह 64-बिट था जैसा कि इस तथ्य से पता चलता है कि इसमें drive_c / windows / syswow64 था।
डंकन एक्स सिम्पसन

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
जब मैं वाइनेट्रिक चलाता हूं, तो "वरीयता" के लिए कोई विकल्प नहीं है।
ऑर्गेनिक मार्बल

कोई वरीयता नहीं है।
कार्ल मॉरिसन

1


@ WILPREFIX / drive_c / windows / syswow64 ' के लिए @ wilf के लिए धन्यवाद (यह काम करता है) ..
लेकिन मैं किसी भी प्रविष्टि को खोजने के लिए वाइन रजिस्ट्री का संपादन कर रहा
हूं जिससे पता चलता है कि सिस्टम किस 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
आपको वाइन को रूट के रूप में नहीं चलाना चाहिए ताकि शायद ~/.wineइसके बजाय उपयोग करें/root/.wine
ओलिवियर जी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.