試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

バージョン1.2.12系以上のopenBVEのユーザごとのデータ保存ディレクトリについてとシミュレータ開始後に正常にメインウィンドウに戻らない場合の対処(後半)

バージョン1.2.12系以上のopenBVEのユーザごとのデータ保存ディレクトリについてとシミュレータ開始後に正常にメインウィンドウに戻らない場合の対処(前半)」の続き。

本体のあるディレクトリ以下にデータを保存したい場合とシミュレータ開始後に正常にメインウィンドウに戻らない場合の対処

バージョン1.2.12系以上のopenBVEでデータをこれまで通りに本体のあるディレクトリ以下に保存したい場合は公式サイトのuserdata_in_install_directory.zipをダウンロードしてOpenBve.exeのあるディレクトリ以下に展開すればよい(UserData/Settings/filesystem.cfgを配置する)ということになっているが、GNU/LinuxではUserData/Settings/filesystem.cfg内のバックスラッシュ文字(\)を全てスラッシュ文字(/)に置換する必要がある。また、GNU/Linuxではシミュレータ開始後(アーケードモード)のメニュー項目「メインメニュー」からメインウィンドウに戻る(アプリケーションを再起動する)際にうまく動かない場合(File Rollerで開くなど)もあるので、それを修正するために再起動時のコマンド行に関する項目を変更し、Monoの引数にアセンブリの場所を指定する形にする。WindowsではMono/.NETアセンブリは直接実行する形になるのでRestartProcessやRestartArgumentsをいじる必要はない。
下は本体のあるディレクトリ以下(サブディレクトUserData内)にデータを保存したい場合のGNU/Linux向けの設定例。
ファイル名: UserData/Settings/filesystem.cfg

Data = $[AssemblyFolder]/Data
ManagedContent = $[AssemblyFolder]/UserData/ManagedContent
Settings = $[AssemblyFolder]/UserData/Settings
InitialRoute = $[AssemblyFolder]/UserData/LegacyContent/Railway/Route
InitialTrain = $[AssemblyFolder]/UserData/LegacyContent/Train
RestartProcess = mono
RestartArguments = $[AssemblyFile]

下は前半で扱ったバージョン1.2.12系以上の既定のファイル配置を用いた場合のGNU/Linux向けの設定例。
ファイル名: UserData/Settings/filesystem.cfg

Data = $[AssemblyFolder]/Data
ManagedContent = $[ApplicationData]/openBVE/ManagedContent
Settings = $[ApplicationData]/openBVE/Settings
InitialRoute = $[ApplicationData]/openBVE/LegacyContent/Railway/Route
InitialTrain = $[ApplicationData]/openBVE/LegacyContent/Train
RestartProcess = mono
RestartArguments = $[AssemblyFile]

上のInitialRouteとInitialTrainについてはそれぞれ路線データと車両データの初期ディレクトリとなり、好みで変更することもできる。ただ、これらは初期値でしかなく、一度終了すると[前半で扱ったApplicationDataのディレクトリ]/openBVE/Settings/options.cfgの中にそれぞれの表示ディレクトリが保存され、この値を消さない限りは使われなくなる。

幾つかのシンボリック値について

「$[Name]」形式の幾つかの文字列(シンボリック値)は環境上の特定のファイルやディレクトリの場所に展開される。
「$[ApplicationData]」は前半で扱ったディレクトリを指し示すシンボリック値で、この下は各ユーザのみがアクセス可能な場所となる。複数ユーザで同じディレクトリを使い回したいという場合にはMono/.NETアセンブリOpenBve.exeを含むディレクトリである「$[AssemblyFolder]」以下のディレクトリなどが使える(もちろん、これを用いずに別のデータ保存ディレクトリを絶対パスで指定してもよい)。
「$[AssemblyFile]」はOpenBve.exeの場所を指し示す。
他のシンボリック値については公式サイトの説明ページを参照。

任意の場所にあるfilesystem.cfgを読み込んで実行する

ファイルfilesystem.cfg[OpenBve.exeのあるディレクトリ]/UserData/Settings/に置く以外に、アセンブリへのオプション/filesystem=[filesystem.cfgの場所]を指定することで読み込ませることもできる。

$ mono /path/to/OpenBve.exe /filesystem=/path/to/filesystem.cfg

注意点として、[前半で扱ったApplicationDataのディレクトリ]/openBVE/Settings/に入れても自動的に読み込まれることはない。[前半で扱ったApplicationDataのディレクトリ]/openBVE/Settings/自体がfilesystem.cfgの設定項目の1つ「Settings」のディレクトリであるため、先にfilesystem.cfgの場所が分かっている必要がある。

関連記事:

関連URL:

使用したバージョン:

  • openBVE 1.2.12.2