Como posso executar o Dwarf Fortress no modo de texto (ncurses) no meu Linux VPS?

14

Eu instalei o Dwarf Fortress no meu Linux VPS para usar com o dfterm. Está executando o Ubuntu 10.04 Server x86-32. Tenho certeza de que tenho todas as dependências:

Eu instalei:

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

Eu tive que desligar o som ou ele irá se fragmentar instantaneamente, e eu configurei o modo de exibição para texto. Não fiz outras alterações na configuração.

No entanto, mesmo antes de eu chegar perto do dfterm, ele não funcionará corretamente. Apenas exibe uma tela em branco. O que poderia estar causando isso? Existe uma dependência que eu perdi? Há algo mais que eu deveria ter mudado na configuração?

Dado que é um servidor, há uma boa chance de que, se houver uma dependência ausente, seja algo que os desenvolvedores tenham "Claro, todos têm isso " e não se deram ao trabalho de listar .

Outros aplicativos ncurses (vim, irssi use, eu acho?) funcionam bem.

    
por Macha 08.08.2010 / 00:22

4 respostas

10

Eu consegui recriar o segfaulting executando o df em uma instalação normal do Ubuntu com o X desativado.

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

Eu suspeito que o problema é que este jogo espera ter um driver GL funcional disponível. E para isso você precisa do X correndo. Mas um VPS não tem X!

Em vez disso, use Xvfb, que é um "falso" virtual X. Você precisará instalar o xvfb e quaisquer dependências que desejar (provavelmente xorg-server-core e um monte de outras coisas que podem não estar instaladas no Ubuntu Server ).

Inicie o xserver falso assim:

 $ Xvfb :1 -screen 0 1024x768x16 &

Em seguida, verifique se sua variável DISPLAY está apontada para ela:

$ export DISPLAY=:1
$ ./df

Eu também precisava desabilitar o som e rodar no modo TEXT, mas funcionava assim, sem o X rodando. Espero que funcione para você.

    
por Bryce 20.08.2010 / 07:19
1

Você viu este artigo do DFTerm no DF Wiki? Ele lista algumas dependências que você não parece ter listado acima ...

    
por Rob Cowell 19.08.2010 / 17:25
1

Você pode tentar usar ldd para ver se há um objeto compartilhado ausente.

Por exemplo, algo como:

ldd /usr/local/bin/df

Tudo o que o ldd lista como "não encontrado" está faltando.

Você também deve tentar ver todos os arquivos * .so (com ldd), se houver algum na pasta do jogo. Você pode encontrar os arquivos * .so usando este comando: find . -iname '*.so' -type f

    
por LassePoulsen 08.08.2010 / 12:04
1

Você precisa editar o seu init.txt. Procure uma configuração para [PRINT_MODE:2D] e altere para [PRINT_MODE:TEXT]

Você provavelmente deseja mudar para [SOUND:NO] também.

Você só executará em 80x24, a menos que você execute dentro da tela ou do tmux.

    
por slacy 02.08.2013 / 01:32