問題概要#
FlightGear をスクリプトから起動するたびに、「データディレクトリ(fgdata)を選択してください」というダイアログが表示され、毎回同じフォルダを選択する必要があります。起動が止まるため自動化の妨げにもなります。
検証環境: FlightGear 2024.1 / Windows 11
原因#
起動オプションで --fg-root(FlightGear データルート)を明示的に指定していないためです。
詳細な原因#
- 自動検出の失敗: FlightGear がデータルート(fgdata フォルダ)の場所を自動検出できない場合、ユーザーに選択ダイアログを出す
- 手動ダウンロードした fgdata: インストーラー標準の場所ではなく、任意のフォルダに fgdata を配置していると自動検出できない
- 設定の未保存: 設定ファイルにもデータルートが記録されていないと、毎回ダイアログが表示される
解決方法#
–fg-root を明示的に指定する#
バッチファイルの場合:
"C:\Program Files\FlightGear 2024.1\bin\fgfs.exe" ^
--fg-root="C:\Users\<ユーザー名>\FlightGear\Downloads\fgdata_2024_1" ^
--aircraft=Rascal110-JSBSim ^
--fdm=null ^
--native-fdm=socket,in,60,,5550,udpPython スクリプトから起動する場合:
fg_args = [
r"C:\Program Files\FlightGear 2024.1\bin\fgfs.exe",
r"--fg-root=C:\Users\<ユーザー名>\FlightGear\Downloads\fgdata_2024_1",
"--aircraft=Rascal110-JSBSim",
"--fdm=null",
"--native-fdm=socket,in,60,,5550,udp",
]環境変数で外部化する(推奨)#
パスをスクリプトにハードコードせず、環境変数にしておくと複数マシン・複数ユーザーで使い回せます:
set FG_ROOT=C:\Users\<ユーザー名>\FlightGear\Downloads\fgdata_2024_1
"C:\Program Files\FlightGear 2024.1\bin\fgfs.exe" ^
--fg-root="%FG_ROOT%" ^
--aircraft=Rascal110-JSBSim機体アドオンのフォルダも同様に --fg-aircraft で指定しておくと、機体選択の失敗も防げます:
--fg-aircraft="C:\Users\<ユーザー名>\FlightGear\Downloads\Aircraft"予防策#
- FlightGear 関連パス(fg-root / fg-aircraft)は起動スクリプトで常に明示する
- ハードコードせず環境変数または設定ファイルで外部化する
- プロジェクトの README に環境設定セクションを設け、fgdata の配置場所とパスのカスタマイズ方法を記載する
まとめ#
起動のたびに出るデータフォルダ選択ダイアログは、--fg-root の未指定が原因です。
解決策: 起動オプションで --fg-root を明示指定(fgdata フォルダのフルパス)
予防策: パスの環境変数化 + README への環境設定手順記載
一度スクリプトに書いてしまえば、以後はダイアログなしで直接起動でき、JSBSim 連携の自動化フローにも組み込めます。
参照資料#
本記事の執筆にあたり、以下の資料を参照しました。
筆者の過去調査データ#
- jsbsim_fg(private repository)
- docs/phase5/PHASE5_FINAL_REPORT.md - 問題3: fg-root選択の煩雑さ(発生記録と解決)
- start_flightgear.bat - –fg-root / –fg-aircraft 指定済みの起動スクリプト
公式ドキュメント#
- FlightGear Wiki - $FG_ROOT(https://wiki.flightgear.org/$FG_ROOT)- CC BY-SA 3.0
- FlightGear Wiki - Command line options(https://wiki.flightgear.org/Command_line_options)- CC BY-SA 3.0
関連記事#
- 【トラブル備忘】FlightGearが起動しない - 廃止オプション–enable-rembrandtの指定エラー(記事E-20)
- 【トラブル備忘】JSBSimが機体XMLを読み込めない - ディレクトリ構造の罠(記事E-4)
- 【第1回】FlightGearでJSBSim機体を飛ばす - FlightGear概要・インストール(記事C-1-1)
© 2026 Yaaasoh. All Rights Reserved.
本記事の著作権はYaaasohに帰属します。引用部分については各引用元のライセンスが適用されます。