ユーザーに数字1〜4を入力して設定ファイルに保存するように求めるラズベリーパイのDebian用に書かれたCプログラムがあります。これは、構成ファイルが欠落している場合にのみ発生します。起動時にこのプログラムを実行したいと思います。問題は起動時に実行できますが、ターミナルウィンドウを表示して表示できないことです。 /etc/rc.localを編集し、そこにコマンドを追加してみました。 crontabを編集してみました。私は "export display=:0 && command"を使ってすべてのトリックを試しました。どんな提案がありますか?
編集する:
これは /etc/rc.local で実際に実行するコマンドです。
x-terminal-emulator --command=/opt/vc/src/hello_pi/initialConfig/./initialConfig.bin --display=:0
プログラムはscanf()を使用してキーボード入力をキャプチャし、フィードバックを表示します。
答え1
起動処理中はX Window端末を実行できません。ランレベルで実行されるXサーバーはありません。したがって、プログラムで同様の操作を実行し、/etc/rc.local
ユーザー入力を収集してそれを使用して実行可能ファイルを呼び出すことができます。
#!/bin/sh
INPUT_STRING=hello
while [ "$INPUT_STRING" != "bye" ]
do
echo "Please type something in (bye to quit)"
read INPUT_STRING
echo "You typed: $INPUT_STRING"
done
myexec $INPUT_STRING
これは単なる例であり、必要に応じて変更する必要があります。
答え2
私はついにそれを見つけた。ユーザーのホームディレクトリで、/.config/lxsession/LXDE/パスにautostartというファイルを作成し、ログイン後に実行するすべてのコマンドを自動起動ファイルに追加する必要があります。