― MozillaZine.jp フォーラムは Mozilla 製品に関する情報交換の場です ―



All times are UTC + 9 hours

返信する
ユーザー名:
件名:
オプション:
BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: ON
BBCode を無効にする
フォントサイズ:
フォントカラー
スマイリーを無効にする
URL を自動的にパースしない
ユーザエージェントを表示する
認証コード
KCaptcha by Nikita_Sp
   

トピックのレビュー - Windows10上でFirefoxを複数起動したい
作成者 メッセージ
  記事の件名:  Re: Windows10上でFirefoxを複数起動したい  引用付きで返信する
WADA さんが書きました:
firefox.exeのコマンドラインパラメーターの詳細な仕様やOSによる違いについては良く知らないし、コマンドラインパラメーターについての話ではないから、言及はしませんでしたが、

Mozillaのマニュアルによると、先頭のハイフンは一つのようです。

コマンドラインオプション - Mozilla | MDN
引用:
-new-window URL
URL を新しいウィンドウで開きます。Firefox と SeaMonkey2.x のみ。
投稿記事 Posted: 2016年11月10日(木) 21:38
  記事の件名:  Re: Windows10上でFirefoxを複数起動したい  引用付きで返信する
EarlgreyTea さんが書きました:
WADA さんが書きました:
バッチで、以下のようにしてfirefox.exeを起動すると、
(A) xxx.bat
  一行目 firefox.exe
  二行目 firefox.exe
コマンドプロンプトでも、このバッチをデスクトップのショートカットにして実行しても、Firefoxのウィンドウはほぼ確実に二つ立ち上がります。
これはおかしいです。
バッチファイルでこう書いた場合、必ず子プロセスの終了を待ちます。
Linuxのシェルスクリプトでもバックグランド実行(&)させてないコマンドは終了するまで待ちますのでそれと同じことです。

start無しの方をコピぺしていたのに気づき、EarlgreyTeaさんのコメントよりも少し前に、あわてて訂正してあります。
訂正した旨のコメントなしなので紛らわしいかとは思いますが...
投稿記事 Posted: 2016年11月10日(木) 00:24
  記事の件名:  Re: Windows10上でFirefoxを複数起動したい  引用付きで返信する
本トピックは、途中からFirefoxについての話じゃなくてWindowsのコマンドプロンプトの話になっちゃいましたね。
ツッコミを少々。
Kata さんが書きました:
なぜ、スタートアップからだとそのようになるのか、わかっていません。

これ、スタートアップというのは関係なくてBATファイルに書いて実行しようとしたからなんですね。

WADA さんが書きました:
スタートアップに以下のようなバッチかバッチへのショートカットを1つ、を試してみてください。
  start "" firefox.exe -p "Prof名" -new-window
  timeout 30
  start "" firefox.exe -p "Prof名" -new-window

はい。このように、Windowsのソフトを順番に起動したいなら start コマンドを使用する必要があります。

WADA さんが書きました:
バッチで、以下のようにしてfirefox.exeを起動すると、
(A) xxx.bat
  一行目 firefox.exe
  二行目 firefox.exe
コマンドプロンプトでも、このバッチをデスクトップのショートカットにして実行しても、Firefoxのウィンドウはほぼ確実に二つ立ち上がります。

これはおかしいです。
バッチファイルでこう書いた場合、必ず子プロセスの終了を待ちます。
Linuxのシェルスクリプトでもバックグランド実行(&)させてないコマンドは終了するまで待ちますのでそれと同じことです。
待たずに次の行を実行させるなら start コマンドが必須となります。
投稿記事 Posted: 2016年11月09日(水) 23:57
  記事の件名:  Re: Windows10上でFirefoxを複数起動したい  引用付きで返信する
Sakuraya さんが書きました:
ええと、最初に確認しておきたいのですが前回の私の投稿の通りに同じ中身で別の名前のショートカットを2つだと上手くいかなかったということでしょうか?
いちおう動作は確認したので希望通りになるんじゃないかと思っていたのですが……。

バッチで、以下のようにしてfirefox.exeを起動すると、
(A) xxx.bat
  一行目 start "" firefox.exe
  二行目 start "" firefox.exe
コマンドプロンプトでも、このバッチをデスクトップのショートカットにして実行しても、Firefoxのウィンドウは大抵は二つ立ち上がりますが、たまにうまくいかない時もあるようです。
バッチだから一行目の実行と二行目の実行が順番に行われ、firefoxの起動に時間差がでてきて、ほとんどの場合にOKになるからだと思います。
スタートアップの場合は、同時並行的に起動するのでしょう。

で、やりたいことは、二つのfirefox.exeのウィンドウで確実に立ち上げたい、です。
たとえ、スタートアップに、二つの"firefox.exe"の代わりに、二つの"firefox.exe --new-window"を入れたら、うまいこと二つのfirefox.exeのウィンドウが立ち上がったとしても、
それは、元々の問題がタイミングによるものだとしたら、ちょっと環境が変わるだけでうまくいかない可能性もあります。
それだったら、質問者の方が、折角timeoutを見つけてきて、それを使ってバッチをスタートアップに入れる、というところに辿り着いたわけですから、そちらを生かすべきだと思います。

