- Acho que falta uma linha REQUIRE para que seja iniciada no ponto certo. Eu tentaria algo como
# REQUIRE: LOGIN syscons
- Em seu / etc / ttys você configurou algo como xdm / gdm / kdm? Você pode até tentar iniciar seu programa em / etc / ttys
Eu estou tentando construir uma caixa de mídia baseada no FreeBSD + XBMC. Tudo está funcionando bem, exceto por um ponto.
Eu preciso inicializar o XBMC como um script de inicialização RCNG, tudo bem, exceto:
Se o comando para iniciar X e XBMC for executado em primeiro plano, tudo funcionará bem. Se ele for colocado em segundo plano (com &) ele começa a funcionar, então é kickado (acho) por getty começando.
Existe alguma maneira de impedir o getty de matar X, ou eu estou latindo completamente na árvore errada?
#!/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"
Mais uma observação - quando ela é expulsa, a tela é aparafusada. Ele me mostra o primeiro bit das mensagens de inicialização do X.Org e isso é tudo. Sem login, sem controle sobre ele, sem capacidade de iniciar o X novamente, mesmo remotamente.
Eu já desliguei o ttyv2 e para cima no / etc / ttys - ele parou a tela de travar quando ele expulsa o Xorg (me dá um prompt normal de getty), mas ainda assim ele chuta para fora. Então é deffinately getty / init relacionado.
Ok, estou 100% convencido de que o getty está sendo iniciado. Se eu colocar os comandos para iniciar a sessão x em um script com um sleep 5 , a sessão X não será iniciada até que o getty comece a ser executado, tudo funciona bem.
Embora eu possa viver com isso por enquanto, seria bom entender por que ele se comporta assim e talvez fazer com que ele seja mais amigável.
# REQUIRE: LOGIN syscons