SystemD service remover and adder are scripts, whose help to remove ”unnecessary” services on boot. The same thing can do by hand like. The next command lists boot processes with their boot time
systemd-analyze blame
If wanting to remove some process, it can do using the next command
sudo systemctl disable service-name-here
An example:
sudo systemctl disable NetworkManager-wait-online.service
If wanting to add some process, it can do using the next command
sudo systemctl eneble service-name-here
An example:
sudo systemctl enable NetworkManager-wait-online.service
##############################
SERVICE-REMOVER
service-remover script makes a $HOME/.config/service-editor
directory and services.orig.txt file there, when running service-remover at the first time.
service-adder uses $HOME/.config/service-editor/services.orig.txt file for adding the service.
Here is also an original backup from 5.2.2025 installed Linux Mint mate 22.1 (backup-from-mint22.1.services.orig.txt)
#!/bin/bash
#
# RJP 6.2.2025 systemd process remover
# Packages YAD and SYSDEMD must be installed
#
# backup from services
mkdir -p $HOME/.config/service-editor
time=$(date "+%F-%H-%M-%S")
systemd-analyze blame >> $HOME/.config/service-editor/services.orig.txt
echo " ################################################# " >> $HOME/.config/service-editor/services.orig.txt
echo " ######## backup $time ######## " >> $HOME/.config/service-editor/services.orig.txt
echo " ################################################# " >> $HOME/.config/service-editor/services.orig.txt
systemd-analyze blame > /tmp/services0.txt
sed 's/^[[:space:]]*//g' /tmp/services0.txt > /tmp/services.txt
##
##service --status-all > all-services.txt
choose=$(cat /tmp/services.txt | \
yad --list --text="Choose service to remove" --title="Choose service to remove" --height=500 --width=600 --center \
--column="")
--button=Exit:1
cat "$choose" 2> /tmp/service-selected.txt
cat /tmp/service-selected.txt | awk '{print $3}' > /tmp/remove-service
sed 's/.$//' /tmp/remove-service > /tmp/remove-service2
sed 's/.$//' /tmp/remove-service2 > /tmp/remove-service3
sed 's/.$//' /tmp/remove-service3 > /tmp/remove-service4.txt
sleep 0,2
#
# remove selected service
#
RMSERVICE=$(cat /tmp/remove-service4.txt)
yad --width=400 --text-align=center --text="Remove selected service?" --title="Service remover"
if [ $? = 0 ];
then
x-terminal-emulator -e /bin/bash -c "sudo systemctl disable $RMSERVICE && yad --center --borders=5 --width=400 --text-align=center --button=OK:1 --title='Service removed' --buttons-layout=center && \
rm /tmp/remove-service /tmp/remove-service2 /tmp/remove-service3 /tmp/remove-service4 /tmp/remove-service4 /tmp/service-selected.txt "
else
exit 2
sleep 1
rm /tmp/remove-service /tmp/remove-service2 /tmp/remove-service3 /tmp/remove-service4 /tmp/remove-service4 /tmp/service-selected.txt
fi
################################
SERVICE-ADDER
service-adder
#!/bin/bash
#
# RJP 6.2.2025
# systemd process adder
# Packages YAD and SYSDEMD must be installed
#
## add servive from backup
#
sed 's/^[[:space:]]*//g' $HOME/.config/service-editor/services.orig.txt > /tmp/service-a-selected.txt
choose=$(cat /tmp/service-a-selected.txt | \
yad --list --text="Choose service to add" --title="Choose service to add" --height=500 --width=600 --center \
--column="")
--button=Exit:1
cat "$choose" 2> /tmp/service-a-selected0.txt
sed 's/^[[:space:]]*//g' /tmp/service-a-selected0.txt > /tmp/service-a-selected.txt
cat /tmp/service-a-selected.txt | awk '{print $3}' > /tmp/add-service
sed 's/.$//' /tmp/add-service > /tmp/add-service2
sed 's/.$//' /tmp/add-service2 > /tmp/add-service3
sed 's/.$//' /tmp/add-service3 > /tmp/add-service4.txt
sleep 0,2
#
# add selected service
#
ADDSERVICE=$(cat /tmp/add-service4.txt)
yad --width=400 --text-align=center --text="Enable selected service?" --title="Service adder"
if [ $? = 0 ];
then
x-terminal-emulator -e /bin/bash -c "sudo systemctl enable $ADDSERVICE && yad --center --borders=5 --width=400 --text-align=center --button=OK:1 --title='Service enabled' --buttons-layout=center && \
rm /tmp/add-service /tmp/add-service2 /tmp/add-service3 /tmp/add-service4 /tmp/add-service4.txt /tmp/service-a-selected.txt"
else
exit 0
##
sleep 1
rm /tmp/add-service /tmp/add-service2 /tmp/add-service3 /tmp/add-service4 /tmp/add-service4.txt /tmp/service-a-selected.txt
fi
BACKUP DIRECTORY and FILE