Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #
- # Init file for daemonized Skype service
- #
- ### BEGIN INIT INFO
- # Provides: skype
- # Required-Start: $local_fs $remote_fs $network
- # Required-Stop: $local_fs $remote_fs $network
- # Default-Start: 3 4 5
- # Default-Stop: 0 1 2 6
- # X-Interactive: false
- # Short-Description: Start/stop daemonized Skype service
- ### END INIT INFO
- #
- # chkconfig: 345 80 10
- #
- # processname: skype
- #
- # pidfile: /var/run/skype.pid
- #
- if [ -r /etc/rc.d/init.d/functions ]; then
- . /etc/rc.d/init.d/functions
- log_daemon_msg() {
- msg=$1
- prog=$2
- echo -n $"$msg $prog: "
- }
- log_end_msg() {
- if [ "$1" = "0" ]; then
- success
- elif [ "$1" = "1" ]; then
- failure
- fi
- echo
- }
- elif [ -r /lib/lsb/init-functions ]; then
- . /lib/lsb/init-functions
- else
- echo "Could not find a helper script needed to run this script."
- exit 1
- fi
- DAEMON_USER=skype
- PROGNAME=`basename $0`
- PIDFILE=/var/run/skype.pid
- XSERVERNUM=20
- XAUTHFILE=/var/run/skype/Xauthority
- LOGFILE=/var/log/skype/error.log
- DBPATH=/srv/skype/conf
- XAUTHPROTO=.
- SKYPE=/opt/skype/skype
- USERNAME=echo123
- PASSWORD=blah
- [ -f /etc/sysconfig/skype ] && . /etc/sysconfig/skype
- prog="skype"
- RETVAL=0
- dircheck() {
- if [ ! -d `dirname "$1"` ]; then
- echo "`dirname \"$1\"` does not exist"
- return 1
- else
- return 0
- fi
- }
- start() {
- log_daemon_msg "Starting" "skype"
- if ! dircheck "$LOGFILE" || ! dircheck "$XAUTHFILE"; then
- log_end_msg 1
- echo
- RETVAL=1
- return
- fi
- MCOOKIE=`mcookie` && \
- sudo -u "$DAEMON_USER" env XAUTHORITY=$XAUTHFILE sh -c "xauth add \":$XSERVERNUM\" \"$XAUTHPROTO\" \"$MCOOKIE\" >> \"$LOGFILE\" 2>&1" && \
- sudo -u "$DAEMON_USER" env XAUTHORITY=$XAUTHFILE sh -c "Xvfb :$XSERVERNUM -screen 0 800x600x8 -nolisten tcp >> \"$LOGFILE\" 2>&1 & echo \$!" >"$PIDFILE" &&
- sleep 3 && \
- (sudo -u "$DAEMON_USER" env DISPLAY=:$XSERVERNUM XAUTHORITY=$XAUTHFILE SKYPE="$SKYPE" sh -c "echo \"$USERNAME $PASSWORD\" | nohup \"$SKYPE\" --dbpath=\"$DBPATH\" --pipelogin &") >> "$LOGFILE" 2>&1 && \
- (log_end_msg 0 && [ -d /var/lock/subsys ] && touch /var/lock/subsys/skype || true) \
- || (RETVAL=$?; kill -TERM `cat $PIDFILE`; log_end_msg 1)
- }
- stop() {
- log_daemon_msg "Stopping" "skype"
- if [ -e "$PIDFILE" ]; then
- kill -TERM `cat $PIDFILE` && \
- rm -f $PIDFILE && \
- if [ -d /var/lock/subsys ]; then rm -f /var/lock/subsys/skype; fi && \
- log_end_msg 0 || log_end_msg 1
- else
- log_end_msg 1
- RETVAL=1
- fi
- }
- usage() {
- echo "Usage: $PROGNAME {start|stop|restart}"
- }
- case $1 in
- start)
- start
- ;;
- stop)
- stop
- ;;
- restart)
- stop
- start
- ;;
- *)
- usage
- RETVAL=255
- ;;
- esac
- exit $RETVAL
Add Comment
Please, Sign In to add comment