मैं अपने लिनक्स VPS पर टेक्स्ट मोड (ncurses) में बौना किले को कैसे चला सकता हूं?


14

मैंने अपने लिनक्स VPS पर बौना किले को dfterm के साथ उपयोग करने के लिए स्थापित किया। यह Ubuntu 10.04 सर्वर x86-32 चल रहा है। मुझे पूरा यकीन है कि मेरे पास सभी निर्भरताएं हैं:

मैंने स्थापित किया है:

  • ncurses
  • ncursesw
  • libsdl
  • libsdl छवि
  • libgtk
  • libglu
  • libopenal1

मुझे ध्वनि बंद करना पड़ा या यह तुरंत सीफ़ॉल्ट हो जाएगा, और मैंने डिस्प्ले मोड को टेक्स्ट पर सेट कर दिया। मैंने कॉन्फ़िगरेशन में कोई अन्य परिवर्तन नहीं किया है।

हालाँकि, इससे पहले कि मैं dfterm के पास जाऊँ, यह ठीक से नहीं चलेगा। यह सिर्फ एक खाली स्क्रीन प्रदर्शित करता है। ऐसा किसके कारण हो सकता है? क्या कोई निर्भरता याद आती है? क्या कुछ और है जो मुझे कॉन्फ़िगर में बदलना चाहिए था?

यह देखते हुए कि यह एक सर्वर है, एक अच्छा मौका है कि अगर कोई लापता निर्भरता है, तो यह कुछ ऐसा है कि देवता "निश्चित रूप से, सभी के पास है " और सूची में परेशान नहीं हुए।

अन्य ncurses अनुप्रयोग (vim, irssi इसका उपयोग करते हैं, मुझे लगता है?) ठीक काम करते हैं।


मैंने इसे गेमिंग पर मूल रूप से पूछा था, लेकिन वहां के लोगों ने यहां पूछने का सुझाव दिया: Gaming.stackexchange.com/questions/4716/…
Macha

हुह, क्या दिलचस्प विचार है। क्या आप बता सकते हैं कि क्या खेल कुछ करने की कोशिश कर रहा है? दूसरे टर्मिनल से 'टॉप' चलाएं और देखें कि क्या यह किसी सीपीयू का उपयोग कर रहा है।
निकोलस नाइट

जवाबों:


10

मैं एक नियमित उबंटू स्थापित पर एक्स चालू करने के साथ df चलाकर segfaulting को फिर से बनाने में सक्षम था।

...
(Dwarf_Fortress:5346): Gdk-CRITICAL **: gdk_window_new: assertion `GDK_IS_WINDOW (parent)' failed
Segmentation fault

मुझे संदेह है कि समस्या यह है कि इस गेम में एक कामकाजी जीएल ड्राइवर उपलब्ध है। और इसके लिए आपको एक्स रनिंग की आवश्यकता है। लेकिन एक VPS में X नहीं है!

इसके बजाय, Xvfb का उपयोग करें, जो एक "नकली" आभासी X है। आपको xvfb और जो कुछ भी निर्भरताएं चाहिए वह स्थापित करने की आवश्यकता होगी (शायद xorg-server-core और अन्य सामान का एक गुच्छा जो उबंटू सर्वर पर स्थापित नहीं हो सकता है)।

नकली xserver को इस तरह शुरू करें:

 $ Xvfb :1 -screen 0 1024x768x16 &

फिर सुनिश्चित करें कि आपके प्रदर्शन चर को इंगित किया गया है:

$ export DISPLAY=:1
$ ./df

मुझे TEXT मोड में ध्वनि को अक्षम करने और चलाने की भी आवश्यकता थी, लेकिन इस तरह से काम किया, जिसमें कोई एक्स नहीं चल रहा था। आशा है कि ये आपके काम आएगा।


सेगफ़ॉल्ट हो गया है, लेकिन जब मैं इसे चलाता हूं, तो मुझे "फ़ालबैक: ओपन लिबनेर्सेस मिलते हैं, आउटपुट टूट सकता है। सिंबल नहीं मिला: waddnwstr।", और कोई अधिक आउटपुट नहीं देता है, जो Ctrl-X के साथ बाहर निकल सकता है लेकिन पूरी तरह से गड़बड़ कर देता है। ssh सत्र। (चौड़ाई 80 + प्रॉम्प्ट बनाता है बजाय 80 इंक। प्रॉम्प्ट)। यह मुझे मिला निकटतम जवाब है, इसलिए मैं आपको वैसे भी इनाम दे रहा हूं, इससे पहले कि यह समाप्त हो जाए, लेकिन मुझे उम्मीद है कि इस नई समस्या को भी हल किया जा सकता है।
मचहा

वहीं, मुझे वहां एक सिमलिंक याद आ रही थी। तय किया कि अब मुझे मिलता है ग्रे आउटपुट (मेरे टर्मिनल का काला नहीं, बल्कि एक अलग ग्रे रंग)।
माचा

मुझे लगता है कि प्रतीक को त्रुटि नहीं मिली, और lib32ncursesw5-dev और lib32ncursesw5 (मैं 64-बिट पर हूं) को स्थापित करने से इसे हल किया गया।
ब्रज

मैं 32 बिट का उपयोग कर रहा हूं। मुझे त्रुटि नहीं मिली प्रतीक के लिए /usr/lib/libncursesw.so -> /lib/libncursesw.so.5 के लिए एक सिमलिंक बनाना था।
माचा

1

क्या आपने डीएफ विकी पर यह DFTerm लेख देखा है ? यह कुछ निर्भरता को सूचीबद्ध करता है जो आपको ऊपर सूचीबद्ध नहीं लगते हैं ...।


वे निर्भरताएँ बाद के संकलन के लिए हैं, जो मैंने किया है। यह बौना किला है जो नहीं चलेगा।
माचा

1

आप यह देखने के लिए उपयोग करने का प्रयास कर सकते lddहैं कि क्या कोई साझा ऑब्जेक्ट गायब है।

उदाहरण के लिए, कुछ इस तरह:

ldd /usr/local/bin/df

सब कुछ जो "नहीं मिला" के रूप में सूचीबद्ध करता है गायब है।

आपको सभी * .so फ़ाइलों (ldd के साथ) को गेम फ़ोल्डर में कोई भी देखने का प्रयास करना चाहिए। आप इस कमांड का उपयोग करके * .so फाइलें पा सकते हैं: find . -iname '*.so' -type f


यह बौना किला है, इसके बाद नहीं, यह नहीं चलेगा।
मटका

फिर उस निष्पादन योग्य पर ldd का उपयोग करें, मुझे प्रोग्राम का पता नहीं है इसलिए मुझे इसका नाम नहीं पता है। मुझे यह भी नहीं पता कि यह / usr / लोकल / बिन फोल्डर में है ...
LassePoulsen

ldd देता है: "एक गतिशील निष्पादन योग्य नहीं है।"
मचह

ओह, दो हैं, एक दूसरे को चलाता है। मैं कैसे बताऊंगा कि एक लापता साझा वस्तु क्या है?
मटका

सब कुछ जो "नहीं मिला" के रूप में सूचीबद्ध करता है गायब है;)
LassePoulsen

1

आपको अपना init.txt एडिट करना होगा। इसके लिए एक सेटिंग देखें [PRINT_MODE:2D]और उसे बदल दें[PRINT_MODE:TEXT]

आप शायद इसे भी बदलना चाहते हैं [SOUND:NO]

आप केवल 80x24 पर चलेंगे जब तक आप स्क्रीन या tmux के अंदर नहीं दौड़ते।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.