Ir al contenido principal

Ejecutar un programa al inicio del sistema GNU / Linux



En ocasiones requerimos iniciar algunos servicios, programas o servidores desde el momento en que el sistema arranca, si trabajamos con alguna interfaz tipo Gnome, KDE, etc. suele haber un menú que nos permite realizar esto sin problemas, sin embargo, en algunas ocasiones es necesario especificarle al sistema que ejecute un programa desde la consola, para ello, debemos realizar los siguientes pasos:

1. Crear un script que ejecute el programa.

Primeramente debemos crear un script desde el cual se mande a llamar el o los programas que necesitamos ejecutar, para ello desde la consola hacemos algo parecido a lo siguiente:
# nano /etc/init.d/miScript.sh

Con la instrucción anterior se manda a llamar el editor de textos nano y crea un archivo llamado miScript.sh en la ruta /etc/init.d/ (que es donde el sistema tiene todos los scripts con los programas) en caso de que no exista, si existe simplemente lo abre en modo de edición, para fines de este ejemplo asumamos que dicho archivo no existe.

Una vez hecho lo anterior, la consola se establece en modo de edición de texto, desde ahí escribimos algo parecido a lo siguiente:

# !/bin/sh cd /srv/intranet/zopeHome/bin ./runzope exit

En el ejemplo anterior primeramente me traslado hacia la ruta donde se encuentra el programa que quiero ejecutar (cd ...) y posteriormente lo ejecuto (./runzope). Debes reemplazar estas líneas con aquellas que tú necesites. Para guardar el archivo presionamos Ctrl + O y posteriormente Ctrl + X para salir.

2. Dar permisos de ejecución al script.

Ya que creamos el script ahora debemos de darle permisos para que pueda ejecutarse, esto debemos de hacerlo de la siguiente manera:

# chmod 755 /etc/init.d/miScript.sh

Los permisos 755 indican que el usuario root puede leer, escribir y ejecutar el archivo, los demás usuarios solamente pueden leer y ejecutar.

3. Crear enlace simbólico hacia el nivel de ejecución.

Ya que tenemos el script y tiene permisos de ejecución solamente falta crear un enlace simbólico hacia su nivel de ejecución correspondiente (en este caso es el 2), lo anterior lo realizamos de la siguiente manera:

# ln -s /etc/init.d/miScript.sh /etc/rc2.d/S88zope

En este caso ln -s nos sirve para crear un enlace simbólico, posteriormente es la ruta de origen del archivo y después el destino. En esta última parte es muy importante la sintáxis, la primera letra 'S' significa que el script se debe de ejecutar, el número '88' significa el orden de ejecución que puede ir desde 0 hasta 99 y al final una palabra de referencia para saber a qué proceso o programa apunta este enlace.

Una vez hecho esto tendremos nuestro programita ejecutándose cada vez que el sistema arranca.

¿Alguna duda o algo qué decir? Deja tu comentario. Saludox.

Comentarios

  1. Muchas gracias por el scrip, hace poco que soy usuario de (k)Ubuntu y prefiero aprender a hacer este tipo de cosas a través de la consola.

    Un saludo.

    ResponderBorrar
  2. como pudiera ejecutar una aplicación en linux sin hacer login.
    algo como un POS, punto de venta,
    que la pc solo ejecute este programa y si sierro el programa que tambien se apague la pc

    ResponderBorrar
  3. Hola yo necesito ejecutar un programa con WINE al inicio de Gnome y que la sesion no me pida logueo y q solo se pueda usar ese programa como un tipo de Terminal de Consulta para el pùblico. como podria hacerlo?

    ResponderBorrar
  4. Hola lo que necesito es un poco diferente a ver si me pueden ayudar. Tengo que correr un script justo despues de que se inicie un servicio sin necesidad de reiniciar la maquina solo reiniciando ese sevicio.
    Mi caso es que tengo que llenar una tabla despues de que se inicie el mysql

    ResponderBorrar
  5. para hacer lo de que se inicie el programa y al cerrarlo se apague el ordenador, tienes que crear un script bastante facil, bueno creas el archivo del script y escribes lo siguiente:
    ./elprogramaaejecutar
    shutdown -h now
    y listo con esto cuando cierres el programa se apagara el ordenador, y para que inicie sin loguear, tienes que irte segun la distribucion, a la aplicacion cuentas de usuario y ahi activar la casilla de inicio automatico

    ResponderBorrar
  6. Hola, instale mi primer linux y elegi Fedora

    Amigo, segui todo al pie de la letra, no me funciono, lo hago con una aplicación que se llama Unified Remote Control y no la ejecuta.
    Otra cosa, si quisiera que iniciara la aplicación antes del inicio de sesión de usuario... ¿que debería hacer?

    Agradezco tu pronta respuesta

    Carlos E. Garcia

    ResponderBorrar

