RCNGスクリプト:

RCNGスクリプト:

私は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でプログラムを起動してみることもできます。

関連情報