Cüce Kalesi'ni Linux VPS'imde metin modunda (ncurses) nasıl çalıştırabilirim?


14

Dfterm ile kullanmak için Linux VPS'ime Cüce Kalesi kurdum. Ubuntu 10.04 Server x86-32 çalıştırıyor. Tüm bağımlılıklara sahip olduğumdan oldukça eminim:

Yükledim:

  • ncurses'in
  • ncursesw
  • libsdl
  • libsdl görüntü
  • libgtk
  • libglu
  • libopenal1

Sesi kapatmak zorunda kaldım yoksa anında kesilecek ve ekran modunu metne ayarladım. Yapılandırmada başka değişiklik yapmadım.

Ancak, dfterm'e yaklaşmadan önce bile düzgün çalışmaz. Sadece boş bir ekran görüntüler. Buna ne sebep olabilir? Kaçırdığım bir bağımlılık var mı? Yapılandırmada değiştirmem gereken başka bir şey var mı?

Bir sunucu olduğunu düşünürsek, bir eksik bağımlılık, Devs gitti 's bir şey varsa "Tabii, herkesin sahip olduğu iyi bir şans olduğunu olduğunu ve listeye rahatsız etmedi".

Diğer ncurses uygulamaları (vim, irssi kullan, sanırım?) İyi çalışıyor.


Başlangıçta bunu oyun hakkında sordum, ancak oradaki insanlar burada sormayı önerdi: gaming.stackexchange.com/questions/4716/…
Macha

Ne ilginç bir fikir. Oyunun herhangi bir şey yapmaya çalışıp çalışmadığını söyleyebilir misiniz? Başka bir terminalden 'top' komutunu çalıştırın ve herhangi bir CPU kullanıp kullanmadığını görün.
Nicholas Knight

Yanıtlar:


10

X kapalıyken normal bir Ubuntu kurulumunda df çalıştırarak segfaulting'i yeniden oluşturabildim.

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

Sorunun bu oyunun çalışan bir GL sürücüsüne sahip olmasını beklediğinden şüpheleniyorum. Ve bunun için X koşusuna ihtiyacınız var. Ama bir VPS'de X yok!

Bunun yerine, "sahte" bir sanal X olan Xvfb'yi kullanın. Xvfb'yi ve istediği bağımlılıkları yüklemeniz gerekir (muhtemelen xorg-sunucu çekirdeği ve Ubuntu Sunucusuna yüklenmemiş olabilecek bir grup başka şey).

Sahte xserver'ı şu şekilde başlatın:

 $ Xvfb :1 -screen 0 1024x768x16 &

Ardından DISPLAY değişkeninizin ona işaret ettiğinden emin olun:

$ export DISPLAY=:1
$ ./df

Ayrıca sesi devre dışı bırakmam ve METİN modunda çalıştırmam gerekiyordu, ancak X'in çalışması olmadan bu şekilde çalıştı. Umarım senin için çalışır.


Segfault gitti, ama ben çalıştırdığımda, "Fallback: Open libncurses, çıktı bozuk olabilir. Sembol bulunamadı: waddnwstr." Ve Ctrl-X ile çıkılabilir ama tamamen berbat ssh oturumu. (genişliği 80 + yerine istemi 80 yerine istemi yapar). Bu benim en yakın cevabım, bu yüzden size süresi dolmadan neyse size ödül veriyorum, ama umarım bu yeni problem de çözülebilir.
Macha

Evet, orada bir sembolik bağ eksikti. Bunu düzelttim. Şimdi tek aldığım gri çıktı (terminalimin siyahı değil, farklı bir gri renk).
Macha

Ben bu sembol bulunamadı hatası aldım ve lib32ncursesw5-dev ve lib32ncursesw5 (64-bit olduğum) yüklemek bunu çözdü.
Bryce

32 bit kullanıyorum. Sembol bulunamadı hatası için /usr/lib/libncursesw.so -> /lib/libncursesw.so.5 için bir symlink oluşturmak zorunda kaldım.
Macha

1

DF Wiki'deki bu DFTerm makalesini gördünüz mü ? Yukarıda listelenmemiş gibi görünen bazı bağımlılıkları listeler ....


Bu bağımlılıklar, yaptığım dfterm'i derlemektir. Koşmayan Cüce Kalesi.
Macha

1

lddPaylaşılan bir nesnenin eksik olup olmadığını görmek için kullanmayı deneyebilirsiniz .

Örneğin, şöyle bir şey:

ldd /usr/local/bin/df

Ldd'nin "bulunamadı" olarak listelediği her şey eksik.

Oyun klasöründe varsa tüm * .so dosyalarına (ldd ile) bakmayı da denemelisiniz. * .So dosyalarını şu komutu kullanarak bulabilirsiniz: find . -iname '*.so' -type f


Bu dwarm değil, cüce kalenin kendisi.
Macha

Sonra bu yürütülebilir dosya üzerinde ldd kullanın, ben programı bilmiyorum bu yüzden adını bilmiyorum. / Usr / local / bin klasöründe olup olmadığını bile bilmiyorum ...
LassePoulsen

ldd şunu verir: "Dinamik yürütülebilir değil."
Macha

Oh, iki tane var, biri sadece diğerini yönetiyor. Paylaşılan eksik nesnenin ne olduğunu nasıl anlarım?
Macha

ldd "bulunamadı" olarak listeleyen her şey eksik;)
LassePoulsen

1

İnit.txt dosyanızı düzenlemeniz gerekir. İçin bir ayar arayın [PRINT_MODE:2D]ve[PRINT_MODE:TEXT]

Muhtemelen siz de değiştirmek istersiniz [SOUND:NO].

Ekranın veya tmux'un içinde koşmadığınız sürece sadece 80x24'te çalışacaksınız.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.