¿Por qué no funciona mi script de inicio para abrir una terminal?

¿Por qué no funciona mi script de inicio para abrir una terminal?

Sólo para jugar con la creación de scripts, hice uno que (¿creo?) debería abrir una terminal al inicio:

#!/bin/bash
#start terminal at startup
#/usr/bin/gnome-terminal

Lo puse en el directorio /etc/init.d, luego ejecuté esto

update-rc.d myscript defaults

pero no pasa absolutamente nada cuando reinicio mi computadora. ¿Por qué?

Respuesta1

Respuesta corta:

gnome-terminales una aplicación GUI. Por lo tanto sólo se puede ejecutarcomo usuario. En el momento en que intentas ejecutarlo, ningún usuario ha iniciado sesión (todavía). En su lugar, coloque el script (comando para ejecutar el-) en Aplicaciones de inicio.

tu nonecesidadun guiónen absolutoSin embargo, entonces puede agregar el comando directamente a las aplicaciones de inicio.

Esto comenzará gnome-terminaluna vez que inicie sesión.

Aparte de eso, su comando para ejecutar gnome-terminalno es correcto. Debería ser /usr/bin/gnome-terminal(como lo menciona @steeldriver, gracias) o, dado que está en $PATH, simplemente gnome-terminal.

Respuesta2

El error principal en su secuencia de comandos es que en su tercera declaración realmente comentó el comando para abrir la terminal. Por favor elimine el "#" de la tercera declaración. Mientras tanto, simplemente puedes usarterminal-gnomepara activarlo, pero debe ejecutarse como usuario. Eso significa que agregarlo a update-rc tampoco funcionará. Si prefiere usar terminales, puede agregar su script en crontab y agregarlo al archivo crontab del usuario conreiniciarconstreñir. Esto ejecutará su script al inicio. Entonces lo resumo de la siguiente manera:
Su archivo llamado script.sh:

#!/bin/bash
#start terminal at startup
gnome-terminal

Haga que el script sea ejecutable por el usuario utilizando el siguiente comando.

chmod u+x /path/to/script.sh

Ahora abra la terminal y edite el crontab de su usuario de la siguiente manera:

crontab -e -u username

Agregue la siguiente declaración al final del archivo después de realizar los cambios necesarios en consecuencia.

@reboot /path/to/script.sh

Ahora reinicia. Eso es todo.

información relacionada