Question: For a very specific software application, we maintain a base of machines running fvwm 2.5. To update the menu structure, the fvwm2rc default config file is replaced during the update process performed by a package management system. To enable the new menu structure after an update, the user has to manually perform an action: Restart machine, re-login, restart fvwm. The preferred action is to choose "Window Manager > Restart Fvwm2" since no login is needed then and even the windows survive.

Question: How can I invoke an equivalent action as "Restart Fvwm2" from the command line or the package management system? The following command does not work (neither do similar ones):

```
fvwm -c "Restart"
[FVWM][SetupICCCM2]: <<ERROR>> another ICCCM 2.0 compliant WM is running, try -replace

```

"-replace" is no option since one needs to log in again after calling it.

Answer: 
[The Manual](http://www.fvwm.org/documentation/manpages/unstable/fvwm.php#Restart) tells us:

> 
> Here are some cases when 'Restart fvwm2' or 'Restart fvwm' cause
>  troubles:
> 
> 
> * running fvwm under a session manager
> * running fvwm with multi headed displays
> * having command line arguments, like -f themes-rc or -cmd
> * if the first fvwm2 in the $PATH is a different one
> 
> 
> 

These points hint to why you see that message, check each of them off in your case.

Define some keyboard shortcuts to enact the restart command (also in the manual):

```
Key F1 R N Restart
Key F1 R N Restart fvwm -s
Key F1 R N Restart ~/bin/fvwm -f $HOME/.fvwm/main
Key F1 R N Restart fvwm1 -s -f .fvwmrc
Key F1 R N Restart xterm -n '"X console"' \
  -T \"X\ console\" -e fvwm1 -s

```
For me, the following works:

```
kill -SIGUSR1 pid

```

where pid is the process id of the fvwm process to restart; easier (on Linux):

```
killall -SIGUSR1 fvwm

```