it-swarm-eu.dev

Wie kann ich Dwarf Fortress im Textmodus (ncurses) auf meinem Linux VPS ausführen?

Ich habe Dwarf Fortress auf meinem Linux VPS installiert, um es mit dfterm zu verwenden. Es läuft Ubuntu 10.04 Server x86-32. Ich bin mir ziemlich sicher, dass ich alle Abhängigkeiten habe:

Ich habe installiert:

  • flüche
  • ncursesw
  • libsdl
  • libsdl-image
  • libgtk
  • libglu
  • libopenal1

Ich musste den Ton ausschalten, sonst tritt sofort ein Fehler auf, und ich stellte den Anzeigemodus auf Text ein. Ich habe keine weiteren Änderungen an der Konfiguration vorgenommen.

Aber selbst bevor ich mich Dfterm nähere, läuft es nicht richtig. Es wird nur ein leerer Bildschirm angezeigt. Was könnte das verursachen? Gibt es eine Abhängigkeit, die ich verpasst habe? Gibt es noch etwas, das ich in der Konfiguration hätte ändern sollen?

Angesichts der Tatsache, dass es sich um einen Server handelt, besteht die gute Chance, dass die Entwickler bei fehlenden Abhängigkeiten die Aussage "Sicher, jeder hat dass" getroffen haben und sich nicht darum gekümmert haben, eine Liste zu erstellen.

Andere ncurses-Anwendungen (vim, irssi, glaube ich?) Funktionieren einwandfrei.

14
Macha

Ich konnte das Segfaulting wiederherstellen, indem ich df auf einer regulären Ubuntu-Installation mit deaktiviertem X ausführte.

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

Ich vermute, dass das Problem darin besteht, dass für dieses Spiel ein funktionsfähiger GL Treiber verfügbar sein wird. Und dafür muss X laufen. Aber ein VPS hat kein X!

Verwenden Sie stattdessen Xvfb, ein "falsches" virtuelles X. Sie müssen xvfb und die gewünschten Abhängigkeiten installieren (wahrscheinlich xorg-server-core und eine Reihe anderer Dinge, die möglicherweise nicht auf Ubuntu Server installiert sind).

Starte den fake xserver wie folgt:

 $ Xvfb :1 -screen 0 1024x768x16 &

Stellen Sie dann sicher, dass Ihre DISPLAY-Variable darauf zeigt:

$ export DISPLAY=:1
$ ./df

Ich musste auch Sound deaktivieren und im TEXT-Modus ausführen, aber es funktionierte auf diese Weise, ohne dass X ausgeführt wurde. Ich hoffe es klappt bei dir.

10
Bryce

Hast du diesen DFTerm-Artikel im DF Wiki gesehen? Es werden einige Abhängigkeiten aufgelistet, die Sie anscheinend nicht oben aufgelistet haben ....

1
Rob Cowell

Sie können versuchen, ldd zu verwenden, um festzustellen, ob ein freigegebenes Objekt fehlt.

Zum Beispiel so etwas wie:

ldd /usr/local/bin/df

Alles, was ldd als "nicht gefunden" auflistet, fehlt.

Sie sollten auch versuchen, alle * .so-Dateien (mit ldd) im Spielordner zu überprüfen. Sie finden die * .so-Dateien mit dem folgenden Befehl: find . -iname '*.so' -type f

1
LassePoulsen

Sie müssen Ihre init.txt bearbeiten. Suchen Sie nach einer Einstellung für [PRINT_MODE:2D] und ändern Sie sie in [PRINT_MODE:TEXT]

Sie möchten wahrscheinlich auch zu [SOUND:NO] wechseln.

Sie werden nur mit 80x24 laufen, es sei denn, Sie laufen innerhalb von screen oder tmux.

1
slacy