web-dev-qa-db-ja.com

Linux VPSでテキストモード(ncurses)でDwarf Fortressを実行するにはどうすればよいですか?

Linux VPSにDwarf Fortressをインストールして、dftermで使用しました。 Ubuntu 10.04 Server x86-32を実行しています。私はすべての依存関係があることをかなり確信しています:

私はインストールしました:

  • ncurses
  • ncursesw
  • libsdl
  • libsdl-image
  • libgtk
  • libglu
  • libopenal1

サウンドをオフにしないと、すぐにセグメンテーション違反になり、表示モードをテキストに設定しました。構成に他の変更は加えていません。

ただし、dftermに近づく前でも、正しく動作しません。空白の画面を表示するだけです。これは何が原因ですか?逃した依存関係はありますか?構成で変更する必要がある他のものはありますか?

サーバーであることを考えると、依存関係が欠落している場合、開発者が「確かに、誰もがthatを使用し、リストに記載する必要がない」という可能性があります。

他のncursesアプリケーション(vim、irssiが使用していると思いますか?)は正常に動作します。

14
Macha

Xをオフにして、通常のUbuntuインストールでdfを実行することで、セグメンテーション違反を再現できました。

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

問題は、このゲームが機能するGLドライバーを利用できることを期待していることだと思います。そのためには、Xを実行する必要があります。しかし、VPSにはXがありません!

代わりに、「偽の」仮想XであるXvfbを使用します。xvfbと、必要な依存関係(おそらくxorg-server-coreおよびUbuntu Serverにインストールされていない可能性のある他のもの)をインストールする必要があります。

次のように偽のxserverを起動します。

 $ Xvfb :1 -screen 0 1024x768x16 &

次に、DISPLAY変数がポイントされていることを確認します。

$ export DISPLAY=:1
$ ./df

また、サウンドを無効にしてTEXTモードで実行する必要がありましたが、Xは実行されずにこの方法で動作しました。私はそれがあなたのために働くことを望みます。

10
Bryce

DF Wikiで このDFTermの記事 を見ましたか?上記にリストされていないように見えるいくつかの依存関係をリストします。..

1
Rob Cowell

lddを使用して、共有オブジェクトが欠落しているかどうかを確認できます。

たとえば、次のようなもの:

ldd /usr/local/bin/df

Lddが「not found」としてリストするものはすべて欠落しています。

また、ゲームフォルダーにすべての* .soファイル(lddがある場合)を確認する必要があります。次のコマンドを使用して、*。soファイルを見つけることができます:find . -iname '*.so' -type f

1
LassePoulsen

Init.txtを編集する必要があります。 [PRINT_MODE:2D]の設定を探し、[PRINT_MODE:TEXT]に変更します

おそらく[SOUND:NO]に変更することもできます。

ただし、画面またはtmuxの内部で実行しない限り、80x24でのみ実行されます。

1
slacy