Ubuntu 18.04 -> 'tsmuxer' (and others) is not available
Forum rules
Please make sure you follow the Problem Reporting Guidelines before posting if you want a reply
Please make sure you follow the Problem Reporting Guidelines before posting if you want a reply
Re: Ubuntu 18.04 -> 'tsmuxer' (and others) is not available
UMS is meant to work with javs 7 but they recommend java 8.
I use java 8 and it wouldnt hurt to update your java version to 8.
What about your startup (init) script. Just a long shot but probably worth taking a look at.
I have my linux paths (inc /usr/bin) in my startup script for UMS.
I use java 8 and it wouldnt hurt to update your java version to 8.
What about your startup (init) script. Just a long shot but probably worth taking a look at.
I have my linux paths (inc /usr/bin) in my startup script for UMS.
Re: Ubuntu 18.04 -> 'tsmuxer' (and others) is not available
I'm using the start-up script that comes with UMS 7.7.1 with no modifications.
Also, I updated to java 8 and it's still giving the same warning about permissions. (However, as I mentioned before, it appears to be working as intended.)
I'm going to try compiling and running from source on this Linux box and see if I can track down what's causing the warning. Thanks.
Also, I updated to java 8 and it's still giving the same warning about permissions. (However, as I mentioned before, it appears to be working as intended.)
Code: Select all
apollo::root:~> java -version
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-0ubuntu0.18.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
Re: Ubuntu 18.04 -> 'tsmuxer' (and others) is not available
OK, I dug around in the source and finally discovered the cause of the "permissions error" message. The reason is that custom paths set in the config file need to include the binary file name. So, for example:
In other words, the setting for dcraw_path (and all of the other binary paths) must end with the actual binary file. "/usr/bin" won't work -- it has to be "/usr/bin/dcraw", etc.
I created a pull request to add Examples to the UMS.conf file so that this is more obvious: https://github.com/UniversalMediaServer ... /pull/1740
Code: Select all
# Path to dcraw (absolute or relative from project.binaries.dir)
# Default:
# Win: win32/dcrawMS.exe
# Mac: osx/dcraw
# Linux: dcraw + system PATH
dcraw_path = /usr/bin/dcraw
I created a pull request to add Examples to the UMS.conf file so that this is more obvious: https://github.com/UniversalMediaServer ... /pull/1740
Re: Ubuntu 18.04 -> 'tsmuxer' (and others) is not available
Stupid me. My error about giving you the paths without the file name. I had to do that as well in a previous version when I had that problem.
I don't think UMS comes with a startup script. The startup script I'm talking about is one which would go in /etc/init.d. I don't use Ubuntu but I think the startup scripts are in the same place. If you name the startup script ums then /etc/init.d/ums would start UMS.
THIS IS MINE
#!/bin/bash
### BEGIN INIT INFO
# Provides: ums
# Required-Start: $local_fs $remote_fs $network
# Required-Stop: $local_fs $remote_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Starts UMS program.
# Description: Java Upnp Media Server dedicated to PS3
### END INIT INFO
#set -x
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="Universal Media Server"
NAME=ums
UMS_PROFILE=/root/.config/UMS/UMS.conf You would change this to where your UMS.conf file is.
DAEMON=/opt/ums/ums/UMS.sh You would change this to where your UMS.sh file is.
DAEMON_OPTS="console"
LOGFILE=/var/log/UMS/root/debug.log You would change this to where your log file is.
SCRIPTNAME=/etc/init.d/ums
UMS_START=1 # Wether to start or not UMS ver at boot time.
DODTIME=30 # Time to wait for the server to die, in seconds.
# If this value is set too low you might not
# let the program to die gracefully and 'restart' will not work
test -x $DAEMON || exit 1
# Include ums defaults if available
if [ -f "/etc/default/$NAME" ] ; then
. /etc/default/$NAME
fi
# May we run the init.d script ?
[ $UMS_START = 1 ] || exit 1
#--------------------------------------------------------------------------
# Some color codes
txtred=$'\e[0;31m' # Red
txtylw=$'\e[0;33m' # Yellow
txtrst=$'\e[0m' # Text Reset
#--------------------------------------------------------------------------
warnout(){
echo >&2 -e ""$txtylw"Warning:$txtrst $1"
}
#--------------------------------------------------------------------------
running(){
pid=`pgrep -f 'java .*ums.jar.*'`
}
#--------------------------------------------------------------------------
do_start(){
running && { warnout "$NAME is already running !"; exit 0; }
echo "Starting $DESC : $NAME"
UMS_PROFILE="$UMS_PROFILE" start-stop-daemon --start --quiet --background --oknodo \
--exec $DAEMON -- $DAEMON_OPTS
}
#--------------------------------------------------------------------------
do_stop(){
running || { warnout "$DESC is NOT running !"; exit 0; }
local countdown="$DODTIME"
echo -e "Stopping $DESC : $NAME \c "
kill -9 $pid
while running; do
if (($countdown >= 0)); then
sleep 1; echo -n .;
((--countdown))
else
break;
fi
done
echo
# If still running, then try to send SIGINT signal
running && { \
echo >&2 "Using kill -s SIGINT instead"; \
echo >&2 "If you see this message again, then you should increase the value of DODTIME in '$0'."; \
kill -2 $pid; \
}
if [ -e "$LOGFILE" ]; then
count=7
while [ $count -ge 1 ]
do
if [ -e "$LOGFILE.$count" ]; then
plus=$((count+1))
mv "$LOGFILE.$count" "$LOGFILE.$plus"
fi
count=$((count-1))
done
if [ -e "$LOGFILE" ]; then
mv "$LOGFILE" "$LOGFILE.1"
fi
fi
return 0
}
#--------------------------------------------------------------------------
do_force-stop(){
running || { warnout "$NAME is NOT running !"; exit 0; }
echo "Stopping $DESC : $NAME"
kill -9 $pid
if [ -e "$LOGFILE" ]; then
count=8
while [ $count -ge 1 ]
do
if [ -e "$LOGFILE.$count" ]; then
plus=$((count+1))
mv "$LOGFILE.$count" "$LOGFILE.$plus"
fi
count=$((count-1))
done
if [ -e "$LOGFILE" ]; then
mv "$LOGFILE" "$LOGFILE.1"
fi
fi
}
#--------------------------------------------------------------------------
do_status(){
echo -n " * $DESC : $NAME is "
( running || { echo "NOT running "; exit 0; } )
( running && { echo "running (PID -> $(echo $pid))"; exit 0; } )
}
#--------------------------------------------------------------------------
case "$1" in
start|stop|force-stop|status)
do_${1}
;;
restart|reload)
do_stop
do_start
;;
force-restart|force-reload)
do_force-stop
do_start
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|force-stop|restart|force-restart|reload|force-reload|status}"
exit 1
;;
esac
Cheers.
I don't think UMS comes with a startup script. The startup script I'm talking about is one which would go in /etc/init.d. I don't use Ubuntu but I think the startup scripts are in the same place. If you name the startup script ums then /etc/init.d/ums would start UMS.
THIS IS MINE
#!/bin/bash
### BEGIN INIT INFO
# Provides: ums
# Required-Start: $local_fs $remote_fs $network
# Required-Stop: $local_fs $remote_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Starts UMS program.
# Description: Java Upnp Media Server dedicated to PS3
### END INIT INFO
#set -x
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="Universal Media Server"
NAME=ums
UMS_PROFILE=/root/.config/UMS/UMS.conf You would change this to where your UMS.conf file is.
DAEMON=/opt/ums/ums/UMS.sh You would change this to where your UMS.sh file is.
DAEMON_OPTS="console"
LOGFILE=/var/log/UMS/root/debug.log You would change this to where your log file is.
SCRIPTNAME=/etc/init.d/ums
UMS_START=1 # Wether to start or not UMS ver at boot time.
DODTIME=30 # Time to wait for the server to die, in seconds.
# If this value is set too low you might not
# let the program to die gracefully and 'restart' will not work
test -x $DAEMON || exit 1
# Include ums defaults if available
if [ -f "/etc/default/$NAME" ] ; then
. /etc/default/$NAME
fi
# May we run the init.d script ?
[ $UMS_START = 1 ] || exit 1
#--------------------------------------------------------------------------
# Some color codes
txtred=$'\e[0;31m' # Red
txtylw=$'\e[0;33m' # Yellow
txtrst=$'\e[0m' # Text Reset
#--------------------------------------------------------------------------
warnout(){
echo >&2 -e ""$txtylw"Warning:$txtrst $1"
}
#--------------------------------------------------------------------------
running(){
pid=`pgrep -f 'java .*ums.jar.*'`
}
#--------------------------------------------------------------------------
do_start(){
running && { warnout "$NAME is already running !"; exit 0; }
echo "Starting $DESC : $NAME"
UMS_PROFILE="$UMS_PROFILE" start-stop-daemon --start --quiet --background --oknodo \
--exec $DAEMON -- $DAEMON_OPTS
}
#--------------------------------------------------------------------------
do_stop(){
running || { warnout "$DESC is NOT running !"; exit 0; }
local countdown="$DODTIME"
echo -e "Stopping $DESC : $NAME \c "
kill -9 $pid
while running; do
if (($countdown >= 0)); then
sleep 1; echo -n .;
((--countdown))
else
break;
fi
done
echo
# If still running, then try to send SIGINT signal
running && { \
echo >&2 "Using kill -s SIGINT instead"; \
echo >&2 "If you see this message again, then you should increase the value of DODTIME in '$0'."; \
kill -2 $pid; \
}
if [ -e "$LOGFILE" ]; then
count=7
while [ $count -ge 1 ]
do
if [ -e "$LOGFILE.$count" ]; then
plus=$((count+1))
mv "$LOGFILE.$count" "$LOGFILE.$plus"
fi
count=$((count-1))
done
if [ -e "$LOGFILE" ]; then
mv "$LOGFILE" "$LOGFILE.1"
fi
fi
return 0
}
#--------------------------------------------------------------------------
do_force-stop(){
running || { warnout "$NAME is NOT running !"; exit 0; }
echo "Stopping $DESC : $NAME"
kill -9 $pid
if [ -e "$LOGFILE" ]; then
count=8
while [ $count -ge 1 ]
do
if [ -e "$LOGFILE.$count" ]; then
plus=$((count+1))
mv "$LOGFILE.$count" "$LOGFILE.$plus"
fi
count=$((count-1))
done
if [ -e "$LOGFILE" ]; then
mv "$LOGFILE" "$LOGFILE.1"
fi
fi
}
#--------------------------------------------------------------------------
do_status(){
echo -n " * $DESC : $NAME is "
( running || { echo "NOT running "; exit 0; } )
( running && { echo "running (PID -> $(echo $pid))"; exit 0; } )
}
#--------------------------------------------------------------------------
case "$1" in
start|stop|force-stop|status)
do_${1}
;;
restart|reload)
do_stop
do_start
;;
force-restart|force-reload)
do_force-stop
do_start
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|force-stop|restart|force-restart|reload|force-reload|status}"
exit 1
;;
esac
Cheers.
Re: Ubuntu 18.04 -> 'tsmuxer' (and others) is not available
Oh yea, that's a nice script ..I'll use that.
Honestly, I had just been using the shell script that comes with UMS:
Honestly, I had just been using the shell script that comes with UMS:
Code: Select all
UMS.sh &
Re: Ubuntu 18.04 -> 'tsmuxer' (and others) is not available
Sorry, it shound have been:
/etc/init.d/ums start to start UMS
/etc/init.d/ums stop to stop UMS
/etc/init.d/ums restart to restart UMS
These are the commands which are available with the script:
echo "Usage: $SCRIPTNAME {start|stop|force-stop|restart|force-restart|reload|force-reload|status}"
/etc/init.d/ums start to start UMS
/etc/init.d/ums stop to stop UMS
/etc/init.d/ums restart to restart UMS
These are the commands which are available with the script:
echo "Usage: $SCRIPTNAME {start|stop|force-stop|restart|force-restart|reload|force-reload|status}"
Re: Ubuntu 18.04 -> 'tsmuxer' (and others) is not available
Just a note to add.
I have noticed that during the installation of UMS depending on how you run it, either as a sudo user or as the root, it is looking for the .conf file in different places.
You can see this by running the script not as SUDO and it will give you an error about where it is looking for the .conf file.
When I would run it local user I would get differing configurations.
Indeed after inspection I found that there were seperate configuration files in 3 locations:
/usr/ums/UMS.conf
/usr/$user/.config/UMS/UMS.conf
/root/.config/UMS/UMS.conf
I ended up looking at the second two which only had the entries in them created by the wizard. I transferred those settings to the one in the install folder so that I only need to manage one .CONF and make a backup of it.
If you run this make sure you backup your files if you setup different configurations there.
If you use separate configurations when running locally than when you run as a service you will NOT want to do this.
I have noticed that during the installation of UMS depending on how you run it, either as a sudo user or as the root, it is looking for the .conf file in different places.
You can see this by running the script not as SUDO and it will give you an error about where it is looking for the .conf file.
When I would run it local user I would get differing configurations.
Indeed after inspection I found that there were seperate configuration files in 3 locations:
/usr/ums/UMS.conf
/usr/$user/.config/UMS/UMS.conf
/root/.config/UMS/UMS.conf
I ended up looking at the second two which only had the entries in them created by the wizard. I transferred those settings to the one in the install folder so that I only need to manage one .CONF and make a backup of it.
If you run this make sure you backup your files if you setup different configurations there.
If you use separate configurations when running locally than when you run as a service you will NOT want to do this.
Code: Select all
sudo rm /root/.config/UMS/UMS.conf
rm /home/$user/.config/UMS/UMS.conf
sudo ln -s /usr/ums/UMS.conf /root/.config/UMS/UMS.conf
sudo ln -s /usr/ums/UMS.conf /home/$user/.config/UMS/UMS.conf
Re: Ubuntu 18.04 -> 'tsmuxer' (and others) is not available
@MovieFrek
Can you follow the instructions here:
https://www.universalmediaserver.com/fo ... ?f=9&t=556
and post your log file.
Can you follow the instructions here:
https://www.universalmediaserver.com/fo ... ?f=9&t=556
and post your log file.