9

コンピューターの起動中にユーザーからの数値入力を求めるスクリプトがあります。コンピューターはFedora16を実行しています。Fedora13で作業を使用しましたが、アップグレード後

read INTEGER

ユーザー入力をキャッチせずに、すぐに戻ります。私は試した

read INTEGER
wait $!

しかし(予想通り)それもうまくいきません。スクリプトはsystemdサービスファイルから実行されます(以下のコメントを参照)。これはrootとして実行する必要があり、ユーザーがログインする前に開始する必要があります。現在、インタープリターとしてbashを呼び出していますが、多少の努力を払えば変更される可能性があります。誰かがこのスクリプトを通常に戻すのを手伝ってもらえますか?

追加のクレジット:F13では、(必要に応じて)ユーザー入力の起動を停止していましたが、ユーザーが入力したときに入力が表示されませんでした。この機能を追加する方法はありますか?

4

1 に答える 1

1

通常の起動中、キーボードはPlymouthに接続されています(私は信じています)

Fedora では、次のようなものが必要だと思います。

 plymouth ask-question --prompt="Pick a number between 0 and ∞" \
     --command="/usr/bin/numberguesser"

おそらく

     --dont-pause-progress

これにより、Plymouth プロンプト画面が表示されるはずです。これは、暗号ファイルシステムがパスワードを要求する方法と同じです。

/usr/bin/numberguesser標準入力にパイプで入力された文字列のみを取得することに注意してください。

未テスト、申し訳ありません:-(

于 2012-01-24T19:36:48.280 に答える