このコマンドは実際に何を実行しているのでしょうか (ステップバイステップで)?
openvt -c 40 /bin/agetty tty40 linux
代わりにこのコマンドを試しました:
openvt -c 41 /bin/agetty tty40 linux
そして、agetty は tty40 (tty41 ではない) で起動されました。なぜでしょうか? この-c 41
オプションは必要ないようです。削除しても同じ結果になります。
答え1
openvt -c 40 /bin/agetty tty40 linux
を実行しopenvt
、VT 40 を使用するように指示します。そのため、その VT を開いて、agetty
その上で実行します。ただし、tty40
を引数として指定するagetty
と、後者に VT 40 を使用するように指示し (どこで開始されたかに関係なく)、VT 40 自体を開いてそこで実行します。
したがって、
openvt -c 41 /bin/agetty tty40 linux
VT 41 を開きますが、その後agetty
VT 40 自体が開きます。
VT を開くには、1 つのプログラムだけを使用する必要があります。agetty
任意の VT で直接実行することも、起動した場所で実行するように指示することもできます。
agetty tty40 linux
openvt -c 40 agetty - linux
オプションを削除すると-c
、openvt
最初に利用可能な VT が選択されます。