Hallo zusammen, ich muss euch leider nocheinmal wegen meines Arch Install Scripts kontaktieren.
Mit dem folgendem Code:
#!/usr/bin/env bash
#-------------------------------------------------------------------------
# _ _ __ __ _ _
# /_\ _ _ __| |_ | \/ |__ _| |_(_)__
# / _ \| '_/ _| ' \| |\/| / _` | _| / _|
# /_/ \_\_| \__|_||_|_| |_\__,_|\__|_\__|
# Arch Linux Install and Config Setup
#-------------------------------------------------------------------------
arch-chroot /mnt /bin/bash <<"EOF"
echo -e "\nGenaerating .xinitrc file"
# Generate the .xinitrc file so we can launch Awesome from the
# terminal using the "startx" command
cat <<"EOF" > /home/test/.xinitrc
#!/bin/bash
# Disable bell
xset -b
# Disable all Power Saving Stuff
xset -dpms
xset s off
# X Root window color
xsetroot -solid darkgrey
# Merge resources (optional)
#xrdb -merge $HOME/.Xresources
# Caps to Ctrl, no caps
setxkbmap -layout us -option ctrl:nocaps
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
[ -x "\$f" ] && . "\$f"
done
unset f
fi
exit 0
EOF
# ------------------------------------------------------------------------
# By default, startx incorrectly looks for the .serverauth file in our HOME folder.
sudo sed -i 's|xserverauthfile=\$HOME/.serverauth.\$\$|xserverauthfile=\$XAUTHORITY|g' /bin/startx
# ------------------------------------------------------------------------
echo -e "\nDisabling buggy cursor inheritance"
# When you boot with multiple monitors the cursor can look huge. This fixes it.
sudo cat <<"EOF" > /usr/share/icons/default/index.theme
[Icon Theme]
#Inherits=Theme
EOF
# ------------------------------------------------------------------------
echo -e "\nIncreasing file watcher count"
# This prevents a "too many files" error in Visual Studio Code
echo fs.inotify.max_user_watches=524288 | sudo tee /etc/sysctl.d/40-max-user-watches.conf && sudo sysctl --system
# ------------------------------------------------------------------------
echo -e "\nDisabling Pulse .esd_auth module"
# Pulse audio loads the `esound-protocol` module, which best I can tell is rarely needed.
# That module creates a file called `.esd_auth` in the home directory which I'd prefer to not be there. So...
sudo sed -i 's|load-module module-esound-protocol-unix|#load-module module-esound-protocol-unix|g' /etc/pulse/default.pa
# ------------------------------------------------------------------------
echo -e "\nEnabling Login Display Manager"
sudo systemctl enable lightdm
# ------------------------------------------------------------------------
echo -e "\nEnabling bluetooth daemon and setting it to auto-start"
sudo sed -i 's|#AutoEnable=false|AutoEnable=true|g' /etc/bluetooth/main.conf
sudo systemctl enable bluetooth
# ------------------------------------------------------------------------
#echo -e "\nEnabling the cups service daemon so we can print"
#systemctl enable --now org.cups.cupsd.service
#sudo ntpd -qg
#sudo systemctl enable --now ntpd.service
#sudo systemctl disable dhcpcd.service
#sudo systemctl stop dhcpcd.service
#sudo systemctl enable --now NetworkManager.service
# ------------------------------------------------------------------------
cd $pwd
echo "-------------------------------------------------"
echo "-- Done --"
echo "-------------------------------------------------"
EOF
bekomme ich diesen output:
Genaerating .xinitrc file
/bin/bash: line 25: warning: here-document at line 6 delimited by end-of-file (wanted `EOF')
sed: can't read /bin/startx: No such file or directory
Disabling buggy cursor inheritance
./0-setup.sh: line 48: /usr/share/icons/default/index.theme: No such file or directory
Increasing file watcher count
fs.inotify.max_user_watches=524288
* Applying /usr/lib/sysctl.d/10-arch.conf ...
fs.inotify.max_user_instances = 1024
fs.inotify.max_user_watches = 524288
* Applying /etc/sysctl.d/40-max-user-watches.conf ...
fs.inotify.max_user_watches = 524288
* Applying /usr/lib/sysctl.d/50-coredump.conf ...
kernel.core_pattern = |/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %h
fs.suid_dumpable = 2
* Applying /usr/lib/sysctl.d/50-default.conf ...
kernel.sysrq = 16
kernel.core_uses_pid = 1
net.ipv4.conf.default.rp_filter = 2
sysctl: setting key "net.ipv4.conf.all.rp_filter": Invalid argument
net.ipv4.conf.default.accept_source_route = 0
sysctl: setting key "net.ipv4.conf.all.accept_source_route": Invalid argument
net.ipv4.conf.default.promote_secondaries = 1
sysctl: setting key "net.ipv4.conf.all.promote_secondaries": Invalid argument
net.ipv4.ping_group_range = 0 2147483647
net.core.default_qdisc = fq_codel
fs.protected_hardlinks = 1
fs.protected_symlinks = 1
fs.protected_regular = 1
fs.protected_fifos = 1
* Applying /usr/lib/sysctl.d/50-pid-max.conf ...
kernel.pid_max = 4194304
Disabling Pulse .esd_auth module
sed: can't read /etc/pulse/default.pa: No such file or directory
Enabling Login Display Manager
Failed to enable unit: Unit file lightdm.service does not exist.
Enabling bluetooth daemon and setting it to auto-start
sed: can't read /etc/bluetooth/main.conf: No such file or directory
Failed to enable unit: Unit file bluetooth.service does not exist.
-------------------------------------------------
-- Done --
-------------------------------------------------
./0-setup.sh: line 98: EOF: command not found
Die Erste Aufgabe, nähmlich, das Erstellen der .xinitrc funktioniert (trotz EOF Fehlermeldung) einwandfrei (mit "cat" nachgeprüft). Sämtliche Befehle danach schlagen fehl. Bei der Aktivierung von lightdm bekomme ich zum Beispiel "Unit file lightdm.service does not exist", was bedeutet, dass dieser Befehl nicht im gerade installiertem System sondern auf dem ISO-System ausgeführt wurde.
Soweit ich das erkennen kann, habe ich allerdings jedes EOF geöffnet, mit inputs gefüllt und anschließend wieder *anständig geschlossen*.
Kann es sein, dass ich das EOF Prinzip irgendwie grundlegend missverstanden habe, oder ist mir da doch nur ein Syntax Fehler unterlaufen (z.B. "line 98: EOF: command not found")?
LG Marcel