スタートアップに、二つの"firefox.exe"の代わりに、二つの"firefox.exe --new-window"を入れたらうまいこと二つのfirefox.exeのウィンドウが立ち上がった、というSakurayaさんのご報告で、ほぼ確実にタイミングの問題であると判断していいでしょう。
だから、時間差をおいてfirefox.exeを起動してほぼ確実にFirefoxのウィンドウを二つ起動できる、
  start "" firefox.exe 必要ならパラメーターをつける
  timeout 適当な時間待たせる
  start "" firefox.exe 必要ならパラメーターをつける
というような、どんな場合にでも適用できる、timeoutによる弊害もない、ほぼ確実な方法がわかればいいんじゃないですか?

それと、windows10でしか確認していませんが、以下のような違いもあります。
(C) zzz-1.bat
  一行目 start "" firefox.exe -p "default" --new-window http://kb.mozillazine.org/Command_line_arguments
  二行目 start "" firefox.exe -p "default" --new-window http://kb.mozillazine.org/Command_line_arguments
(D) zzz-2.bat
  一行目 start "" firefox.exe -p "default" -new-window http://kb.mozillazine.org/Command_line_arguments
  二行目 start "" firefox.exe -p "default" -new-window http://kb.mozillazine.org/Command_line_arguments
このバッチを、コマンドプロンプトから実行した場合も、バッチをデスクトップのショートカットにして実行した場合も、
(C)の場合には、二つ開かれたfirefox.exeのウィンドウで、kb.mozillazine.org/Command_line_argumentsが開かれませんでしたが、
(D)の場合には、二つ開かれたfirefox.exeのウィンドウで、kb.mozillazine.org/Command_line_argumentsが開かれました。
firefox.exeのコマンドラインパラメーターの詳細な仕様やOSによる違いについては良く知らないし、コマンドラインパラメーターについての話ではないから、言及はしませんでしたが、
こういったこともあるので、Sakurayaさんのコメントについては、無視、という形になってしまいました。
あしからず。
投稿記事 Posted: 2016年11月09日(水) 22:46
  記事の件名:  Re: Windows10上でFirefoxを複数起動したい  引用付きで返信する
ええと、最初に確認しておきたいのですが前回の私の投稿の通りに同じ中身で別の名前のショートカットを2つだと上手くいかなかったということでしょうか?
いちおう動作は確認したので希望通りになるんじゃないかと思っていたのですが……。

本題に入ります(が今回もWADAさんの投稿と被ってしまいますので先にそちらを試してみて解決したら無視してください)。
当てずっぽうですが、Firefoxを起動するところをバックグラウンドプロセスにしてあげるとうまく行くような気がします。
こういう場合は start /B "C:\Program Files (x86)\Mozilla FIrefox\firefox.exe" --new-window とか
"C:\Program Files (x86)\Mozilla FIrefox\firefox.exe" --new-window & みたいにやればいいはずです。

起動後にテストすると大丈夫という状況が何故なのかちょっと不思議に思いますが、バッチ処理というのは普通1つの処理が終わるまで(プロセスが終了するまで)次の処理には移らないものです。
バッチ処理の前に既にFirefoxが起動していれば(プロセスが存在すれば)そちらに処理を投げて終了しそうなのでそれかな?とやっぱり当てずっぽうですが推測してみます。
投稿記事 Posted: 2016年11月08日(火) 18:31
  記事の件名:  Re: Windows10上でFirefoxを複数起動したい  引用付きで返信する
Kata さんが書きました:
実際に、以下のようなバッチファイルを作成しました。
"C:\Program Files (x86)\Mozilla FIrefox\firefox.exe" --new-window
timeout 30
"C:\Program Files (x86)\Mozilla FIrefox\firefox.exe" --new-window

スタートアップに登録し、Windowsを起動させると、一つ目の
"C:\Program Files (x86)\Mozilla FIrefox\firefox.exe" --new-window
でFirefoxが起動するのですが、制御が戻ってこないので、次のtimeoutコマンドが
動きません。
ここで、一つ目のFirefoxをクローズすると、初めてtimeoutコマンドが
動き始めて、二つ目のFirefoixが開くという動きとなってしまいました。

バッチファイルでも、そうなるはずなんだが...
バッチの中の、バッチ以外のプログラムの呼び出しはCallと同じようなもので、別プロセスで立ち上げるにはStartが必要だったはず。

スタートアップに以下のようなバッチかバッチへのショートカットを1つ、を試してみてください。
  start "" firefox.exe -p "Prof名" -new-window
  timeout 30
  start "" firefox.exe -p "Prof名" -new-window
