WINE(1) Windows On Unix WINE(1)

wine - اجرای برنامه‌های Windows روی Unix

wine program [arguments]
wine --help
wine --version

برای دریافت دستورالعمل‌های مربوط به ارسال آرگومان‌ها به برنامه‌های Windows، لطفاً بخش برنامه/آرگومان‌ها (PROGRAM/ARGUMENTS) صفحه راهنما را ببینید.

wine برنامه داده‌شده را بارگذاری کرده و اجرا می‌کند، که می‌تواند یک فایل اجرایی DOS، Windows 3.x، Win32 یا Win64 (در سیستم‌های ۶۴ بیتی) باشد.

برای اشکال‌زدایی wine، به‌جای آن از winedbg استفاده کنید.

برای اجرای فایل‌های اجرایی CUI (برنامه‌های کنسولی Windows)، به‌جای wine، از wineconsole استفاده کنید. این کار خروجی را در یک پنجره جداگانه نمایش می‌دهد. عدم استفاده از wineconsole برای برنامه‌های CUI تنها پشتیبانی بسیار محدودی از کنسول ارائه می‌دهد و ممکن است برنامه شما به‌درستی کار نکند.

هنگامی که فقط با --help یا --version فراخوانی شود، wine تنها یک پیام راهنمای کوتاه یا نسخه خود را به‌ترتیب چاپ کرده و خارج می‌شود.

نام برنامه می‌تواند در قالب DOS (C:\\WINDOWS\\SOL.EXE) یا در قالب Unix (/msdos/windows/sol.exe) مشخص شود. می‌توانید با افزودن آرگومان‌ها به انتهای خط فرمانی که wine را فراخوانی می‌کند، آن‌ها را به برنامه در حال اجرا ارسال کنید (مانند: wine notepad C:\\TEMP\\README.TXT). توجه داشته باشید که هنگام فراخوانی Wine از طریق یک شل، باید نویسه‌های خاص (و فاصله‌ها) را با '\' فراردهی (escape) کنید، مانند:

wine C:\\Program\ Files\\MyPrg\\test.exe

همچنین برنامه می‌تواند یکی از فایل‌های اجرایی Windows همراه Wine باشد که در این صورت مشخص کردن مسیر کامل اجباری نیست، مانند wine explorer یا wine notepad.

wine متغیرهای محیطی شلی را که از آن اجرا شده است، در دسترس فرایندهای اجراشده Windows/DOS قرار می‌دهد. بنابراین، از نحو مناسب شل خود برای وارد کردن متغیرهای محیطی مورد نیازتان استفاده کنید.

در صورت تنظیم، محتوای این متغیر به عنوان نام دایرکتوری‌ای در نظر گرفته می‌شود که Wine داده‌های خود را در آن ذخیره می‌کند (پیش‌فرض $HOME/.wine است). این دایرکتوری همچنین برای شناسایی سوکتی که برای ارتباط با wineserver استفاده می‌شود، به کار می‌رود. تمام فرایندهای wine که از یک wineserver یکسان استفاده می‌کنند (یعنی: کاربر یکسان)، مواردی مانند رجیستری، حافظه اشتراکی و فایل پیکربندی را به اشتراک می‌گذارند. با تنظیم WINEPREFIX روی مقادیر مختلف برای فرایندهای مختلف wine، امکان اجرای چندین فرایند کاملاً مستقل از wine فراهم می‌شود.
مسیر و نام باینری wineserver را مشخص می‌کند. اگر تنظیم نشده باشد، Wine به دنبال فایلی به نام "wineserver" در مسیرهای متغیر PATH و چند مکان محتمل دیگر خواهد گشت.
پیام‌های اشکال‌زدایی را روشن یا خاموش می‌کند. نحو (syntax) این متغیر به شکل زیر است: [class][+|-]channel[,[class2][+|-]channel2]

class اختیاری است و می‌تواند یکی از موارد زیر باشد: err، warn، fixme یا trace. اگر class مشخص نشود، تمام پیام‌های اشکال‌زدایی برای کانال (channel) مشخص‌شده روشن می‌شوند. هر کانال پیام‌هایی را درباره یک مؤلفه خاص از Wine چاپ می‌کند. نویسه بعدی می‌تواند + یا - باشد تا کانال مشخص‌شده را به‌ترتیب روشن یا خاموش کند. اگر بخش class پیش از آن وجود نداشته باشد، می‌توان از + ابتدایی صرف‌نظر کرد. توجه داشته باشید که درج فاصله در هیچ‌جای رشته مجاز نیست.

مثال‌ها:

