Добрый вечер.
Хочу сделать так, чтобы после загрузки запускался VLC и играл видео с IP видеокамеры. На машине X сервер не установлен. Если запустить скрипт в дисплейной консоли, то всё работает. При загрузке видео не стартует, из лога я вытащил вот такие сообщения:
fb generic error: cannot set terminal mode (Operation not permitted)
[0x955dc2c] main generic debug: no vout display module matching «fb» could be loaded
[0x8579d34] fb generic error: cannot set terminal mode (Operation not permitted)
[0x84c5144] main video output error: video output creation failed
[0x83ceb04] main decoder error: failed to create video output
Сам скрипт:
#!/bin/sh
# /etc/init.d/videoserver
# description: Display video from CCTV camera starting script
# processname: videoserver
# chkconfig: 2345 50 01
### BEGIN INIT INFO
# Provides: videoserver
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Videoserver starting daemon
# Descrioption: Enable display video from CCTV camera
### END INIT INFO
. /lib/lsb/init-functions
RETVAL=0
prog="videoserver"
start() {
echo -n "Starting $prog"
su - engineer -c "/usr/bin/vlc-wrapper -vvv -I dummy -V fb rtsp://192.168.0.19:554 >/home/engineer/vlc.log 2>/home/engineer/vlcerr.log"
RETVAL=$?
[ "$RETVAL" = 0 ] && touch /var/lock/subsys/$prog
echo
}
stop() {
echo -n "Stopping $prog"
killproc $prog -TERM
RETVAL=$?
[ "$RETVAL" = 0 ] && rm -f /var/lock/subsys/$prog
echo
}
reload() {
echo -n "Reloading $prog"
killproc $prog -HUP
RETVAL=$?
echo
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
reload)
reload
;;
condrestart)
if [ -f /var/lock/subsys/$prog ] ; then
stop
# avoid race
sleep 3
start
fi
;;
status)
status $prog
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart|reload|condrestart|status}"
RETVAL=1
esac
exit $RETVAL
Так как vlc не дает запускаться от рута, приходится использовать vlc-wrapper от имени юзера.
Права на некоторых действующих лиц:
crw-rw---- 1 root video 29, 0 Dec 4 12:28 /dev/fb0
-rwsr-xr-x 1 root root 6064 Jun 9 2011 /usr/bin/vlc-wrapper
-rwsr-xr-x 1 root root 1535 Dec 4 12:18 /etc/init.d/videoserver
Что делать?))