diff --git a/scripts/clear_all_data.sh b/scripts/clear_all_data.sh index 7ca511f..9330ef1 100755 --- a/scripts/clear_all_data.sh +++ b/scripts/clear_all_data.sh @@ -5,8 +5,8 @@ # so far. set -x source /etc/birdnet/birdnet.conf -USER=$(awk -F: '/1000/ {print $1}' /etc/passwd) -HOME=$(awk -F: '/1000/ {print $6}' /etc/passwd) +USER=${BIRDNET_USER} +HOME=/home/${BIRDNET_USER} my_dir=${HOME}/BirdNET-Pi/scripts echo "Stopping services" sudo systemctl stop birdnet_recording.service diff --git a/scripts/install_config.sh b/scripts/install_config.sh index d77efe8..9456c61 100755 --- a/scripts/install_config.sh +++ b/scripts/install_config.sh @@ -121,6 +121,11 @@ FLICKR_FILTER_EMAIL= #-------------------------------- Defaults ----------------------------------# ################################################################################ +## BIRDNET_USER is for scripts to easily find where BirdNET-Pi is installed +## DO NOT EDIT! + +BIRDNET_USER=$USER + ## RECS_DIR is the location birdnet_analysis.service will look for the data-set ## it needs to analyze. Be sure this directory is readable and writable for ## the BIRDNET_USER. diff --git a/scripts/install_language_label.sh b/scripts/install_language_label.sh index 0129288..001ccb8 100755 --- a/scripts/install_language_label.sh +++ b/scripts/install_language_label.sh @@ -14,7 +14,8 @@ while getopts "l:" o; do done shift $((OPTIND-1)) -HOME=$(awk -F: '/1000/ {print $6}' /etc/passwd) +source /etc/birdnet/birdnet.conf +HOME=/home/${BIRDNET_USER} label_file_name="labels_${lang}.txt" diff --git a/scripts/install_language_label_nm.sh b/scripts/install_language_label_nm.sh index 4569a0c..fb97bf8 100755 --- a/scripts/install_language_label_nm.sh +++ b/scripts/install_language_label_nm.sh @@ -14,7 +14,8 @@ while getopts "l:" o; do done shift $((OPTIND-1)) -HOME=$(awk -F: '/1000/ {print $6}' /etc/passwd) +source /etc/birdnet/birdnet.conf +HOME=/home/${BIRDNET_USER} label_file_name="labels_${lang}.txt" diff --git a/scripts/update_birdnet.sh b/scripts/update_birdnet.sh index 340ecac..e3332a6 100755 --- a/scripts/update_birdnet.sh +++ b/scripts/update_birdnet.sh @@ -5,8 +5,13 @@ trap 'exit 1' SIGINT SIGHUP usage() { echo "Usage: $0 [-r ] [-b ]" 1>&2; exit 1; } -USER=$(awk -F: '/1000/ {print $1}' /etc/passwd) -HOME=$(awk -F: '/1000/ {print $6}' /etc/passwd) +if [ -n "${BIRDNET_USER}" ]; then + USER=${BIRDNET_USER} + HOME=/home/${BIRDNET_USER} +else + USER=$(awk -F: '/1000/ {print $1}' /etc/passwd) + HOME=$(awk -F: '/1000/ {print $6}' /etc/passwd) +fi my_dir=$HOME/BirdNET-Pi/scripts # Defaults diff --git a/scripts/update_birdnet_snippets.sh b/scripts/update_birdnet_snippets.sh index 8096734..bb51b0f 100755 --- a/scripts/update_birdnet_snippets.sh +++ b/scripts/update_birdnet_snippets.sh @@ -2,10 +2,15 @@ set -x # Update BirdNET-Pi trap 'exit 1' SIGINT SIGHUP -USER=$(awk -F: '/1000/ {print $1}' /etc/passwd) -HOME=$(awk -F: '/1000/ {print $6}' /etc/passwd) -my_dir=$HOME/BirdNET-Pi/scripts source /etc/birdnet/birdnet.conf +if [ -n "${BIRDNET_USER}" ]; then + USER=${BIRDNET_USER} + HOME=/home/${BIRDNET_USER} +else + USER=$(awk -F: '/1000/ {print $1}' /etc/passwd) + HOME=$(awk -F: '/1000/ {print $6}' /etc/passwd) +fi +my_dir=$HOME/BirdNET-Pi/scripts source "$my_dir/install_helpers.sh" # Sets proper permissions and ownership @@ -65,6 +70,12 @@ if ! grep -E '^DATA_MODEL_VERSION=' /etc/birdnet/birdnet.conf &>/dev/null;then echo "DATA_MODEL_VERSION=1" >> /etc/birdnet/birdnet.conf fi +if ! grep -E '^BIRDNET_USER=' /etc/birdnet/birdnet.conf &>/dev/null;then + echo "## BIRDNET_USER is for scripts to easily find where BirdNET-Pi is installed" >> /etc/birdnet/birdnet.conf + echo "## DO NOT EDIT!" >> /etc/birdnet/birdnet.conf + echo "BIRDNET_USER=$(awk -F: '/1000/ {print $1}' /etc/passwd)" >> /etc/birdnet/birdnet.conf +fi + if ! grep -E '^RTSP_STREAM_TO_LIVESTREAM=' /etc/birdnet/birdnet.conf &>/dev/null;then echo "RTSP_STREAM_TO_LIVESTREAM=\"0\"" >> /etc/birdnet/birdnet.conf fi