thinclient/etc/rc.local
Steffen Probst 72c250bcaf „etc/rc.local“ ändern
Update der /etc/hosts und hostname im.
2021-11-11 12:34:10 +01:00

80 lines
2.4 KiB
Bash
Executable File

#!/bin/sh -e
#
# 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.
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
# set hostname
#if [ -f /boot/client-cfg/hostname.txt ]; then
# hostname --file /boot/client-cfg/hostname.txt
#fi
#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$(cat /sys/class/net/wlan0/address | sed s'/://g') > /tmp/hostname && hostname --file /tmp/hostname
else
echo thin$(cat /sys/class/net/wlan0/address | 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
sudo 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
#Fuer eth0, wenn kein WLAN vorhanden ist. Kann dann auskommentiert werden.
#echo rpi$(cat /sys/class/net/eth0/address | sed s'/://g') > /tmp/hostname && hostname --file /tmp/hostname
# 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