Damn. Can you do something about it not working with bash 4.3 though? The lastest version of bash 4.2 I could find was from august 2013, and there's been a serious bash vulnerability (shellshock I believe it was called) since then, so I don't really want to run an outdated version of bash.
I'll give you some info about my setup:
Distro: Arch Linux
DE: None, running i3wm
Terminal emulator used: Rxvt-unicode-256color, but also occurs with xterm (and probably with others as well)
Output of uname -a: Linux K-02 3.16.4-1-ARCH #1 SMP PREEMPT Mon Oct 6 08:22:27 CEST 2014 x86_64 GNU/Linux
You need anything else? Also you know of some hotfix I can apply where I can just hardcode a specific terminal?
EDIT: Okay, it works with bash 4.3 if I create my own excecutable from the source code.
Pressing "Play dwarf fortress!" however prints out the following:
xdg-terminal: configured terminal program 'rxvt-unicode' not found or not executable
Exception in Tkinter callback
Traceback (most recent call last):
File "/home/kahr/Games/DF/x64 _gcc_ 491/python-lnp/build/lnp/out00-PYZ.pyz/Tkinter", line 1486, in __call__
File "/home/kahr/Games/DF/x64 _gcc_ 491/python-lnp/build/lnp/out00-PYZ.pyz/core.launcher", line 37, in run_df
Exception: Failed to launch a new terminal.
As you can see, very similar to the earlier output.
I've tracked down the error to this bit of code in core/launcher.py:
# Linux/OSX: Run DFHack if available and enabled
if (os.path.isfile(os.path.join(paths.get('df'), 'dfhack')) and
hacks.is_dfhack_enabled()):
result = run_program(
os.path.join(paths.get('df'), 'dfhack'), force, True, True)
if result == False:
raise Exception('Failed to launch a new terminal.')
run_program(os.path.join(paths.get('df'), 'dfhack'), force, True, True) appears to return False