Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

184
Views
Ejecución de Shell Script después del arranque en Raspberry PI

Estoy creando un tablero de visualización de quiosco web con una raspberry pi y quiero enviar algunas pulsaciones de teclas a la ventana del navegador 2 minutos después de que se haya cargado. El script envía los detalles de inicio de sesión para un servidor web.

Tengo un script que envía las pulsaciones de teclas que funciona bien desde la consola de telnet:

 #!/usr/bash username="username" password="password" echo "Setting Display" export DISPLAY=:0 echo "Sending Username" for char in $(sed -E s/'(.)'/'\1 '/g <<<"$username"); do xdotool key $char done xdotool key Tab echo "Sending Password" for char in $(sed -E s/'(.)'/'\1 '/g <<<"$password"); do xdotool key $char done xdotool key Return echo "Waiting 5 Seconds" sleep 5 echo "Setting Remember Password" xdotool key Tab xdotool key Tab xdotool key Return echo "Finished"

Intenté agregar bash /home/pi/logon.sh al archivo rc.local, pero no envía las pulsaciones de teclas al navegador.

¿Alguien sabe por qué sería eso? Como digo, funciona bien desde la ventana de telnet si ejecuto el script, pero no funciona cuando se ejecuta desde el arranque.

Tenía sleep 120 en la línea antes de que se detuviera si disparaba de inmediato y esperé hasta que el navegador se haya cargado, y sé que el script se está ejecutando desde rc.local, porque cuando elimino el comando de suspensión, veo los ecos del script. .

¿Algunas ideas?

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

La razón por la que no funcionaba era porque el script necesitaba ejecutarse como el usuario pi.

Cambié el código en el script rc.local a esto: su - pi -c "bash /home/pi/logon.sh &"

Esto hace que la secuencia de comandos se ejecute como el usuario pi y el ampersand se usa para hacer que la secuencia de comandos se ejecute por separado de la secuencia de comandos rc.local al bifurcarla. ( http://hacktux.com/bash/ampersand )

over 4 years ago · Santiago Trujillo Report

0

Pon esto en tu crontab

 @reboot /path/to/script

Edítalo usando

 #crontab -e
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!