Azt mondta a Gemini, hogy ő bizony megcsinálja maradéktalanul és hibátlanul amit kérek tőle. Például azt kértem, hogy a zram majd csak akkor engedje működni a swapot, amikor már teljesen elfogyott a memória. Azt kértem mindent kommenteljen. Megcsinálta. Kipróbáltam. Tökéletes lett. Megosztom veletek:
#!/bin/bash
# ==============================================================================
# DEBIAN MINIMAL XFCE TELEPÍTŐ (zRAM prioritás + Okos Swap kezelés)
# ==============================================================================
set -e
echo "=== Tiszta, Minimális XFCE Telepítő Indítása ==="
# 1. ROOT JOG ELLENŐRZÉSE
if [ "$(id -u)" -ne 0 ]; then
echo "Hiba: A scriptet root joggal kell futtatni!"
exit 1
fi
# 2. FELHASZNÁLÓ MEGÁLLAPÍTÁSA
TARGET_USER="${SUDO_USER:-$(logname 2>/dev/null || true)}"
if [ -z "$TARGET_USER" ] || [ "$TARGET_USER" = "root" ]; then
echo -n "Add meg a felhasználóneved az autologinhoz: "
read TARGET_USER
fi
echo "-> Beállítások erre a felhasználóra: $TARGET_USER"
# 3. NON-FREE FIRMWARE TÁROLÓK ENGEDÉLYEZÉSE (Wi-Fi miatt)
echo "-> Non-free-firmware tárolók beállítása..."
if [ -f /etc/apt/sources.list ]; then
sed -i 's/main$/main contrib non-free non-free-firmware/g' /etc/apt/sources.list
sed -i 's/main non-free-firmware$/main contrib non-free non-free-firmware/g' /etc/apt/sources.list
fi
apt update && apt upgrade -y
# 4. CSOMAGOK TELEPÍTÉSE
echo "-> Rendszer és kért programok telepítése..."
apt install -y \
xorg \
lightdm \
lightdm-gtk-greeter \
desktop-base \
xfce4-session \
xfce4-panel \
xfwm4 \
xfce4-settings \
xfdesktop4 \
xfce4-terminal \
thunar \
synaptic \
xfce4-power-manager \
network-manager-gnome \
firmware-linux \
firmware-linux-nonfree \
xfce4-pulseaudio-plugin \
pulseaudio \
pavucontrol \
alsa-utils \
cups \
system-config-printer \
printer-driver-gutenprint \
printer-driver-all-enforce \
zram-tools
# 5. CSOPORTOS ÁTNEVEZŐ, APPFINDER ÉS FORTUNE ELTÁVOLÍTÁSA
echo "-> Felesleges programok és menüpontok kigyomlálása..."
apt purge -y fortune* fortunes* bsdgames xfce4-appfinder 2>/dev/null || true
# Thunar Bulk Rename és Appfinder menüfájlok eltüntetése
rm -f /usr/share/applications/thunar-bulk-rename.desktop
rm -f /usr/share/applications/xfce4-appfinder.desktop
update-desktop-database 2>/dev/null || true
# 6. AUTOMATIKUS BEJELENTKEZÉS
echo "-> Autologin beállítása..."
mkdir -p /etc/lightdm/lightdm.conf.d
cat > /etc/lightdm/lightdm.conf.d/50-autologin.conf << EOF
[Seat:*]
autologin-user=$TARGET_USER
autologin-user-timeout=0
user-session=xfce
EOF
# 7. zRAM ÉS SWAP PRIORITÁS BEÁLLÍTÁSA
echo "-> zRAM beállítása (100% zstd, max prioritás)..."
cat > /etc/default/zramswap << EOF
ALGO=zstd
PERCENT=100
PRIORITY=100
EOF
# Ha létezik hagyományos swap az /etc/fstab-ban, átállítjuk a prioritását alacsonyra (pl. 10-re),
# hogy amíg a zRAM él és mozog, a lemezre se nézzen rá a rendszer.
if grep -q "swap" /etc/fstab; then
echo "-> Meglévő merevlemez/SSD swap prioritásának csökkentése..."
sed -i '/swap/s/defaults/defaults,pri=10/g' /etc/fstab
fi
# Kernel swappiness beállítása (hogy bátran használja a zRAM-ot)
echo "-> Kernel memória-kezelés optimalizálása..."
cat > /etc/sysctl.d/99-zram-swappiness.conf << EOF
vm.swappiness = 60
vm.watermark_boost_factor = 0
vm.watermark_scale_factor = 10
EOF
# 8. SZOLGÁLTATÁSOK ÉS JOGOK
echo "-> Szolgáltatások engedélyezése..."
systemctl enable NetworkManager
systemctl enable cups
systemctl enable lightdm
systemctl enable zramswap
systemctl set-default graphical.target
# Hozzáférés a hanghoz, hálózathoz és nyomtatáshoz
usermod -aG lpadmin,audio,netdev "$TARGET_USER" 2>/dev/null || true
# 9. TISZTÍTÁS
apt autoremove -y
apt clean
echo "=================================================================="
echo " TELEPÍTÉS KÉSZ! A rendszer 5 másodperc múlva újraindul."
echo "=================================================================="
sleep 5
reboot