初心者です。SSH をいじっていて、SSH サーバー (win10) でいくつかのコマンド (いくつかのアプリの起動) を実行しようとしていました。たとえば、anydesk.exe を実行すると、実際にプログラムが開き、接続できます。mp3 の再生も機能します。ただし、Firefox を起動しようとすると、バックグラウンドで起動し、ブラウザーがフォアグラウンドで開きません。タスク マネージャーでプロセスとして表示されますが、それだけです。また、Win10 マシン (物理的にまたは anydesk を使用して) で cmd から試しても、Firefox (または Internet Explorer) は「適切に」起動しません。Signal Messenger を開こうとしましたが、これは DOS モードで起動しようとして、当然クラッシュしました。そこで質問ですが、一部のアプリは GUI で起動し、一部はバックグラウンドで、一部は DOS で起動するのはなぜですか。また、必要に応じて GUI で起動するにはどうすればよいですか。
答え1
この回答は Mozilla アプリに特有のものです。ただし、過去 25 年間にわたる Mozilla の長い歴史と影響力を考えると、他のアプリも同様の構造を持つ可能性があります。
すべての Firefox ウィンドウは、ユーザー プロファイル (履歴、ブックマーク、保存されたフォーム データ、キャッシュなどのデータ管理用) に関連付けられた単一のプロセスの子です。Firefox が実行されると、実行中の Firefox インスタンスが存在するかどうかが確認され、新しいインスタンスを起動する代わりに、実行中のインスタンスにリクエストが渡されます。
この動作を変更するには、Firefox を次のように起動する必要があります。
firefox -no-remote
しかし、これはデフォルトのプロファイルデータに問題を引き起こす可能性があります。同じプロファイルデータを読み書きするプロセスが2つあるからです。これはプロファイルマネージャを次のように呼び出すことで修正できます。
firefox -no-remote -ProfileManager
他にもプロフィール管理オプションはあります。Firefox ドキュメント。
注: 新しいインスタンスの適切なオプションは実際には です-new-instance
が、Firefox wiki には、MSWin ビルドでの動作に問題があると記載されています。