تمام پیام‌های هشدار را روشن می‌کند (برای اشکال‌زدایی توصیه می‌شود).
پیام‌های هشدار DLL و تمام پیام‌های heap را روشن می‌کند.
تمام پیام‌های FIXME را خاموش، پیام‌های هشدار cursor را روشن و تمام پیام‌های relay (فراخوانی‌های API) را روشن می‌کند.
تمام پیام‌های relay را روشن می‌کند. برای کنترل بیشتر بر گنجاندن یا حذف توابع و dllها در ردگیری relay، کلید رجیستری HKEY_CURRENT_USER\Software\Wine\Debug را بررسی کنید.

برای کسب اطلاعات بیشتر درباره پیام‌های اشکال‌زدایی، به فصل Running Wine از Wine User Guide مراجعه کنید.

مسیر(هایی) را که باید در آن‌ها به دنبال dllهای داخلی (builtin) و برنامه‌های Winelib گشت، مشخص می‌کند. این یک فهرست از دایرکتوری‌ها است که با ":" از یکدیگر جدا شده‌اند. علاوه بر هر دایرکتوری مشخص‌شده در WINEDLLPATH، برنامه Wine دایرکتوری محل نصب را نیز بررسی خواهد کرد.
نوع جایگزینی (override) و اولویت بارگذاری dllها را در فرایند بارگذاری برای هر dll تعیین می‌کند. در حال حاضر دو نوع کتابخانه وجود دارد که می‌توانند در فضای آدرس فرایند بارگذاری شوند: dllهای بومی Windows (native) و dllهای داخلی Wine (builtin). نوع را می‌توان با حرف اول آن خلاصه کرد (n یا b). همچنین کتابخانه را می‌توان غیرفعال کرد (''). هر دنباله از اولویت‌ها باید با کاما از یکدیگر جدا شود.

هر dll می‌تواند اولویت بارگذاری خاص خود را داشته باشد. اولویت بارگذاری تعیین می‌کند کدام نسخه از dll برای بارگذاری در فضای آدرس مورد تلاش قرار گیرد. اگر بارگذاری نسخه اول ناموفق بود، نسخه بعدی امتحان می‌شود و به همین ترتیب ادامه می‌یابد. کتابخانه‌های متعدد با اولویت بارگذاری یکسان را می‌توان با کاما از هم جدا کرد. همچنین می‌توان با جدا کردن مدخل‌ها با ";"، اولویت‌های بارگذاری متفاوتی را برای کتابخانه‌های مختلف تعیین کرد.

اولویت بارگذاری برای یک dll شانزده‌بیتی همواره با اولویت بارگذاری dll سی‌ودوبیتی دربردارنده آن تعیین می‌شود (که می‌توان آن را با نگاه کردن به پیوند نمادین فایل .dll.so شانزده‌بیتی شناسایی کرد). برای نمونه اگر ole32.dll به عنوان builtin پیکربندی شده باشد، storage.dll نیز به صورت builtin بارگذاری خواهد شد، زیرا ole32.dll ۳۲ بیتی حاوی storage.dll ۱۶ بیتی است.

مثال‌ها:


ابتدا تلاش می‌کند comdlg32 و shell32 را به صورت dll بومی Windows بارگذاری کند و در صورت ناموفق بودن بارگذاری بومی، نسخه builtin را امتحان می‌کند.

تلاش می‌کند کتابخانه‌های comdlg32 و shell32 را به صورت dllهای بومی Windows بارگذاری کند. علاوه بر این، اگر برنامه‌ای درخواست بارگذاری c:\foo\bar\baz.dll را داشته باشد، کتابخانه داخلی baz را بارگذاری می‌کند..TP WINEDLLOVERRIDES="comdlg32=b,n;shell32=b;comctl32=n;oleaut32="
تلاش می‌کند تا comdlg32 ابتدا به صورت توکار (builtin) بارگذاری شود و در صورت شکست، نسخهٔ محلی (native) آن امتحان شود؛ shell32 همواره به صورت توکار و comctl32 همواره به صورت محلی بارگذاری می‌شوند؛ oleaut32 نیز غیرفعال خواهد بود.
مسیر(های) اضافه‌ای را برای افزوده شدن به ابتدای متغیر محیطی پیش‌فرض PATH ویندوز مشخص می‌کند. این مقدار فهرستی از دایرکتوری‌ها به سبک ویندوز است که با «;» از یکدیگر جدا شده‌اند.

برای ایجاد یک جایگزین دائمی، مقدار PATH را در زیرکلید رجیستری HKEY_CURRENT_USER ironment ویرایش کنید (در صورت نیاز ایجاد نمایید).

