特に変わったことをするわけではないが環境変数周りを設定して起動する
systemdのシステムの場合には /etc/systemd/system 以下にスクリプトを記載する。今回は d2gs.service
という名称で作成
[Unit]
Description = Diablo2 Game Server (d2gs)
[Service]
#After=bnetd.service d2gs.service d2cs.service
ExecStartPre=/etc/init.d/diablo start
EnvironmentFile=/etc/systemd/system/d2gs.env
User=hideaki
WorkingDirectory=/opt/d2gs
ExecStart=/opt/wine/bin/wine D2GS.exe
Restart=always
Type=simple
PIDFile=/opt/d2gs/d2gs.pid
KillMode=process
[Install]
WantedBy = multi-user.target
今回の対象となっているプログラムは事前に d2gs bnetd 等のサービスが起動している必要があるので after などで指定ができる(今回はそれらのプログラムが正常にRCを返さないのでうまく実装できてないが)のでプログラムの前後関係を持ちたい場合には systemdのこの機能はおすすめです。
環境変数は同じ EnvironentFileで指定します。内容は環境変数の定義です。
WINARCH=win32
WINEPREFIX=/home/hideaki/.wine_dia
これでWineの環境切替を正常に行うことが出来ます。