mirror of
https://github.com/mumble-voip/mumble.git
synced 2025-10-26 11:19:16 +00:00
The name `murmur` is deprecated and shouldn't be used anymore, as decided by the Mumble project. While the server binary already uses the "new" name, the man pages don't. Thus, rework the man pages so that its successor `mumble-server` instead `murmur` is used and rename the filenames of the man pages accordingly. Also, rename the script `murmur-user-wrapper` to `mumble-server-user-wrapper`, since also its man page is renamed. This does not affect the configuration file `murmur.ini`. Signed-off-by: Felix Singer <felixsinger@posteo.net>
121 lines
2.6 KiB
Bash
Executable File
121 lines
2.6 KiB
Bash
Executable File
#! /bin/bash
|
|
#
|
|
# Copyright 2005-2020 The Mumble Developers. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license
|
|
# that can be found in the LICENSE file at the root of the
|
|
# Mumble source tree or at <https://www.mumble.info/LICENSE>.
|
|
|
|
DIR=$HOME/murmur
|
|
SYSDIR=/usr/share/doc/mumble-server/examples
|
|
|
|
if [ $UID == 0 ] || [ $EUID == 0 ]; then
|
|
echo "You should never run this script as root. If you want a system-wide install, see "
|
|
echo "the documentation included with this package."
|
|
exit 2
|
|
fi
|
|
|
|
unset SETPW
|
|
DO_KILL=0
|
|
DO_STATUS=0
|
|
DO_INITONLY=0
|
|
|
|
while getopts "sid:p:k" flag; do
|
|
case "$flag" in
|
|
"s")
|
|
DO_STATUS=1
|
|
;;
|
|
"i")
|
|
DO_INITONLY=1
|
|
;;
|
|
"d")
|
|
DIR=$OPTARG
|
|
;;
|
|
"p")
|
|
SETPW=$OPTARG
|
|
;;
|
|
"k")
|
|
DO_KILL=1
|
|
;;
|
|
*)
|
|
exit 2
|
|
;;
|
|
esac
|
|
done
|
|
DBUSFILE=$DIR/.dbus.sh
|
|
|
|
if [ $DO_KILL == 1 ]; then
|
|
if pkill -U $UID -u $EUID -o -x -f "/usr/sbin/murmurd -ini $DIR/murmur.ini"; then
|
|
echo "Termination signal sent"
|
|
else
|
|
echo "Murmur process not found; not terminated"
|
|
exit 2
|
|
fi
|
|
exit 0
|
|
fi
|
|
|
|
if [ ! -d $DIR ]; then
|
|
echo "Making $DIR"
|
|
mkdir -m 0700 $DIR
|
|
fi
|
|
|
|
cd $DIR || exit 2
|
|
|
|
if [ ! -f $DIR/murmur.ini ]; then
|
|
echo "Creating $DIR/murmur.ini"
|
|
if [ -f $SYSDIR/murmur.ini ]; then
|
|
cp $SYSDIR/murmur.ini $DIR
|
|
elif [ -f $SYSDIR/murmur.ini.gz ]; then
|
|
gzip -cd $SYSDIR/murmur.ini.gz > $DIR/murmur.ini
|
|
else
|
|
echo "Could not find template for murmur.ini in $SYSDIR."
|
|
exit 2
|
|
fi
|
|
elif [ $DO_INITONLY == 1 ]; then
|
|
echo "$DIR/murmur.ini already exists, initialization failed."
|
|
exit 2
|
|
fi
|
|
|
|
if [ $DO_INITONLY == 1 ]; then
|
|
echo "Initialization done. Please edit $DIR/murmur.ini"
|
|
exit 0
|
|
fi
|
|
|
|
if [ "X$SETPW" != "X" ]; then
|
|
echo "Setting superuser password to \"$SETPW\""
|
|
/usr/sbin/murmurd -ini $DIR/murmur.ini -supw $SETPW
|
|
exit 0
|
|
fi
|
|
|
|
PID=$(pgrep -U $UID -u $EUID -o -x -f "/usr/sbin/murmurd -ini $DIR/murmur.ini")
|
|
|
|
if [ $DO_STATUS == 1 ]; then
|
|
if [ "X$PID" != "X" ]; then
|
|
echo "Murmur is running"
|
|
exit 1
|
|
else
|
|
echo "Murmur is not running"
|
|
exit 0
|
|
fi
|
|
fi
|
|
|
|
if [ "X$PID" != "X" ]; then
|
|
echo "Murmur is already running."
|
|
exit 1
|
|
fi
|
|
|
|
DBUS_SESSION_BUS_ADDRESS=invalid:/
|
|
[ -f $DBUSFILE ] && . $DBUSFILE
|
|
|
|
if ! dbus-send --print-reply --dest=org.freedesktop.DBus --type=method_call / org.freedesktop.DBus.GetId 2> /dev/null > /dev/null; then
|
|
echo "Launching D-Bus session"
|
|
dbus-launch --sh-syntax > $DBUSFILE
|
|
. $DBUSFILE
|
|
if ! dbus-send --print-reply --dest=org.freedesktop.DBus --type=method_call / org.freedesktop.DBus.GetId 2> /dev/null > /dev/null; then
|
|
echo "Failed to launch session DBUS, bailing out."
|
|
exit 2
|
|
fi
|
|
fi
|
|
|
|
echo "Starting Murmur"
|
|
exec /usr/sbin/murmurd -ini $DIR/murmur.ini
|