非常に特殊なソフトウェア アプリケーションについては、fvwm 2.5 を実行するマシンのベースを維持しています。メニュー構造を更新するには、パッケージ管理システムによって実行される更新プロセス中に、fvwm2rc のデフォルト構成ファイルを置き換えます。更新後に新しいメニュー構造を有効にするには、ユーザーは手動で操作を実行する必要があります: マシンを再起動し、再度ログインし、fvwm を再起動します。推奨される操作は、「ウィンドウ マネージャー > Fvwm2 を再起動」を選択することです。この操作ではログインが不要で、ウィンドウも存続します。
質問: コマンドラインまたはパッケージ管理システムから「Fvwm2 を再起動」と同等のアクションを呼び出すにはどうすればよいですか? 次のコマンドは機能しません (同様のコマンドも機能しません)。
fvwm -c "Restart"
[FVWM][SetupICCCM2]: <<ERROR>> another ICCCM 2.0 compliant WM is running, try -replace
「-replace」は、呼び出し後に再度ログインする必要があるため、オプションではありません。
答え1
必要なのは、fvwm に設定を再読み込みさせるか、完全に再起動することです。さらに、それが-c
必要なことかどうかはよくわかりません。
速い、あるいは汚い方法は次のとおりです。
killall fvwm
fvwm
注意: killall は init プロセスを強制終了するため、BSD または Solaris システムではこれを実行しないでください。killall processname は Linux のみです。
しかし、これによってウィンドウの情報 (場所、寸法など) が破壊されないかどうかはわかりません。または、現在のセッションを置き換えてみることもできます。
fvwm --replace
これにより、古い fvwm プロセスが終了し、新しいプロセスが起動され、ウィンドウも正しく保持されるようになります。
fvwmがxセッションである場合は、Fvwmコマンド、現在実行中の fvwm にコマンドを送信できると思われる外部コマンド インターフェイス。
答え2
マニュアル次のように語っています。
「fvwm2 を再起動」または「fvwm を再起動」すると問題が発生するケースをいくつか示します。
- セッションマネージャで fvwm を実行する
- マルチヘッドディスプレイで fvwm を実行する
- -f themes-rc や -cmd のようなコマンドライン引数を持つ
- $PATHの最初のfvwm2が異なる場合
これらのポイントは、そのメッセージが表示される理由を示唆しています。自分のケースに当てはまるポイントをそれぞれチェックしてください。
再起動コマンドを実行するためのキーボード ショートカットをいくつか定義します (マニュアルにも記載されています)。
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
答え3
FvwmCommand
FIFO が開いている必要がありますFvwmCommandS
。すべてのユーザーが FIFO を持っているかどうかが不明な場合は、機能しません。
しかし、FVWM意思SIGUSR1 で再起動します。
FVWM の再起動は、最後のコマンドであっても機能します.Xsession
。
しかし、他の人が言っているように、X セッション マネージャーで実行している場合 (および FVWM がセッション マネージャー サポート付きでコンパイルされている場合)、FVWM は自動的に再起動せず、単に終了してセッション マネージャーによって再起動されることを期待します。これは SIGUSR1 の動作にも影響します。
答え4
私の場合は、次の方法が効果的です:
kill -SIGUSR1 pid
ここで、pid は再起動する fvwm プロセスのプロセス ID です。より簡単です (Linux の場合):
killall -SIGUSR1 fvwm