問題概要#

FlightGear をスクリプトから起動するたびに、「データディレクトリ(fgdata)を選択してください」というダイアログが表示され、毎回同じフォルダを選択する必要があります。起動が止まるため自動化の妨げにもなります。

検証環境: FlightGear 2024.1 / Windows 11

原因#

起動オプションで --fg-root(FlightGear データルート)を明示的に指定していないためです。

詳細な原因#

  1. 自動検出の失敗: FlightGear がデータルート(fgdata フォルダ)の場所を自動検出できない場合、ユーザーに選択ダイアログを出す
  2. 手動ダウンロードした fgdata: インストーラー標準の場所ではなく、任意のフォルダに fgdata を配置していると自動検出できない
  3. 設定の未保存: 設定ファイルにもデータルートが記録されていないと、毎回ダイアログが表示される

解決方法#

–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,udp

Python スクリプトから起動する場合:

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に帰属します。引用部分については各引用元のライセンスが適用されます。