我在我的 Linux VPS 上安装了 Dwarf Fortress 以与 dfterm 一起使用。它运行 Ubuntu 10.04 服务器 x86-32。我相当确定我拥有所有依赖项:
我已经安装了:
- 诅咒
- ncursesw
- 库文件
- libsdl-图像
- libgtk
- libglu
- libopenal1
我不得不关闭声音,否则它会立即出现段错误,我将显示模式设置为文本。我没有对配置进行其他更改。
但是,即使在我靠近 dfterm 之前,它也无法正常运行。它只是显示一个空白屏幕。这可能是什么原因造成的?有没有我错过的依赖?还有什么我应该在配置中改变的吗?
鉴于它是一个服务器,如果缺少依赖项,开发人员很有可能会说“当然,每个人都有那个”并且没有费心去列出。
其他 ncurses 应用程序(vim,irssi 使用它,我认为?)工作正常。
我能够通过在关闭 X 的常规 Ubuntu 安装上运行 df 来重新创建段错误。
我怀疑问题是这个游戏需要一个正常工作的 GL 驱动程序。为此,您需要 X 运行。但是VPS没有X!
相反,使用 Xvfb,它是一个“假”虚拟 X。你需要安装 xvfb 和它想要的任何依赖项(可能是 xorg-server-core 和一堆其他可能没有安装在 Ubuntu Server 上的东西)。
像这样启动假的 xserver:
然后确保您的 DISPLAY 变量指向它:
我还需要禁用声音并在 TEXT 模式下运行,但它以这种方式工作,没有运行 X。我希望这个对你有用。
您可以尝试使用
ldd
来查看是否缺少共享对象。例如,类似:
ldd 列为“未找到”的所有内容都丢失了。
您还应该尝试查看游戏文件夹中的所有 *.so 文件(带有 ldd)。您可以使用以下命令找到 *.so 文件:
find . -iname '*.so' -type f
您在 DF Wiki 上看过这篇 DFTerm 文章吗?它列出了一些您似乎没有在上面列出的依赖项......
您需要编辑您的 init.txt。查找设置
[PRINT_MODE:2D]
并将其更改为[PRINT_MODE:TEXT]
您可能也想更改
[SOUND:NO]
为。除非您在屏幕或 tmux 内运行,否则您只能以 80x24 运行。