コマンドプロンプトでこのバッチを起動すると、どうなっているか見えます。
timeoutだから、途中でエンターを押せば30秒も待たなくて済みます。
スタートアップに入れる時には、バッチの最後にEXITを入れておいた方がいいでしょう。
投稿記事 Posted: 2016年11月08日(火) 18:24
  記事の件名:  Re: Windows10上でFirefoxを複数起動したい  引用付きで返信する
WADAさん、Sakurayaさん、
早速のご回答をいただきまして、ありがとうございます。
お二方のご指摘通り、私のやりたいことは、WADAさんのおっしゃる(A)です。

実際に、以下のようなバッチファイルを作成しました。

"C:\Program Files (x86)\Mozilla FIrefox\firefox.exe" --new-window
timeout 30
"C:\Program Files (x86)\Mozilla FIrefox\firefox.exe" --new-window

Windows起動後に動作テストをすると、1つ目のFirefox起動後、30秒してから、
2つ目のFirefoxが起動して、OKでした。

が、スタートアップに登録し、Windowsを起動させると、一つ目の
"C:\Program Files (x86)\Mozilla FIrefox\firefox.exe" --new-window
でFirefoxが起動するのですが、制御が戻ってこないので、次のtimeoutコマンドが
動きません。

ここで、一つ目のFirefoxをクローズすると、初めてtimeoutコマンドが
動き始めて、二つ目のFirefoixが開くという動きとなってしまいました。

なぜ、スタートアップからだとそのようになるのか、わかっていません。

もし、このような状況を解決された方がいらっしゃいましたら、
ご教示ください。
投稿記事 Posted: 2016年11月08日(火) 13:07
  記事の件名:  Re: Windows10上でFirefoxを複数起動したい  引用付きで返信する
こんばんは。
実現したいのはWADAさんの投稿でいう(A)の場合、 "C:\Program Files\Mozilla FIrefox\firefox.exe" --new-window というパラメータのショートカットをスタートアップに2つ追加してあげると希望のとおりになりそうです。
RDP越しですがちゃんとWindows10で動作することを確認しました。
投稿記事 Posted: 2016年11月01日(火) 20:19
  記事の件名:  Re: Windows10上でFirefoxを複数起動したい  引用付きで返信する
Kata さんが書きました:
Windows10のタスクマネージャーのスタートアップ上に、Firefox.exeを2つ設定して、
Firefoxのウィンドウが複数上がることを期待したのですが、残念ながら、そのように
なりません。
Windows10上でFirefoxを複数起動したい場合、どのようにすればいいでしょうか。

「Firefoxを複数起動」は、以下のどちらを指しますか?
(A) Firefoxを起動中に、CTRL+Nで新規にFirefoxウィンドウを追加した時や、ショートカットをクリックしてもう1つのFirefoxウィンドウが立ち上がった時と、と同じ状態にしたい。
(B) プロファイルAを使ったFirefoxAと、プロファイルBを使ったFirefoxBの両方を立ち上げて、別々のFirefoxとして使いたい。

「スタートアップ上にFirefox.exeを2つ」は、(A)をしようとしてスタートアップにfirefox.exeを2つ、ということかな。
でも、(B)なら、firefox.exe -p "ProfA"、firefox.exe -p "ProfB" -noremote、で簡単に行けるんですが、
(A)だと、同時に立ち上げた複数のfirefox.exeの間で以下のようなことが起こり得るので、工夫が要ります。

一方のfirefox.exe(1)が完全に起動していないタイミングで、もう1つのfirefox.exe(2)をあげると、
両方が、DDEをあげて既にいるfirefox.exeを確認するが、他のfirefox.exeがまだいないのと同じ状況になり、あるプロファイルを使って起動しようとし、
でもその時には他方のfirefox.exeによるそのプロファイルを使った起動が進んでいるので、起動できない、
あるいは、そのプロファイルを使っている他のfirefox.exeがいたので、そちらに対して新規ウィンドウをリクエストするが、リクエストを受け取る側のfirefox.exeはまだ起動の初期段階なのでそのリクエストは処理できない・処理されない、
といったようなことが、起こり得ます。
バッチで、firefox.exeを立ち上げ、何秒間か待ってからもう一つのfirefox.exeを立ち上げる、というような、
手動でFirefoxのショートカットをクリックして起動⇒既にFirefoxが立ち上がっている時にFirefoxのショートカットをクリック、のエミュレーションをしてやる、
といったことが必要になると思います。
投稿記事 Posted: 2016年11月01日(火) 14:08
  記事の件名:  Windows10上でFirefoxを複数起動したい  引用付きで返信する
Windows10のタスクマネージャーのスタートアップ上に、Firefox.exeを2つ設定して、
Firefoxのウィンドウが複数上がることを期待したのですが、残念ながら、そのように
なりません。

Windows10上でFirefoxを複数起動したい場合、どのようにすればいいでしょうか。
投稿記事 Posted: 2016年11月01日(火) 10:08

All times are UTC + 9 hours


ページ移動:  
Powered by MozillaZine.jp® Forum Software © phpBB Group , Almsamim WYSIWYG
Japanese translation principally by ocean