PDA

View Full Version : [Lubuntu] Comando service e script all'avvio


balubeto
03-04-2014, 16:27
Ciao

Ho scoperto che il comando service serve per impostare, configurare e controllare un servizio-comando inserito in un particolare script . E` vero? Se si`, qualcuno mi potrebbe spiegare come creare questo script e come avviarlo quando viene avviato il sistema?

Grazie

Ciao

sacarde
05-04-2014, 10:30
simile

http://unix.stackexchange.com/questions/84252/how-to-start-a-service-automatically-when-ubuntu-starts

[upstart]
http://upstart.ubuntu.com/getting-started.html

balubeto
05-04-2014, 19:38
Ho trovato questo link https://wiki.edubuntu.org/InstallX11VncOnLtspClients che contiene uno script di x11vnc da inserire nella directory /etc/init.d . Essendo un vecchio script, ho trasformato in :


#!/bin/sh

case "$1" in
start)
start-stop-daemon --start --oknodo \
--pidfile /var/run/x11vnc.pid --background \
--nicelevel 15 --make-pidfile --exec \
/usr/bin/x11vnc -rfbport 5900 -auth /var/run/lightdm/root/:0 -rfbauth /etc/x11vnc.pass -nomodtweak -noxrecord -shared -forever -loop -o /var/log/x11vnc.log
;;
stop)
start-stop-daemon --stop --oknodo --pidfile /var/run/x11vnc.pid
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 start|stop|restart"
;;
esac

exit 0


Quindi ho scritto i comandi sudo chmod 755 /etc/init.d/x11vnc e sudo ln -s /etc/init.d/x11vnc /etc/rc2.d/S99x11vnc . Infatti:


lrwxrwxrwx 1 root root 18 apr 4 19:21 /etc/rc2.d/S99x11vnc -> /etc/init.d/x11vnc


I comandi per creare la password non li ho fatti in quanto li avevo gia fatti all`inizio di questa discussione . Dunque, ho riavviato la macchina, ma il server x11vnc non e` partito ed in piu` non mi ha creato nessun file log. Come mai?

Grazie

Ciao

sacarde
05-04-2014, 19:53
io cercherei di fare un servizio semplicissimo e vedere se funziona bene

poi inserirei il comando in particolare

balubeto
06-04-2014, 08:37
Ho provato ad eseguire il comando sudo /etc/init.d/x11vnc start e come l'ouput esce:


start-stop-daemon: invalid option -- 'f'


Come mai?

Grazie

Ciao

sacarde
06-04-2014, 09:34
qui lo script di muflone mette:

http://forum.ubuntu-it.org/viewtopic.php?f=8&t=371179&sid=c791e87028269e91e73c499b98081a85

dopo il comando da eseguire mette "--" prima dei parametri

balubeto
06-04-2014, 10:04
qui lo script di muflone mette:

http://forum.ubuntu-it.org/viewtopic.php?f=8&t=371179&sid=c791e87028269e91e73c499b98081a85

dopo il comando da eseguire mette "--" prima dei parametri

Scusami ancora ma lo script completamente funzionante da mettere in /etc/init.d dov'e`? Poi, in quella discussione, si presupone che venga usato gdm e non LightDM . Dunque, mi potresti schiarire le idee?

Grazie mille

Ciao

sacarde
06-04-2014, 10:27
lo script e' questo


#! /bin/sh
#
### BEGIN INIT INFO
# Provides: x11vnc
# Required-Start: $syslog $local_fs
# Required-Stop: $syslog $local_fs
# Should-Start: gdm
# Default-Start: 2
# Default-Stop: 1
# Short-Description: x11 vnc
# Description: x11vnc
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/bin/x11vnc
NAME=x11vnc
DESC="X11 vnc"

test -x $DAEMON || exit 0

DAEMON_OPTS="-noxfixes -ncache 10 -noxdamage -forever -loopbg"

set -e

case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
--exec $DAEMON -- $DAEMON_OPTS &
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --oknodo --quiet --pidfile /var/run/$NAME.pid \
--exec $DAEMON
echo "$NAME."
;;
restart)
echo -n "Restarting $DESC: "
start-stop-daemon --stop --quiet --pidfile \
/var/run/$NAME.pid --exec $DAEMON
sleep 1
start-stop-daemon --start --quiet --pidfile \
/var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
status)
if [ -s /var/run/$NAME.pid ]; then
RUNNING=$(cat /var/run/$NAME.pid)
if [ -d /proc/$RUNNING ]; then
if [ $(readlink /proc/$RUNNING/exe) = $DAEMON ]; then
echo "$NAME is running."
exit 0
fi
fi

# No such PID, or executables don't match
echo "$NAME is not running, but pidfile existed."
rm /var/run/$NAME.pid
exit 1
else
rm -f /var/run/$NAME.pid
echo "$NAME not running."
exit 1
fi
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
esac

exit 0


ma serve per prenderci spunto

balubeto
07-04-2014, 11:24
Ho creato questo script:


#! /bin/sh
#
### BEGIN INIT INFO
# Provides: x11vnc
# Required-Start: $syslog $local_fs
# Required-Stop: $syslog $local_fs
# Should-Start: LightDM
# Default-Start: 2
# Default-Stop: 1
# Short-Description: x11 vnc
# Description: x11vnc
### END INIT INFO

DAEMON=/usr/bin/x11vnc
NAME=x11vnc
DESC="X11 vnc"

test -x $DAEMON || exit 0

DAEMON_OPTS="-auth /var/run/lightdm/root/:0 -rfbauth /etc/x11vnc.pass -nomodtweak -shared -forever -o /var/log/x11vnc.log -bg"

set -e

case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
--exec $DAEMON -- $DAEMON_OPTS &
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --oknodo --quiet --pidfile /var/run/$NAME.pid \
--exec $DAEMON
echo "$NAME."
;;
restart)
echo -n "Restarting $DESC: "
start-stop-daemon --stop --quiet --pidfile \
/var/run/$NAME.pid --exec $DAEMON
sleep 1
start-stop-daemon --start --quiet --pidfile \
/var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
status)
if [ -s /var/run/$NAME.pid ]; then
RUNNING=$(cat /var/run/$NAME.pid)
if [ -d /proc/$RUNNING ]; then
if [ $(readlink /proc/$RUNNING/exe) = $DAEMON ]; then
echo "$NAME is running."
exit 0
fi
fi
# No such PID, or executables don't match
echo "$NAME is not running, but pidfile existed."
rm /var/run/$NAME.pid
exit 1
else
rm -f /var/run/$NAME.pid
echo "$NAME not running."
exit 1
fi
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
esac

exit 0


ed ho salvato in /etc/init.d/x11vnc e, a quanto pare, funziona e riesco a controllare anche il LightDM.

Ora, proseguo nel mio thread principale http://www.hwupgrade.it/forum/showthread.php?t=2639418 .

Grazie

Ciao