thinclient/etc/rc.local
Steffen Probst f831f85dfd „etc/rc.local“ ändern
Überarbeitet.

Jetzt wird die macadresse von 1. Netzwerkgerät für den Namen genommen. 
Muss noch sauber gemacht werden!
2021-11-11 13:11:38 +01:00

76 lines
2.2 KiB
Bash
Executable File

#!/usr/bin/env bash
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
set -e
which chromium-browser > /dev/null && [ -d /etc/chromium ] && mv /etc/chromium/ /etc/chromium-browser
sleep 10
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
macaddress=$(find /sys/class/net -mindepth 1 -maxdepth 1 ! -name lo -printf "%P: " -execdir cat {}/address \; | cut -f 2 -d ' ')
#Hostname wird anhand des WLAN0 erstell / kann auch entsprechend auf anderes Geraet umgestellt werden
#ip a s wlan1 2&>1 /dev/null ||
#Check einbauen der aktive Verbindung prüft
if [ -d /home/pi ]; then
echo pi$(echo $macaddress | sed s'/://g') > /tmp/hostname && hostname --file /tmp/hostname
else
echo thin$(echo $macaddress | sed s'/://g') > /tmp/hostname && hostname --file /tmp/hostname
fi
cp /tmp/hostname /etc/hostname
# insert/update hosts entry
ip_address="127.0.2.1"
host_name=$(cat /tmp/hostname)
# find existing instances in the host file and save the line numbers
matches_in_hosts="$(grep -n $host_name /etc/hosts | cut -f1 -d:)"
host_entry="${ip_address}\ ${host_name}\ ${host_name}.lebenshilfe.local"
echo "Please enter your password if requested."
if [ ! -z "$matches_in_hosts" ]
then
echo "Updating existing hosts entry."
# iterate over the line numbers on which matches were found
while read -r line_number; do
# replace the text of each line with the desired host entry
sed -i ${line_number}s'/.*/${host_entry}/' /etc/hosts
done <<< "$matches_in_hosts"
else
echo "Adding new hosts entry."
echo "$host_entry" | sudo tee -a /etc/hosts > /dev/null
fi
# set network
# start X environment
if [ -f /boot/client-cfg/xinitrc ]; then
if [ -d /home/pi ]; then
ln -fs /boot/client-cfg/xinitrc /home/pi/.xinitrc;
su -l pi -s /bin/bash -c 'startx -- vt1' &
else
ln -fs /boot/client-cfg/xinitrc /home/thinnote/.xinitrc;
su -l thinnote -s /bin/bash -c 'startx -- vt1' &
fi
fi
exit 0