
أنشئ بسهولة أجهزة افتراضية كاملة معزولة للتطوير أو لنماذج استخدام الكمبيوتر.
App Sandbox هو تطبيق جهاز افتراضي لنظامي Windows وmacOS يركّز على الأداء وسهولة الاستخدام.
ميزات Windows:
asb.py) لإنشاء وتشغيل أجهزة افتراضية مسرّعة بـ GPU برمجيًاميزات Mac:
asb.py) كما في Windows، لتشغيل أجهزة macOS وWindows 11 الافتراضية برمجيًاالمتطلبات: Windows 11 مع معالج x64 أو macOS Tahoe (سلسلة M)
ينشئ App Sandbox ويشغّل أجهزة افتراضية سطح مكتب كاملة — Windows 11 وUbuntu
وmacOS. وهو مجاني ومفتوح المصدر (MIT)، ويُوزَّع كملفات ثنائية جاهزة (موقّعة بـ EV على
Windows، وموقّعة بـ Apple Developer على macOS) على صفحة
الإصدارات. ويُدار بطريقتين:
من واجهة رسومية، أو برمجيًا عبر خادم بلا واجهة مع حزمة تطوير Python بدون تبعيات
(asb.py). في كلتا الحالتين تختار نظام تشغيل، وتوجّهه إلى صورة مثبّت، فيقوم App Sandbox
بتهيئة القرص، وتشغيل تثبيت غير تفاعلي، وإقلاع الجهاز الضيف. أنت توفّر ISO لنظام Windows
أو Ubuntu؛ أما أجهزة macOS الضيفة فتنزّل صورة الاستعادة تلقائيًا. ويعمل على جهاز
Windows 11 (x64) أو جهاز Mac بمعالج Apple Silicon، بما في ذلك الحواسيب المحمولة.
يعمل على Windows 11 Home، دون Hyper-V. على Windows، لا يستخدم App Sandbox Hyper-V أو Hyper-V Manager؛ بل ينشئ ويشغّل الأجهزة الافتراضية عبر واجهات Windows Host Compute System (HCS) وHost Compute Network (HCN) البرمجية، التي تتطلب فقط ميزة Virtual Machine Platform. فـ Hyper-V محصور في Windows 11 Pro وEnterprise، بينما Virtual Machine Platform متاح على Windows 11 Home، لذا لا حاجة إلى ترخيص Windows 11 Pro. وVirtual Machine Platform هو نفس ميزة Windows التي يستخدمها WSL2.
ما يمكنك استخدامه من أجله:
الواجهة البرمجية بلا واجهة (Headless API).
appsandbox.exe --headless
(أو sudo /Appsandbox.app/Contents/MacOS/AppSandbox --headless على macOS) يبدأ
خادمًا أحادي المالك يستضيف نفس النواة التي تستخدمها الواجهة الرسومية ويكشفها كواجهة
برمجية محلية بأسلوب Docker عبر HTTP/JSON على 127.0.0.1، متطابقة على النظامين. وتغلّفها
حزمة تطوير Python المعتمدة على المكتبة القياسية فقط (asb.py): إنشاء أجهزة افتراضية
مسرّعة بـ GPU (GPU-PV هو خيار إنشاء gpuMode)، والدخول عبر SSH بمفتاح يُنشر تلقائيًا
(أجهزة Windows أو Ubuntu أو macOS الضيفة)، وأخذ لقطات وتفريعات لها، وفتح الشاشة الحية،
وتشغيل عدة أجهزة في آن واحد — وعدد ما يعمل منها بالتزامن محدود بمعالج المضيف وذاكرته
وذاكرة GPU، وليس بحد ثابت. الخادم أحادي المضيف — فهو يدير الأجهزة الافتراضية على الجهاز
الذي يعمل عليه ولا يوفّر أجهزة افتراضية سحابية؛ ولأجل CI، شغّله على runner مستضاف ذاتيًا.
تهيئة جهاز افتراضي تشغّل تثبيتًا غير تفاعلي كاملًا؛ أما اللقطات والتفريعات والقوالب
(على Windows فقط) فتبدأ جهازًا افتراضيًا جديدًا من حالة مهيّأة بدلًا من إعادة التثبيت.
يبقى الجهاز الافتراضي موجودًا حتى يُحذف. واللقطة هي نقطة تحقق لحالة القرص تُؤخذ والجهاز
متوقف، والتفريع يشتق قرصًا قابلًا للكتابة منها لتنفيذ إجراءات متباعدة. المرجع الكامل
للواجهة البرمجية والأمثلة القابلة للتشغيل موجودة في tools/headless-api/.
كيف يعمل: يهدف هذا المستودع أيضًا إلى أن يكون مثالًا عمليًا على إنشاء أجهزة افتراضية
سطح مكتب كاملة برمجيًا باستخدام واجهات Windows HCS/HCN وApple's Virtualization.framework.
على Windows، يرسل App Sandbox مستند جهاز HCS مبنيًا يدويًا إلى computecore.dll /
computenetwork.dll — طبقة HCS/HCN التي يقوم عليها أيضًا WSL2 وWindows Sandbox —
بدلًا من المرور عبر Hyper-V Manager. ويستخدم تسريع GPU المحاكاة الجزئية لـ GPU
(GPU-PV) لمشاركة GPU المثبّتة في المضيف مع الجهاز الضيف — نفس مسار WSL2، وليس تمريرًا
مخصصًا (لا VFIO/IOMMU، ولا GPU ثانٍ). تحصل أجهزة Windows الضيفة على DirectX 12 وOpenGL
وVulkan وCUDA وOpenCL؛ وأجهزة Ubuntu الضيفة على المثل ناقص DirectX؛ وأجهزة macOS الضيفة
على Metal. ويحمل تعريف شاشة غير مباشر مخصص IddCx وجهاز صوت افتراضي الشاشة والصوت،
ويعمل تبادل الحافظة والصوت والإدخال وSSH بين الضيف والمضيف عبر مقابس Hyper-V. تُبنى
أقراص الجهاز الضيف بأداة داخل المستودع تدعم ext4 وsquashfs وqcow2 وVHDX. على macOS،
يستخدم App Sandbox إطار Virtualization.framework من Apple (VZVirtualMachine،
VZMacOSInstaller) عبر virtio-vsock. على Windows، تصل أجهزة Linux (Ubuntu) الضيفة
إلى GPU عبر وحدة نواة DRM/KMS مخصصة (asb_drm)، وdxgkrnl الخاص بـ WSL2 من Microsoft،
وبناء Mesa مخصص. التطبيقات مكتوبة بلغة C / Objective-C أصلية مع واجهة HTML/JS (WebView2
على Windows، وWKWebView على macOS).
اسم المستخدم الافتراضي هو user وكلمة المرور الافتراضية هي test123
[Windows] لتفعيل مفاتيح الاختصار أو كتم صوت الجهاز الافتراضي: اتصل بالجهاز الافتراضي وانقر بزر الفأرة الأيمن على شريط عنوان الاتصال
[Windows] هل تحتاج إلى سطح مكتب بعيد عالي الأداء للوصول إلى جهازك الافتراضي عن بُعد؟ Phaze يعمل جيدًا
[Windows] يمكنك التحقق من أن إعداد تعريف GPU-PV يعمل بتشغيل gpu-test.exe داخل جهاز App Sandbox الافتراضي بنظام Windows، وسيعرض gpu-test.exe نافذة بها 6 مكعبات دوّارة، كل واحدة تستخدم محرك عرض مختلفًا (D3D9، D3D10، D3D11، D3D12، OpenGL وVulkan). إذا فشل واحد أو أكثر، فلن يعرضوا مكعبًا دوّارًا بشكل صحيح لواجهة العرض تلك. gpu-test.zip. ملاحظة: نجاح واجهة العرض يعني أن GPU-PV عمل، لكن أحيانًا تُكتب الألعاب أو التطبيقات بطريقة لا تكتشف فيها نظام GPU-PV بشكل صحيح وتظل تُظهر خطأً.
شكرًا لمشاركتكم الإصلاحات والأفكار! طلبات السحب، بما في ذلك التغييرات المدعومة بالذكاء الاصطناعي من تفريعتكم الخاصة، مرحّب بها كاقتراحات. ومن غير المرجّح أن تُراجَع أو تُدمج رسميًا، لكن المساهمات التي تساعد في تشكيل تغيير ستُذكر بالفضل. راجع إرشادات المساهمة للتفاصيل.