в man fvwm
по поводу команды Read написано следующее – This looks for file config in $FVWM_USERDIR and $FVWM_DATADIR directories, as described in Read.
но вот чтобы работала таки $FVWM_DATADIR, т.е. переменная окружения, а не FVWM_DATADIR, т.е. макрос m4, определяемый и используемый на момент compile-time, не неизменяемый в runtime, приходится таки напильничать.
надфиль следующий
--- fvwm-2.6.7/fvwm/read.c.orig 2016-12-07 14:12:09.000000000 +0200 +++ fvwm-2.6.7/fvwm/read.c 2016-12-07 14:19:43.728814143 +0200 @@ -239,8 +239,14 @@ if((f = fopen(full_filename, "r")) == NULL) { - full_filename = CatString3( - FVWM_DATADIR, "/", filename); + char *datadir = getenv ("FVWM_DATADIR"); + + if (datadir) + full_filename = CatString3( + datadir, "/", filename); + else + full_filename = CatString3( + FVWM_DATADIR, "/", filename); f = fopen(full_filename, "r"); } }