كيف يمكنني تشغيل تطبيق OpenGL المثبت على جهاز يعمل بنظام التشغيل Linux من جهاز يعمل بنظام Windows؟

StackOverflow https://stackoverflow.com/questions/106201

سؤال

ومن باب المساعدة فهذه مشكلة واجهتني وقمت بحلها، لذا سأجيب على السؤال هنا.

مشكلة

أملك:

تطبيق يجب تثبيته على مؤسسة Redhat أو SuSE.

لديها متطلبات نظام ضخمة وتتطلب OpenGL.

إنه جزء من مجموعة من الأدوات التي تحتاج إلى العمل معًا على جهاز واحد.

يستخدم هذا التطبيق لمهمة مكثفة الوقت من حيث ساعات العمل.

لا أريد الجلوس في غرفة الخادم للعمل على هذا التطبيق.

لذلك جاء السؤال..كيف يمكنني تشغيل هذا التطبيق من جهاز يعمل بنظام Windows عن بعد؟

سأحدد الحل الخاص بي.لا تتردد في التعليق على البدائل.يجب أن يعمل هذا الحل مع البيئات الأبسط أيضًا.حالتي متطرفة إلى حد ما.

هل كانت مفيدة؟

المحلول

حل

لقد قمت بتثبيت قطعتين من البرامج:

المعجون

XMing-ميسا الجزء ميسا مهم.

تكوين المعجون

Connection->Seconds Between Keepalives: 30
Connection->Enable TCP Keepalives: Yes

Connection->SSH->X11->Enable X11 forwarding: Yes
Connection->SSH->X11->X display location: localhost:0:0

الضحك

يجري اكسمينج والتي ستبدأ ببساطة العملية وتضع رمزًا في علبة النظام.قم بتشغيل المعجون، مشيرًا إلى صندوق Linux الخاص بك، بالتكوين أعلاه.نفذ البرنامج

أملاً، نجاح!

نصائح أخرى

إذا كنت تريد تنفيذ عرض OpenGL على جهازك المحلي، فإن استخدام خادم Windows X، مثل Xming يعد حلاً جيدًا.ومع ذلك، إذا كنت تريد أن يتم العرض على الطرف البعيد باستخدام الصور المرسلة إلى الجهاز المحلي فقط، فأنت تريد نظام VNC متخصص يمكنه التعامل مع عرض OpenGL عن بعد، مثل VirtualGL.

يمكنك أيضًا استخدام VNC (مثل سطح المكتب البعيد Cross Platform) X أكثر فعالية لأنه يرسل فقط أوامر Draw بدلاً من وحدات البكسل ، ولكن إذا كنت تستخدم OpenGL ، فمن المحتمل أن تكون معظم البيانات هي صورة مقدمة على أي حال.

ميزة أخرى كبيرة لـ VNC هي أنه يمكنك بدء البرنامج محليًا على الخادم ثم الاتصال به باستخدام VNC، وقطع الاتصال، وإعادة الاتصال من جهاز آخر وما إلى ذلك دون إزعاج البرنامج قيد التشغيل الرئيسي.

بالنسبة لبرنامج OpenGL، يعد تشغيل خادم X حلاً أفضل بالتأكيد.فقط تأكد من تطوير التطبيق ليكون متصلاً بالشبكة.يجب ألا يستخدم الوضع الفوري للعرض، ونادرًا ما يتم نقل الأنسجة.

لماذا يعتبر خادم X حلاً أفضل في هذه الحالة (على عكس VNC)؟لأنك تحصل على تسريع على محطة العمل، في حين أن حل VNC'ed لا يتم عادةً تسريعه حتى على الحاسوب المركزي.لذا، طالما تم تخزين البيانات مؤقتًا على خادم X (باستخدام مصفوفات قمة الرأس، وكائنات المخزن المؤقت الرأسي، وكائنات النسيج، وما إلى ذلك) فيجب أن تحصل على سرعة أعلى بكثير من استخدام VNC، خاصة مع المشاهد المعقدة حيث يتعين على VNC تحليلها ونقلها وفك تشفيرها بكسل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top