Here is a sample session: % strace /usr/X11R6/bin/RunWM Fvwm95 2>&1 | tee RunWM.trouble execve("/usr/X11R6/bin/RunWM", ["/usr/X11R6/bin/RunWM", "Fvwm95"], [/* 24 vars */]) = 0 brk(0) = 0x80994c0 (... boring stuff removed ...) rt_sigaction(SIGTERM, NULL, {SIG_DFL}, 8) = 0 rt_sigaction(SIGTERM, {0x805d8d0, [], SA_INTERRUPT|0x4000000}, NULL, 8) = 0 wait4(-1, NULL, WNOHANG, NULL) = -1 ECHILD (No child processes) write(2, "[FVWM][main]: <<ERROR>> ", 24) = 24 write(2, "can\'t open display ", 19) = 19 write(2, "\n", 1) = 1 _exit(1) = ?
RunWM isn't meant to be run directly, but instead only in conjunction with the AnotherLevel X startup stuff.