Publicar un comentario

Este es un espacio abierto, puedes escribir lo que gustes respetando los siguientes puntos:

1.- Lo que escribas esté relacionado con el post, si gustas contactarme puedes hacerlo aqui.

2.- Todo es cuestionable, aunque ten en cuenta que existen formas de hacerlo, evita las agresiones y revisa tu lenguaje antes de publicar un comentario.

3.- Siempre hay tres verdades: tu verdad, mi verdad y la verdad, por lo que opiniones diferentes no necesariamente son equivocadas.

4.- Los comentarios son una forma de discusión abierta, por lo que al publicar uno, implícitamente entras a una discusión, con todo lo que esto representa.

5. Me reservo el derecho de eliminar comentarios que no respeten las condiciones mencionadas anteriormente.

Toma en cuenta que puedes utilizar emoticones en tu comentario, para ver una lista de los disponibles da clic en este enlace.

Entradas más populares de este blog

3 sencillos pasos para tramitar la ayuda por desempleo de la AFORE

¿Tienes dinero ahorrado en tu AFORE y en este momento no estás trabajando o estás trabajando pero no tienes seguro social? Si respondiste sí a la pregunta anterior entonces hay una buena noticia para ti: puedes retirar una parte del dinero que tienes ahorrado. Y lo mejor, es muy sencillo. En este artículo te diré paso a paso qué hacer para obtener ese dinero, sin tecnicismos legales ni nada por el estilo, simple y sencillamente lo que necesitas saber. Paso Número 1: Obtener los últimos 2 estados de cuenta de tu Afore Esto en la mayoría de los casos es sumamente sencillo ya que dichos estados de cuenta llegan directamente al domicilio del ahorrador, si este es tu caso puedes saltar lo restante en este punto y continuar con el paso número 2, en caso contrario sigue leyendo… Si no tienes tus estados de cuenta debes ponerte en contacto con la empresa encargada de administrar tu ahorro para que te los proporcione, normalmente te van a pedir una identificación oficial, comprobante de

Conectar una base de datos en MySQL con NetBeans

NetBeans es una plataforma para el desarrollo de aplicaciones de escritorio usando Java y a un Entorno integrado de desarrollo (IDE) desarrollado usando la Plataforma NetBeans. Si eres un programador y desarrollas tus aplicaciones en Java seguramente necesitarás conectar una base de datos tipo MySQL a este entorno algún día, bueno, si lo necesitas ahora, he aquí una explicación paso a paso de cómo conectar ambas herramientas.

4 extraordinarias aplicaciones espía para Android

Le andas haciendo al James Bond y necesitas grabar video, voz o tomar fotos desde tu dispositivo Android sin ser notado? Aquí 4 excelentes aplicaciones que facilitarán tus hazañas de 007 en menos de lo que canta un gallo.

c606 c6nf5g4r6 e3 tec3ad6 [Como configurar el teclado]

¿Problemas al escribir con el teclado? ¿Tratas de escribir la letra ‘o’ y sale el número ‘6’ o algo por el estilo? La solución puede ser más simple de lo que parece. La solución a tu problema tras el salto...

Conexión, consulta y ejecución de sentencias en MySQL con Java

Anteriormente escribí este mismo artículo pero para bases de datos en Oracle . En este artículo prácticamente me copio y pego para explicar paso a paso cómo realizar la conexión a MySQL en Java, así como la forma de realizar consultas a los registros existentes y ejecutar sentencias de inserción, borrado y actualización de datos. Al final del artículo tendremos una clase que encapsulará todos los procedimientos necesarios para trabajar con la base de datos.