rc.localで実行するとWhiptail/ダイアログボックスの入力エラー

rc.localで実行するとWhiptail/ダイアログボックスの入力エラー

Debian の起動時に、会話呼び出しを含む Bash スクリプトを起動する必要があります。これが私ができることです:

  • デフォルトのルートパスワードの設定を解除
  • 置く- 自動ログインtty1のオプション初期化プログラム1:2345:respawn:/sbin/getty --root tty1 に自動的にログイン)
  • 私のスクリプトのフルパスを作成してください。/etc/rc.local

ただし、ダイアログボックスには異常な動作があります。ボックスが表示されますが、標準入力が標準出力をオーバーフローしているようです。矢印キーを押すとボタンは選択されませんが、デフォルトの選択位置から始まり、対応するASCII文字がダイアログボックスの上部に表示されます。

ダイアログボックスにエラーを表示

次にEnterキーを押すと、キーストロークがダイアログボックスに送信され、期待どおりに適切なオプションが選択されます。スクリプトが正常に実行されたときに動作することを確認するためにテストされました。

シェル初期化に何か抜けたものがあるようです。と入力すると/bin/bashメッセージがrc.local表示され、no job control in this shellプロセスに信号を送信できず、pidも取得できません(pidではなく疑問符が表示されますtop)。

なぜこのような問題が発生しますか?どうやって克服しますか?

ベストアンサー1

rc.localで実行されるすべての対話型スクリプトにはstdinと同様の問題があるようです。解決策が見つかりましたスーパーユーザー:

次にスクリプトを起動します。openvt -s -w /path/to/script.sh

(説明は元の投稿を参照)

おすすめ記事