معماری ویندوز مورد پشتیبانی را مشخص می‌کند. این مقدار می‌تواند روی win32 (فقط پشتیبانی از برنامه‌های ۳۲ بیتی)، روی win64 (پشتیبانی از هر دو برنامه‌های ۶۴ بیتی و ۳۲ بیتی)، یا روی wow64 (پشتیبانی از برنامه‌های ۶۴ بیتی و ۳۲ بیتی، با استفاده از فرایند میزبان ۶۴ بیتی در تمام حالات) تنظیم شود.
معماری پشتیبانی‌شده توسط یک پیشوند (prefix) مشخصِ Wine در هنگام ایجاد پیشوند تعیین می‌شود و پس از آن قابل تغییر نیست. هنگام اجرا با یک پیشوند موجود، اگر WINEARCH با معماری پیشوند مطابقت نداشته باشد، Wine از راه‌اندازی خودداری خواهد کرد. با این وجود، تغییر آزادانه میان win64 و wow64 در یک پیشوند ۶۴ بیتیِ موجود امکان‌پذیر است.
گزینه‌های پیکربندی Direct3D را مشخص می‌کند. این متغیر می‌تواند به جای تغییر کلید رجیستری HKEY_CURRENT_USER\Software\Wine\Direct3D به کار رود. مقدار آن فهرستی از جفت‌های کلید-مقدار است که با کاما یا نقطه-ویرگول از هم جدا شده‌اند.
برای مثال:

اگر تنظیمی به صورت جداگانه هم در متغیر محیطی و هم در رجیستری مشخص شده باشد، متغیر محیطی اولویت خواهد داشت.

نمایشگر X11 مورد استفاده را مشخص می‌کند.
متغیرهای پیکربندی درایور صوتی OSS:
دستگاه ورودی / خروجی صدا را تعیین می‌کند. پیش‌فرض /dev/dsp.
دستگاه مربوط به کنترل‌های میکسر را تعیین می‌کند. پیش‌فرض /dev/mixer.
دستگاه MIDI (ترتیب‌سنج) را تعیین می‌کند. پیش‌فرض /dev/sequencer.

بارگذار برنامهٔ Wine.
بارگذار برنامهٔ Wine برای برنامه‌های رابط کاربری متنی/کنسول (CUI).
سرور Wine.
دیباگر Wine.
$WINEPREFIX/dosdevices
دایرکتوری حاوی نگاشت‌های دستگاه‌های DOS. هر فایل در این دایرکتوری یک پیوند نمادین به فایل دستگاه یونیکس مربوطه است که آن دستگاه را پیاده‌سازی می‌کند. برای نمونه، اگر COM1 به /dev/ttyS0 نگاشت شده باشد، یک پیوند نمادین به صورت $WINEPREFIX/dosdevices/com1 -> /dev/ttyS0 خواهید داشت.
درایوهای DOS نیز با پیوندهای نمادین مشخص می‌شوند؛ برای نمونه اگر درایو D: متناظر با CDROM سوارشده در /mnt/cdrom باشد، پیوندی نمادین به صورت $WINEPREFIX/dosdevices/d: -> /mnt/cdrom خواهید داشت. دستگاه یونیکس متناظر با یک درایو DOS را نیز می‌توان به همین روش مشخص کرد، تنها با این تفاوت که به جای «:» از «::» استفاده می‌شود. بنابراین برای مثال پیشین، اگر دستگاه CDROM از مسیر /dev/hdc سوار شده باشد، پیوند نمادین مربوطه به صورت $WINEPREFIX/dosdevices/d:: -> /dev/hdc خواهد بود..SH "نویسندگان (AUTHORS)" Wine به لطف تلاش توسعه‌دهندگان بسیاری در دسترس است. برای مشاهده فهرستی از نویسندگان، لطفاً فایل AUTHORS را در بالاترین سطح دایرکتوری توزیع سورس‌کد بررسی کنید.

Wine تحت شرایط مجوز LGPL قابل توزیع است. نسخه‌ای از این مجوز در فایل COPYING.LIB در بالاترین سطح دایرکتوری توزیع سورس‌کد قرار دارد.

گزارش وضعیت بسیاری از برنامه‌ها در پایگاه داده برنامه‌های Wine موجود است. لطفاً در صورت نیاز، برای برنامه‌هایی که در حال حاضر اجرا می‌کنید، مدخل‌هایی را به این فهرست بیفزایید.

باگ‌ها را می‌توان در سامانه ردیابی باگ Wine گزارش کرد.

تازه‌ترین نسخه عمومی wine از طریق WineHQ، یعنی مرکز توسعه Wine در دسترس است.

wineserver(1), winedbg(1),
مستندات و پشتیبانی Wine.

July 2013 Wine 11.17