Как мне запустить Dwarf Fortress в текстовом режиме (ncurses) на моем Linux VPS?

Я установил Dwarf Fortress на Linux VPS для использования с dfterm. Он работает под управлением Ubuntu 10.04 Server x86-32. Я вполне уверен, что у меня есть все зависимости:

Я установил:

  • ncurses
  • ncursesw
  • libsdl
  • [ 114] libsdl-image
  • libgtk
  • libglu
  • libopenal1

Мне пришлось отключить звук, иначе он мгновенно перестанет работать, и я установил режим отображения текста. Я не сделал никаких других изменений в конфигурации.

1111 Однако, даже прежде чем я подойду к дфтерму, он не будет работать должным образом. Он просто отображает пустой экран. Что может быть причиной этого? Есть ли зависимость, которую я пропустил? Есть ли что-то еще, что я должен был изменить в конфиге?

Учитывая, что это сервер, есть хороший шанс, что если отсутствует зависимость, это то, что разработчики пошли "Конечно, у всех есть [ 110], который "и не удосужился перечислить.

Другие приложения ncurses (vim, irssi его используют, я думаю?) Работают нормально.

14
задан 8 August 2010 в 02:28

4 ответа

Я смог воссоздать segfaulting, запустив df на обычной установке Ubuntu с выключенным X.

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

Я подозреваю, что проблема в том, что в этой игре должен быть доступен работающий драйвер GL. И для этого вам нужен X работает. Но VPS не имеет X!

Вместо этого используйте Xvfb, который является «поддельным» виртуальным X. Вам нужно будет установить xvfb и любые зависимости, которые он хочет (вероятно, xorg-server-core и куча других вещей, которые не могут быть установлены на Ubuntu Server).

Запустите fake xserver следующим образом:

 $ Xvfb :1 -screen 0 1024x768x16 &

Затем убедитесь, что на него указана переменная DISPLAY:

$ export DISPLAY=:1
$ ./df

Мне также нужно было отключить звук и запустить в текстовом режиме. режим, но он работал таким образом, без X работает. Я надеюсь, что это работает для вас.

0
ответ дан 8 August 2010 в 02:28

Вам нужно отредактировать ваш init.txt. Найдите настройку для [PRINT_MODE:2D] и измените ее на [PRINT_MODE:TEXT]

Возможно, вы также захотите изменить на [SOUND:NO].

Вы будете работать только с разрешением 80x24, если только вы не запускаете внутри экрана или tmux.

0
ответ дан 8 August 2010 в 02:28

Вы видели эту статью DFTerm на DF Wiki? В нем перечислены некоторые зависимости, которые вы, кажется, не перечислили выше ....

0
ответ дан 8 August 2010 в 02:28

Вы можете попробовать использовать ldd, чтобы увидеть, отсутствует ли общий объект.

Например, что-то вроде:

ldd /usr/local/bin/df

Все, что ldd перечисляет как «not found», отсутствует.

Вы также должны попытаться просмотреть все файлы * .so (с ldd), если они есть, в папке с игрой. Вы можете найти файлы * .so с помощью этой команды: find . -iname '*.so' -type f

0
ответ дан 8 August 2010 в 02:28

Другие вопросы по тегам:

Похожие вопросы: