Ajuste de carga automática en Ubuntu Server. ¿Cómo agregar un programa al inicio en Linux? Programas de inicio de Ubuntu

Hay 2 niveles principales de ejecución automática en Ubuntu: en el sistema systemd init y en el entorno de producción. Para el software personalizado, la carga automática en Ubuntu se puede configurar en una utilidad gráfica conveniente. Puede agregar un programa o su propio script para la ejecución automática.

Inicio en Ubuntu

El Ubuntu 18.04 actual usa GnomeShell como su entorno de escritorio predeterminado. Para configurar la ejecución automática en esta versión del sistema operativo, necesita:

¡Consejo! Para no confundirse con la corrección del comando, debe instalar la utilidad Menú principal de UbuntuSoftwareCenter.

En él, seleccione el elemento de interés y abra sus propiedades. El comando correcto se copia de la línea del mismo nombre.

El lanzamiento de aplicaciones en Ubuntu que están presentes en la lista y marcadas con una marca de verificación ocurrirá cada vez que se inicie el sistema operativo. Todas estas son aplicaciones de este usuario, programas del sistema y servicios, la utilidad no se muestra. En versiones anteriores del sistema operativo con el shell gráfico de Unity, la utilidad de configuración de inicio también se busca buscando en el menú Dash o se abre usando el comando en la terminal:

gnome-sesión-propiedades.

Cómo agregar un script al inicio de Ubuntu

Además del software específico, es fácil agregar un script autoescrito al inicio de Linux para optimizar el trabajo de su computadora. Para esto necesitas:

  1. Haga que el script sea ejecutable con el comando:

    sudochmodugo+x /home/usuario/script.sh

    (donde usuario es el nombre de usuario y secuencia de comandos es el nombre de la secuencia de comandos, pero la ruta a su archivo .sh puede ser diferente: debe escribirse en su totalidad; de lo contrario, la secuencia de comandos no se ejecutará).

  2. Abra "Aplicaciones de inicio" y haga clic en "Agregar".
  3. Ingrese el nombre del script y, como comando, el nombre completo con la ruta al archivo, por ejemplo, /home/user/script.sh .
  4. Haga clic en "Agregar".

Hay otra forma clásica pero obsoleta de configurar una ejecución automática de secuencias de comandos en Ubuntu. Para su implementación necesitas:


Este método también es adecuado para la carga automática en UbuntuServer, donde no hay gráficos.

Aplazamiento de programas de inicio automático en Ubuntu

Si hay muchos programas en el inicio de Ubuntu, deben cargarse en un orden determinado o ejecutarse algún tiempo después de que se inicie el sistema; la función de retraso ayudará. Para activarlo se utiliza la utilidad sleep unix. Puede usar las capacidades de esta herramienta en el programa ya familiar "Aplicaciones de inicio". Para esto necesitas:

  1. Abra la ventana de configuración para las aplicaciones de inicio.
  2. Resalte con el cursor el programa cuya ejecución automática debe retrasarse y use el botón "Cambiar".
  3. En la línea "Comando", antes de la entrada existente, ingrese:

donde el número después de la palabra "dormir" es igual a la cantidad de segundos que la aplicación está inactiva inmediatamente después de que se inicia el sistema, antes de iniciar. Debe haber un espacio entre esta fórmula, al final de la cual se requiere un punto y coma, y ​​el comando para iniciar la aplicación.

En el ejemplo anterior de inicio retrasado del programa en Ubuntu, la aplicación permanece en estado de suspensión durante 2 minutos antes de abrirse. Por ejemplo, comenzar media hora después de que se inicie el sistema operativo se verá como el "nombre del programa" de suspensión 3h. Ejemplo donde la transmisión comienza después de 1 hora:

dormir 1h; transmisión-gtk %U

Del mismo modo, puede agregar la ejecución retrasada de un script de usuario o el lanzamiento de un archivo multimedia para cargar automáticamente en Linux.

Eliminación de Ubuntu Autostart

Para eliminar el software del inicio de Ubuntu, puede usar uno de los 2 métodos: a través de "Aplicaciones iniciadas automáticamente" o manualmente. En el primer caso, simplemente ejecute la utilidad, seleccione el programa deseado y haga clic en "Eliminar". Simplemente desmarcando la casilla se desactiva el programa y no se iniciará al iniciar el sistema.

La forma manual implica usar la carpeta de inicio automático en Ubuntu. Se encuentra en /home/username/.config/autostart/ (para ver esta carpeta oculta, abra el directorio de inicio en administrador de archivos y presione Ctrl+H al mismo tiempo). Contiene archivos con la extensión .desktop para cada programa de ejecución automática, que se generan automáticamente cuando se agregan a través de una utilidad gráfica. Basta con borrar el archivo para que el programa ya no se abra al encender el ordenador.

Conclusión

El inicio en Ubuntu tiene muchas formas de afinar. Sus posibilidades son difíciles de captar. El uso adecuado de esta herramienta hace que el sistema operativo Linux sea más práctico en las tareas cotidianas.

Usamos muchos programas todo el tiempo y los ejecutamos cada vez que se inicia el sistema, y ​​algunos, como la mensajería instantánea o varias utilidades, deben ejecutarse constantemente en segundo plano para realizar su tarea correctamente. Para ello, los sistemas operativos cuentan con carga automática. Los programas se ejecutan automáticamente después de que se haya iniciado el sistema operativo o el shell gráfico.

En este artículo, hablaremos sobre cómo funciona la carga automática en Ubuntu, qué métodos de carga automática existen en este sistema y cómo agregar programas allí.

AUTOCARGA EN UBUNTU

Lo primero que hay que decir es que Ubuntu tiene varios niveles de inicio. No hablaré de systemd y aquí, ya que ya cubrí esto en uno de los primeros artículos. Se puede agregar un programa o script al inicio de las siguientes maneras:

  • Utilidad "Aplicaciones iniciadas automáticamente";
  • Carpeta "Inicio automático";
  • archivo rc.local;
  • archivo xinitrc;

Veremos los dos primeros métodos, ya que los dos últimos están más diseñados para scripts, no para programas. Primero, carga automáticamente en Ubuntu usando la utilidad estándar.

Abra el menú del sistema y escriba "Auto" y abre el programa que será el primero de la lista, Aplicaciones de Inicio:

Esto mostrará una lista de todas las aplicaciones que actualmente se están iniciando automáticamente. Para agregar otra aplicación al inicio de ubuntu, haga clic en el botón "Agregar":

Aquí debe ingresar el nombre del nuevo elemento, así como el comando para iniciar la aplicación. Puede seleccionar una aplicación en sistema de archivos si no recuerda la ruta haciendo clic en el botón "Revisar":

Puede especificar parámetros en el comando, si es necesario. También puede completar el campo "Descripción", pero esto ya no es necesario. Si necesita un determinado programa del menú principal, pero no sabe dónde encontrarlo y cómo escribir su comando, puede buscarlo en el mismo menú. Pero para esto necesitamos instalar la utilidad primero. "Menú principal" desde el centro de aplicaciones:

Aquí debes prestar atención a la línea. "Dominio", cópielo y podrá usarlo para la carga automática.

La siguiente forma es la carpeta de inicio. Se encuentra en ~/.config/autostart. De hecho, esta es la misma forma, solo que se puede realizar sin una interfaz gráfica. Cuando configura la carga automática a través de una aplicación, los archivos de configuración se denominan escritorio. Por ejemplo:

Le recuerdo que para ver los archivos ocultos debe presionar la combinación de teclas Ctrl + H. Ahora intentemos crear un nuevo archivo de configuración para un programa más. Aquí está su sintaxis:


Tipo = Aplicación
nombre= nuevo_elemento_nombre
ejecutivo = comando
icono= ruta_completa_al_icono
comentario = comentario
X-GNOME-Inicio automático habilitado= verdadero

Por ejemplo, hagamos un archivo para iniciar el reproductor VLC, se verá así:

vi ~/.config/autostart/vlc.desktop


Tipo=Aplicación
Nombre=VLC
Exec=vlc
Icon=/usr/share/icons/hicolor/16x16/apps/vlc.png
Comentario=VLC Media Player
X-GNOME-Inicio automático habilitado = verdadero

Listo, y lo más interesante es que si abres la aplicación de inicio. Entonces este elemento también aparecerá allí. Esta es una forma de configurar sin una interfaz gráfica.

RECOMENDACIONES

En este breve artículo, analizamos cómo se configura la carga automática de los programas de ubuntu. diferentes caminos- a través de la interfaz gráfica y del terminal. Puede utilizar este conocimiento para mejorar su experiencia con el sistema. Aunque Ubuntu cambió a Gnome, la carga automática en ubuntu 16.04 todavía se ve más o menos igual. Si tienes alguna duda, pregunta en los comentarios!

Artículos Relacionados:


Creamos un archivo vacío.

En la primera línea escribimos:

#!/bin/sh

Esta línea especifica qué shell de comandos usar. Los siguientes son sus comandos.

Guardémoslo con el nombre original (para que no coincida con los existentes) en el directorio /usr/sbin/.

Para que el script se ejecute en el arranque, debe escribirlo en el archivo /etc/rc.local antes de la línea de salida 0. Si no tiene archivo dado, créelo y pegue el siguiente contenido en él:

#!/bin/sh -e #Inserte una línea con su script aquí. /usr/sbin/mescripts salida 0

Una forma un poco más complicada

Le permite establecer la secuencia de carga y el comportamiento del script en diferentes niveles de ejecución.

Estudiamos /etc/init.d/skeleton, sobre esta base creamos un script /etc/init.d/my_script, que iniciará/detendrá nuestra aplicación.

Estos directorios contienen scripts para detener servicios:

/etc/rc0.d/ /etc/rc1.d/ /etc/rc6.d/

en estos - scripts para iniciar servicios:

/etc/rc2.d/ /etc/rc3.d/ /etc/rc4.d/ /etc/rc5.d/

Los estudiamos por secuencia (cuanto más pequeño es el primer dígito al comienzo del script, antes se inicia/detiene la aplicación). Esto puede ser crítico si su aplicación depende de algunos servicios.

Después de haber decidido el script de lanzamiento y el orden, hacemos lo siguiente:

Sudo update-rc.d my_script start 70 2 3 4 5 . parada 20 0 1 6 .

Aquí he definido que mi script debe comenzar más tarde que los demás (70) y detenerse antes (20). Los números 2 3 4 5 0 1 6 indican los niveles de carga.

Si no te gusta algo, puedes borrarlo todo.

sudo update-rc.d -f my_script eliminar

Ver man update-rc.d para más detalles.

Activar/desactivar la ejecución de un script en la red

Hay un directorio /etc/network/ con subdirectorios if-down.d , if-pre-up.d , if-post-down.d , if-up.d . Si coloca el script en uno de estos subdirectorios, se ejecutará, respectivamente, al apagar, antes de encender, después de apagar o cuando se enciende la red.

Otra forma es especificar una de las siguientes directivas en el archivo /etc/network/interfaces: up, pre-up, post-up, down, pre-down, post-down. Por ejemplo, la línea

Post-up /ruta/a/script.sh

después de encender la red ejecutará el script script.sh. Puedes leer más en interfaces man.

En cualquier caso, el script debe tener permisos configurados para permitir la ejecución, de lo contrario no podrá ejecutarse.

Y lo más importante, completamente gratis. Sistema operativo, construido sobre el kernel de Linux. Por lo tanto, cada vez más propietarios de computadoras se están convirtiendo en sus usuarios. Si se encuentra entre ellos, entonces debería, no, no aprender, no hay nada que aprender allí, solo comprender y dominar los conceptos básicos de administración. Por ejemplo, cómo configurar el inicio automático de aplicaciones y servicios en Ubuntu.

La carga automática en Ubuntu es el mismo proceso que en otros sistemas operativos. Debe recordar e imaginar cómo en Windows, cuando enciende su PC, Skype, uTorrent y una serie de otros programas se inician de inmediato. Ubuntu tiene varios programas que se incluyen con la computadora de la misma manera. Su lista se puede cambiar a su gusto: elimine los innecesarios o agregue algunos más.

Agregar procesos

Agregar un nuevo servicio, utilidad o comando al inicio de Ubuntu no es nada difícil. Esto se hace usando el menú.


Puede agregar de esta manera no solo utilidades, sino simplemente servicios. Solo en la línea superior debe seleccionar el tipo apropiado, si corresponde, y también ingresar el comando deseado. Lo principal es saberlo.

Aplazamiento

Ubuntu también tiene una gran oportunidad para retrasar el encendido, al igual que en los hornos o multicocinas modernos. Se realiza introduciendo una pequeña adición al texto del comando. Que se ve así: "dormir 20;" (sin comillas). En lugar de 20, puede ingresar cualquier número que signifique la cantidad de segundos que el proceso "duerme" antes de comenzar. Por lo tanto, puede darle tiempo al sistema para que se inicie por completo, después de lo cual ciertos servicios o programas ya comenzarán a activarse.

Eliminación

Si ya ha intentado agregar programas al inicio automático, entonces comprende que será muy fácil eliminarlos desde allí.

  1. Nuevamente, vaya a la utilidad de administración de carga automática.
  2. Encontramos aquellos procesos que no necesitamos.
  3. Selecciónelos, haga clic en "Eliminar".

Ahora los procesos innecesarios se eliminarán de la ejecución automática de Ubuntu. Es mejor tener allí solo lo esencial.

Debe entenderse que si agrega muchas aplicaciones al inicio de Ubuntu, el sistema operativo se iniciará mucho más lento. Por lo tanto, es mejor no exagerar y ajustar adecuadamente la configuración de inicio automático. La función es realmente muy conveniente y, junto con el inicio diferido, brinda buena herramienta para el control automático de las acciones del sistema.

Después de iniciar la computadora, como regla, tenemos que ejecutar algunos programas. que usamos con más frecuencia. Además, después de iniciar el sistema, es posible que necesitemos realizar algunas acciones específicas, por ejemplo, crear los archivos necesarios o establecer algunos parámetros. Es muy inconveniente hacerlo manualmente. Para resolver tales problemas, hay una carga automática.

En este artículo, veremos cómo funciona la carga automática de Linux, cómo agregar programas de inicio, dónde sería más correcto agregarlos y qué tipos de carga automática hay en este sistema operativo.

Para comprender cómo funciona la carga automática, primero debe recordar lo que sucede durante . Una vez que el kernel haya completado su inicialización y esté listo para seguir trabajando, transferirá el control al sistema de inicialización. El sistema de inicialización es el proceso principal, es él quien inicia todos los demás procesos en el sistema.

Hay procesos que un sistema init como systemd inicia de forma predeterminada, pero también puede configurarlo para iniciar los procesos que desee. Además, muchos procesos secundarios ejecutan archivos de script o tienen alguna capacidad para ejecutar los programas que necesita. La mayoría de los entornos de escritorio también tienen esta característica.

Considere los principales niveles de carga automática que puede usar:

- puede especificar cualquier programa que se ejecutará después de que se inicie el kernel en lugar del sistema de inicialización;- iniciar los principales servicios del sistema, servicios adicionales, así como sus scripts en la etapa de inicialización del sistema;- método obsoleto de carga de scripts, realizado antes de iniciar el entorno gráfico;- puede ejecutar sus scripts o comandos después de iniciar el administrador de inicio de sesión, pero antes de iniciar el entorno;- lanzamiento programas deseados o scripts inmediatamente después del inicio del servidor X;- la mayoría de los entornos admiten programas de carga automática, incluso puede configurar el inicio retrasado y otros parámetros allí;- la última opción es la carga automática a nivel de un shell de comando separado, puede ejecutar los comandos necesarios automáticamente tan pronto como se inicie la terminal.

Es poco probable que la carga automática a nivel del kernel le sea muy útil para el uso diario, pero decidí mencionarlo porque es posible. Con el parámetro init kernel, puede especificar qué programa debe ejecutarse inmediatamente después de que el kernel haya terminado de inicializarse. Por ejemplo, puede cargar el shell Bash en lugar de Systemd. Para hacer esto, simplemente modifique la línea de inicio del kernel en el archivo de configuración de Grub o durante el inicio. Agregue el parámetro init al final:

sudo vi /boot/grub2/grub.cfg

linux /vmlinuz-4.8.0-22-generic root=/dev/mapper/systems-ubuntu ro silencioso init=/bin/bash

Pero suele ser más conveniente cambiar este valor temporalmente, en el menú de Grub. Lea más sobre esto en el artículo. Esto no carga automáticamente un programa de Linux, pero a veces puede ser útil.

La mayoría de las veces, cuando dice carga automática de Linux, significa servicios de carga automática utilizando el sistema de inicialización. systemd es un sistema muy avanzado. Admite la resolución de dependencias, el lanzamiento paralelo, el lanzamiento diferido y el reinicio en caso de error. En la terminología de Systemd, todos los programas lanzados están representados por archivos de unidad, cada unidad describe los parámetros del programa, su archivo ejecutable, así como los requisitos adicionales para el lanzamiento.

