سؤال

ولدي برنامج جافا باستخدام AWT التي أود أن تعمل على نظام مقطوعة الرأس. عرض للبرنامج لا يفعل شيئا آخر غير احصائيات العرض. عند انتهاء البرنامج، فإنه يخرج. لا يوجد تفاعل المستخدم على الشاشة. البرنامج بإنشاء ملف إخراج التي يمكنني استخدامها في بناء نظام بلدي.

هل هناك طريقة للحصول على برنامج جافا لتشغيل بدون شاشة X11 تكوين؟ يمكنني إجبار جافا لتشغيل البرنامج دون محاولة عرض أي شيء؟ أنا لا يستطيعون الوصول إلى شفرة المصدر (انها مجرد ملف بامتداد)، لذلك لا يمكن إجراء تعديلات على المصدر.

وأية أفكار عن كيف يمكن الحصول على هذا العمل؟

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

المحلول

والسؤال الأساسي هنا هو كيفية تشغيل تطبيقات جافا بدون خادم X؛ توفير الخادم "وهمية" X هو خيار واحد فقط. في جاوة 1.4 فما فوق، يمكنك أن تفعل ما يلي:

java -Djava.awt.headless=true

وهذا يسمح للتطبيقات التي تستخدم AWT لتعمل على أنظمة مقطوعة الرأس حتى من دون خادم X.

نصائح أخرى

وXvfb تستطيع أن تفعل ما تسأل عنه. أنا لم تستخدم ذلك بنفسي، ولكن هنا هو ارتباط إلى ويكيبيديا: http://en.wikipedia.org / ويكي / Xvfb

ويمكنك استخدام vncserver.

vncserver :1001
export DISPLAY=localhost:1001
java..

ومزايا واضاف هو أنه يمكنك مشاهدة في الواقع واجهة المستخدم الرسومية باستخدام vncserver 'فقط في حالة'

ويمكن أيضا تشغيل Xvnc في قرار واللون منخفض العمق.

وكما ذكر من قبل تشارلز دافي الطريقة التقليدية هو أن أقول جافا للذهاب مقطوعة الرأس.

لاحظ أنه يمكنك تحميل دائما جرة في الكسوف واستخدام جاد + jadclipse لنرى ما يفعل في الواقع، وربما تجاوز فئة إذا كنت بحاجة إلى طريق وضع ملف فئة أخرى في "الجبهة" منه في classpath .

ومرفق التي قد تكون ذات صلة إذا كان البرنامج يستخدم Java2D هو أن إصدارات أحدث جافا استخدام أمثل في خادم X11 لتقديم أسرع. وهذا وحده قد يكون سببا لتكريس خادم X11 تعلق على بطاقة رسومات عالية الأداء لمعالجة الرسومات الخاصة بك.

ولقد استعملت بنجاح كبير في الماضي PJA المكتبات، ودون 'ر يبدو أن يستمر بعد الآن، ولكن بعد ذلك مرة أخرى، فقط أريد فقط لتشغيل ...

وكنت قادرا على الحصول على وضع مقطوعة الرأس في OpenJFX مع وسائط سطر الأوامر

-Dglass.platform=Monocle -Dmonocle.platform=Headless -Dprism.order=sw
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top