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: 
What you want is either to make fvwm re-read the configuration or restart it completely. Additionally, I'm not totally sure that `-c` does what you want.

The fast or dirty way would be:

```
killall fvwm
fvwm

```

> 
> Note: Please do not execute this on a BSD or Solaris system, as killall will kill the init process there. killall processname is Linux only.
> 
> 
> 

But I'm not sure if this wouldn't destroy some window information (location, dimensions etc.). Or, you could try replacing the current session:

```
fvwm --replace

```

That should end the old fvwm process, launch a new one and even keep the windows correctly.

If fvwm is your x-session, you could still try to use [FvwmCommand](http://www.fvwm.org/documentation/manpages/unstable/FvwmCommand.php), the external command interface which seems to be able to send commands to the currently running fvwm.
Another alternative is to use [FvwmCommand](http://www.fvwm.org/documentation/manpages/unstable/FvwmCommand.php):

```
$ FvwmCommand Restart

```