Назад | Перейти на главную страницу

Как отобразить вывод init на tty7 (или основной tty)

Я создал свой первый сценарий инициализации на сервере Linux (ubuntu, если он добавляет какую-либо информацию), который проверяет наличие обновлений, загружает их и выполняет каждый час. Файл инициализации выглядит следующим образом:

/etc/init/updater.conf

start on (filesystem and stopped udevtrigger)
stop on runlevel [06]

console output

respawn

script

    chvt 6
    chvt 7

    while true; do

        # code to check update ...

        if [ should_update ]; then

            # Download the script

            chmod +x /path/to/script.sh
            bash /path/to/script.sh
            rm /path/to/script.sh
        fi

        echo 'Rechecking for updates in 1h...'
        sleep 1h
    done

end script

Скачанный скрипт запускается следующим образом:

script.sh

#!/bin/bash

clear

exec > >(tee -i /var/log/update.log)
exec 2>&1

ScriptLoc=$(readlink -f "$0")

# check for root privilege
if [ "$(id -u)" != "0" ]; then
   echo " This script must be run as root" 1>&2
   echo
   exit 1
fi

LOG_OUTPUT=/dev/tty4

(some_time_consuming_command 2>&1 > $LOG_OUTPUT) & spinner &!

Ожидаемое поведение состоит в том, что после завершения установки Linux нажатие добавит updater.conf к /etc/init что будет сделано, то после установки Linux перезагрузится и отобразит сообщение «Здравствуйте, я буду ...», затем счетчик, подобный этой настройке [-] при перенаправлении вывода some_time_consuming_command в TTY4

Однако текущее поведение заключается в том, что Linux перезагружается на черном экране (TTY7) и ничего не отображается, когда я переключаюсь на TTY1, я вижу: «Здравствуйте, я начну сообщение об установке». Я не понимал этого поведения.

Может ли кто-нибудь помочь мне добиться ожидаемого поведения?

РЕДАКТИРОВАТЬ: Немного прочитав, я обнаружил, что / dev / tty7 обычно используется по умолчанию из-за связанного / dev / console в нем. Я прав? Может ли кто-нибудь объяснить, почему TTY7 вообще используется по умолчанию? И я ищу отображение вывода инициализации в / dev / console вместо / dev / tty7?