Como exibir a saída do init para tty7 (ou main tty)

1

Eu criei meu primeiro script init em um servidor linux (o ubuntu se adiciona alguma informação) que verifica uma atualização, baixa e executa em cada hora. O arquivo init é o seguinte:

/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

O script baixado começa da seguinte maneira:

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 &!

O comportamento esperado é que após a instalação do linux terminar, o pressionado irá adicionar o updater.conf to /etc/init que é feito, então o linux reinicia após a instalação e mostra o "Hello I will ..." mensagem, em seguida, um spinner como este ajuste [-] ao redirecionar a saída do some_time_consuming_command para TTY4

No entanto, o comportamento atual é que o Linux reinicia em uma tela preta (TTY7) sem nada, quando eu mudo para TTY1, vejo o: "Olá eu vou começar a mensagem de instalação". Eu não entendi esse comportamento.

Alguém pode me guiar para alcançar o comportamento esperado?

EDIT: Depois de ler um pouco, descobri que / dev / tty7 é, em geral, o padrão por causa do / dev / console vinculado a ele. Estou certo? Alguém poderia explicar por que o TTY7 é o padrão em geral? E eu estou procurando por exibir a saída do init para / dev / console em vez de / dev / tty7?

    
por Blue Genie 24.02.2016 / 06:17

0 respostas