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 eine gute Chance, dass die Entwickler bei fehlenden Abhängigkeiten "Sicher, jeder hat das " gewählt haben und sich nicht darum gekümmert haben , eine Liste zu erstellen .
Andere ncurses-Anwendungen (vim, irssi, glaube ich?) Funktionieren einwandfrei.
Antworten:
Ich konnte das Segfaulting wiederherstellen, indem ich df auf einer regulären Ubuntu-Installation mit deaktiviertem X ausführte.
Ich vermute, das Problem ist, dass für dieses Spiel ein funktionsfähiger GL-Treiber erwartet 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:
Stellen Sie dann sicher, dass Ihre DISPLAY-Variable darauf zeigt:
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 funktioniert für dich.
quelle
Haben Sie diesen DFTerm-Artikel im DF-Wiki gesehen? Es werden einige Abhängigkeiten aufgelistet, die Sie anscheinend nicht oben aufgelistet haben ....
quelle
Sie können versuchen,
ldd
zu ermitteln, ob ein freigegebenes Objekt fehlt.Zum Beispiel so etwas wie:
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
quelle
Sie müssen Ihre init.txt bearbeiten. Suchen Sie nach einer Einstellung
[PRINT_MODE:2D]
und ändern Sie sie in[PRINT_MODE:TEXT]
Sie möchten wahrscheinlich auch zu wechseln
[SOUND:NO]
.Sie werden nur mit 80x24 laufen, es sei denn, Sie laufen innerhalb von screen oder tmux.
quelle