El comando systemctl se usa para agregar o eliminar servicios del inicio automático. Para agregar un servicio para ejecutar el inicio automático:

sudo systemctl habilitar nombre_servicio

Y para deshabilitar su autorun linux:

sudo systemctl deshabilitar service_name

Por ejemplo, si desea agregar Apache al inicio, debe ejecutar:

sudo systemctl habilitar apache

También puede verificar si el servicio ya se ha agregado al inicio:

sudo systemctl está habilitado httpd

Si no conoce el nombre exacto del archivo de servicio, pero conoce su primera letra, puede usar el autocompletado, como lo haría en cualquier otro lugar de la terminal, usando el botón Tabulador:

También puede ver todos los servicios que se han agregado al inicio usando el comando:

systemctl list-unit-files | grep habilitado

Solía ​​ser habitual colocar todos los scripts que se ejecutan de forma predeterminada en el archivo /etc/rc.local. Este archivo aún existe, pero es un remanente del sistema de inicio SysVinit y ahora se conserva solo por compatibilidad. Los scripts solo necesitan cargarse usando Systemd.

Para hacer esto, basta con crear un archivo de unidad simple y agregarlo a la carga automática, como cualquier otro servicio. Primero creemos este archivo:

sudo vi /lib/systemd/system/runscript.service


Descripción=Mi servicio de secuencias de comandos
After=multiusuario.objetivo


tipo = inactivo
ExecStart=/usr/bin/local/script.sh


WantedBy=multi-usuario.objetivo

En la sección unidad le damos una breve descripción a nuestro archivo y decimos con una opción Después que necesita para ejecutar este script en modo multiusuario (multiusuario). Sección Servicio lo más importante, aquí te indicamos el tipo de servicio - inactivo, lo que significa que solo necesita ejecutar y olvidar, no hay necesidad de monitorear, y luego en el parámetro ExecStart especifique la ruta completa a nuestro script.

Queda por establecer los derechos correctos:

sudo chmod 644 /lib/systemd/system/runscript.servicio

Luego actualice la configuración y agregue un nuevo script al inicio de Linux:

sudo systemctl daemon-recargar
$ sudo systemctl habilitar myscript.servicio

Después del próximo reinicio, este script se ejecutará automáticamente. Tenga en cuenta que para cada script que vaya a ejecutar, los derechos deben configurarse correctamente, es decir, debe configurarse el indicador de ejecución. Para hacer esto, use el comando chmod:

sudo chmod u+x /usr/local/bin/secuencia de comandos

En los parámetros, pasamos la dirección del archivo de script a la utilidad. La ejecutabilidad es un parámetro necesario para todos los métodos.

A menudo, los entornos de escritorio livianos y los administradores de ventanas utilizan la carga automática en el nivel del servidor X para cargar automáticamente los programas. Todos los scripts lanzados de esta manera comenzarán después de que se inicie el servidor X. Para configurar dicha carga automática de Linux, solo necesita agregar la ruta al script deseado al archivo ~/.xinitrc o /etc/X11/xinit/xinitrc. La sintaxis de la línea añadida es:

exec script_ruta &

Si el archivo ~/.xinitrc aún no existe, debe crearlo:

cp /etc/X11/xinit/xinitrc ~/.xinitrc

Luego, para agregar un script a la carga automática de Linux, edite el archivo según lo necesite. Por ejemplo, iniciemos Firefox:

exec /usr/bin/firefox &

Los entornos de escritorio potentes, como Gnome y KDE, tienen sus propias aplicaciones de inicio. Por ejemplo, en Gnome el programa se llama "Aplicaciones que se inician automáticamente". Puede ejecutarlo desde el menú principal del sistema:

Aquí puede ver todos los programas que ya se han agregado al inicio. Puede deshabilitar cada uno de ellos simplemente desmarcando la casilla.

Para agregar nuevo programa o secuencia de comandos para cargar automáticamente, haga clic "Agregar":

Aquí debe completar tres campos:

  • Nombre- un nombre arbitrario para el comando por el cual puede encontrarlo;
  • Dominio- ruta completa al archivo ejecutable del programa;