#/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 cp -rf $ETC_DIR/shadowsocks-rust/s.json /etc/shadowsocks-rust/s.json sudo systemctl enable --now shadowsocks-rust@s } setup_dae() { sudo cp -rf $ETC_DIR/dae/config.dae /etc/dae/config.dae sudo systemctl enable --now dae } 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