#/bin/bash # 脏标记:0=不需要重建 UKI,1=需要 MKINITCPIO=0 SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" ETC_DIR="$(cd $SCRIPT_DIR && cd ../etc && pwd)" echo $ETC_DIR setup_vconsole_font() { sudo sed -i 's/^\(FONT=.*\)$/# \1\nFONT=ter-132n/' /etc/vconsole.conf sudo cp /etc/kernel/cmdline /etc/kernel/cmdline.bak sudo sed -i 's/$/ fbcon=font:TER16x32/' /etc/kernel/cmdline sudo cp /boot/loader/loader.conf /boot/loader/loader.conf.bak sudo sed -i -e '/^[[:space:]]*#\?[[:space:]]*console-mode/d' /boot/loader/loader.conf echo 'console-mode 1' | sudo tee -a /boot/loader/loader.conf >/dev/null # 标记需要重建 MKINITCPIO=1 } setup_shadowsocks() { sudo cat > /etc/shadowsocks-rust/s.json < /etc/dae/config.dae < router qname(suffix: lan) -> router fallback: direct_dns } response { fallback: accept } } } routing { # Shadowsocks must reach its remote server directly to avoid a proxy loop. pname(sslocal) -> direct # Keep local, multicast, and other private destinations direct. dip(224.0.0.0/3, 'ff00::/8') -> direct dip(geoip:private) -> direct # Route mainland China IPs directly. Everything else uses the proxy, so # overseas destinations do not need to be maintained in a domain list. dip(geoip:cn) -> direct fallback: proxy } EOF } setup_modem() { sudo systemctl enable --now ModemManager.service } setup_fprint() { # --- system-local-login(KDE 锁屏/系统登录)--- sudo sed -i '/pam_fprintd\.so/d' /etc/pam.d/system-local-login sudo sed -i '/^auth[[:space:]]\+include[[:space:]]\+system-login/i auth sufficient pam_fprintd.so' /etc/pam.d/system-local-login # --- polkit-1 --- [ -f /etc/pam.d/polkit-1 ] || sudo cp /usr/lib/pam.d/polkit-1 /etc/pam.d/polkit-1 sudo sed -i '/pam_fprintd\.so/d' /etc/pam.d/polkit-1 sudo sed -i '/^auth[[:space:]]\+include[[:space:]]\+system-auth/i auth sufficient pam_fprintd.so' /etc/pam.d/polkit-1 # --- kde-fingerprint --- [ -f /etc/pam.d/kde-fingerprint ] || sudo cp /usr/lib/pam.d/kde-fingerprint /etc/pam.d/kde-fingerprint } setup_vconsole_font setup_shadowsocks setup_dae setup_modem setup_fprint # 统一重建一次 if [ "$MKINITCPIO" -eq 1 ]; then echo ">>> mkinitcpio -P" sudo mkinitcpio -P fi