Нет пакетной обработки, когда :busybox находит. -исполнитель

Я решил попробовать это с After=gdm.service, и это, кажется, работает. Вероятно, при загрузке с помощью gdm запускаются/изменяются некоторые вещи, которые я не смог понять. Поэтому я пошел с заявлением After-.

Чтобы это работало правильно, мне пришлось добавить еще один chvtв конец скрипта, чтобы вернуться к tty1 для менеджера входа.

Может быть полезно добавить немного сна ExecStartPre. Тестирование этого с виртуальной машиной параллельно, это слишком быстро, и в противном случае он сразу же вернется к диспетчеру входа в систему. Я думаю, это зависит от используемой машины.

Сервис

# Using gdm/lightdm/lxdm, the dialog script needs to be started After=gdm.service, else you receive a blank screen
# With sddm/xdm you can start the dialog script i.e. Before=sddm.service

[Unit]
Description=FirstBoot
Wants=network-online.target cups.service
After=getty@tty2.service plymouth-quit.service network.target network-online.target cups.service gdm.service

[Service]
Type=oneshot
ExecStart=/bin/bash /home/admin00/firstboot.sh
ExecStop=/bin/systemctl disable firstboot.service
ExecStopPost=/bin/sh -c 'rm /etc/systemd/system/firstboot.service'
StandardInput=tty
TTYPath=/dev/tty2
TTYReset=yes
TTYVHangup=yes

[Install]
WantedBy=multi-user.target

Сценарий

#!/bin/bash
ABSOLUTE_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/$(basename "${BASH_SOURCE[0]}")"

#Change to tty2 to display the dialog
if ! chvt 2 &>/dev/null; then
    break
fi

(
script stuff
) | dialog --title "IT Afterconfiguration" --infobox "\n           P L E A S E\n             W A I T\n\n  Your system is being configured" 8 40

dialog --no-cancel --no-ok --pause '   Continuing in...' 6 27 5 --
clear

rm -rf $ABSOLUTE_PATH

#Change back to tty1 / login manager
if ! chvt 1 &>/dev/null; then
        break
fi
0
12.09.2021, 02:44
0 ответов

Теги

Похожие вопросы