私はFreeBSD + XBMCベースのメディアボックスを構築しようとしています。 1つを除いて、すべてがうまく機能します。
RCNG起動スクリプトでXBMCを起動する必要があります。
X および XBMC を起動するコマンドがフォアグラウンドで実行されている場合、すべてが正常に動作します。 &を使用してバックグラウンドにプッシュすると、動作が開始され、次にgettyの開始によって追い出されます(私の考えでは)。
gettyがXを殺すのを防ぐ方法はありますか?それとも私が完全に間違った木を吠えているのですか?
RCNGスクリプト:
#!/bin/sh
#
# $FreeBSD$
#
# PROVIDE: xbmc
# REQUIRE: sshd
# KEYWORD: shutdown
#
# Add the following line to /etc/rc.conf to enable xbmc:
#
# xbmc_enable="YES"
#
# You will also need to fill in the xbmc_flags="" variable to suit your configuration.
#
xbmc_enable=${xbmc_enable:-"NO"}
xbmc_flags=${xbmc_flags:-""}
. /etc/rc.subr
name=xbmc
rcvar=`set_rcvar`
#required_files="/usr/local/etc/xbmc.conf"
xbmc_start() {
PATH=/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin
HOME=/root
/usr/local/bin/xinit /usr/local/bin/xbmc # adding & makes it all fail
}
start_cmd=xbmc_start
#command=/usr/local/bin/xbmcboot
load_rc_config $name
run_rc_command "$1"
もう1つ注意することは、画面が押されると画面が壊れることです。 X.Org 開始メッセージの最初の部分が表示されます。それがすべてです。ログインできず、制御できず、Xをリモートで再起動することもできません。
今/etc/ttysでttyv2以上をオフにしました。 Xorgを実行すると画面がロックされるのを防ぎますが、通常のgettyプロンプトを表示しますが、それでも実行されます。したがって、getty / initに関連する必要があります。
さて、私はこれがgettyの起動に関連していると100%確信しています。 x セッションを開始するコマンドを入れると睡眠5したがって、Xセッションはgettyの実行を開始するまで実際には開始されず、すべてがうまく機能します。
今はこの問題を解決できますが、なぜこのように動作するのかを理解し、ブートフレンドリーにすることをお勧めします。
答え1
- 私はREQUIREラインが欠けていると正しい点から始まると思います。私は次のことを試してみます。
#要件:システムコンソールにログイン
- /etc/ttysにxdm/gdm/kdmのようなものが設定されていますか? /etc/ttysでプログラムを起動してみることもできます。