SystemD process editor

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)

SystemD service editor.zip

#!/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