Ottimizzazione dell'avvio in Ubuntu Server. Come aggiungere un programma all'avvio su Linux? Programmi di avvio di Ubuntu

Ubuntu ha 2 livelli principali di esecuzione automatica: nel sistema di inizializzazione systemd e nell'ambiente di lavoro. Per il software personalizzato, l'avvio in Ubuntu può essere configurato in una comoda utility grafica. Puoi aggiungere un programma o il tuo script all'esecuzione automatica.

Avvio automatico in Ubuntu

L'attuale Ubuntu 18.04 utilizza GnomeShell come ambiente di lavoro per impostazione predefinita. Per configurare l'esecuzione automatica in questa versione del sistema operativo è necessario:

Consiglio! Per garantire che il comando sia corretto, è necessario installare l'utilità "Menu principale" da UbuntuSoftwareCenter.

In esso, seleziona l'elemento di interesse e apri le sue proprietà. Il comando corretto viene copiato dalla riga con lo stesso nome.

Le applicazioni in Ubuntu presenti nell'elenco e contrassegnate da un segno di spunta verranno avviate ogni volta che si avvia il sistema operativo. Tutte queste sono applicazioni di un determinato utente, programmi di sistema e servizi, l'utilità non viene visualizzata. Nelle versioni precedenti del sistema operativo con shell grafica Unity, l'utilità per l'impostazione dell'avvio può essere trovata anche cercando nel menu Dash o aperta utilizzando il comando nel terminale:

proprietà-sessione-gnome.

Come aggiungere uno script all'avvio di Ubuntu

Oltre al software specifico, è facile aggiungere uno script autoprodotto all'avvio di Linux per ottimizzare il tuo lavoro sul computer. Per fare questo è necessario:

  1. Rendi eseguibile lo script utilizzando il comando:

    sudochmodugo+x /home/utente/script.sh

    (dove user è il nome utente e script è il nome dello script, ma il percorso del file .sh potrebbe essere diverso: deve essere scritto per intero, altrimenti lo script non verrà eseguito).

  2. Apri "Avvia automaticamente le app" e fai clic su "Aggiungi".
  3. Inserisci il nome dello script e, come comando, il nome completo con il percorso del file, ad esempio /home/user/script.sh.
  4. Fare clic su "Aggiungi".

Esiste un altro modo classico, ma considerato obsoleto per configurare l'esecuzione automatica degli script in Ubuntu. Per completarlo è necessario:


Questo metodo è adatto anche per l'avvio automatico su UbuntuServer, dove non è presente grafica.

Ritardare i programmi di avvio in Ubuntu

Se all'avvio di Ubuntu sono presenti molti programmi, è necessario caricarli in un determinato ordine o avviarli qualche tempo dopo l'avvio del sistema: la funzione di ritardo aiuterà. Per attivarlo, utilizzare l'utilità unix sleep. Puoi sfruttare le funzionalità di questo strumento nel già familiare programma Applicazioni di avvio. Per fare questo è necessario:

  1. Aprire la finestra delle impostazioni dell'applicazione di avvio.
  2. Selezionare con il cursore il programma di cui si desidera ritardare l'esecuzione automatica e utilizzare il pulsante “Cambia”.
  3. Nella riga "Comando", prima della voce esistente, inserisci:

dove il numero dopo la parola "sleep" è uguale al numero di secondi in cui l'applicazione rimane inattiva immediatamente dopo l'avvio del sistema, prima dell'avvio. Deve esserci uno spazio tra questa formula, che deve avere un punto e virgola alla fine, e il comando per avviare l'applicazione.

Nell'esempio fornito di avvio lento dei programmi in Ubuntu, l'applicazione rimane in uno stato di "sospensione" per 2 minuti prima dell'apertura. Ad esempio, l'avvio mezz'ora dopo l'avvio del sistema operativo apparirà come "nome programma" sleep 3h. Esempio in cui la trasmissione inizia dopo 1 ora:

dormire 1h; trasmissione-gtk %U

In modo simile, puoi aggiungere l'esecuzione posticipata di uno script personalizzato o l'avvio di un file multimediale all'avvio in Linux.

Rimozione dall'avvio di Ubuntu

Per rimuovere il software dall'avvio di Ubuntu, puoi utilizzare uno dei 2 metodi: tramite "Applicazioni avviate automaticamente" o manualmente. Nel primo caso è sufficiente avviare l'utility, selezionare il programma desiderato e fare clic su "Elimina". Deselezionando semplicemente la casella si disabilita il programma e non si avvierà all'avvio del sistema.

Il metodo manuale prevede l'utilizzo della cartella di avvio automatico in Ubuntu. Si trova in /home/username/.config/autostart/ (per vedere questa cartella nascosta, dovresti aprire la tua directory home in gestore di file e premere contemporaneamente Ctrl+H). Contiene file con estensione .desktop per ciascun programma di esecuzione automatica, che vengono generati automaticamente quando aggiunti tramite un'utilità grafica. È sufficiente eliminare il file in modo che il programma non si apra più all'accensione del computer.

Conclusione

L'avvio in Ubuntu ha molti modi per ottimizzarlo. Le sue capacità sono difficili da comprendere. L'uso corretto di questo strumento rende Linux più pratico nelle attività quotidiane.

Utilizziamo costantemente molti programmi e li lanciamo ogni volta che si avvia il sistema, e alcuni, come la messaggistica istantanea o varie utilità, devono essere costantemente eseguiti in background per svolgere correttamente il loro compito. A questo scopo, i sistemi operativi dispongono del caricamento automatico. I programmi si avviano automaticamente dopo l'avvio del sistema operativo o della shell grafica.

In questo articolo parleremo di come funziona l'avvio automatico in Ubuntu, di quali metodi di avvio esistono su questo sistema e di come aggiungere programmi lì.

AVVIO AUTOMATICO IN UBUNTU

La prima cosa da dire è che in Ubuntu ci sono diversi livelli di avvio. Non parlerò di systemd e , poiché ne ho già parlato in uno dei primi articoli. È possibile aggiungere un programma o uno script all'avvio nei seguenti modi:

  • Utilità "Applicazioni avviate automaticamente";
  • Cartella "Avvio";
  • File rc.local;
  • File Xinitrc;

Considereremo i primi due metodi, poiché gli ultimi due sono più progettati per script piuttosto che per programmi. Innanzitutto, avvia automaticamente Ubuntu utilizzando un'utilità standard.

Apri il menu di sistema e digita "Auto" e apri il programma che sarà il primo nell'elenco, Applicazioni ad avvio automatico:

Tutte le applicazioni attualmente avviate automaticamente verranno elencate qui. Per aggiungere un'altra applicazione all'avvio di Ubuntu, fare clic sul pulsante "Aggiungere":

Qui è necessario inserire il nome del nuovo elemento, nonché il comando di avvio dell'applicazione. È possibile selezionare l'applicazione in file system, se non ricordi il percorso premi il pulsante "Revisione":

Se necessario, è possibile specificare i parametri nel comando. Puoi anche compilare il campo "Descrizione", ma questo non è più necessario. Se ti serve un programma specifico dal menu principale, ma non sai dove trovarlo o come è scritto il suo comando, puoi cercarlo nello stesso menu. Ma per questo dobbiamo prima installare l'utilità "Menu principale" dall'App Center:

Qui devi prestare attenzione alla linea "Squadra", copialo e potrai usarlo per il caricamento automatico.

Il metodo successivo è la cartella di avvio. Si trova in ~/.config/autostart. In sostanza, questo è lo stesso metodo, solo che può essere eseguito senza interfaccia grafica. Quando si configura l'avvio tramite un'applicazione, in questa cartella vengono creati i file di impostazioni denominati desktop. Per esempio:

Ti ricordo che per visualizzare i file nascosti è necessario premere la combinazione di tasti Ctrl+H. Ora proviamo a creare un nuovo file di configurazione per un altro programma. Questa è quale sarebbe la sua sintassi:


Tipo = Applicazione
Nome = nuovo_nome_oggetto
Esegui = comando
Icona = percorso_completo_dell'icona
Commento = commento
X-GNOME-Autostart-abilitato= VERO

Ad esempio, creiamo un file per avviare il lettore VLC, sarà simile a questo:

vi ~/.config/autostart/vlc.desktop


Tipo=Applicazione
Nome=VLC
Esecu=vlc
Icon=/usr/share/icons/hicolor/16x16/apps/vlc.png
Commento=VLC Media Player
X-GNOME-Autostart-enabled=true

Fatto, e la parte divertente è che se apri l'app di avvio. Questo oggetto apparirà anche lì. Questo è un modo di configurare senza un'interfaccia grafica.

CONCLUSIONI

In questo breve articolo abbiamo visto come configurare il caricamento automatico dei programmi Ubuntu diversi modi- tramite interfaccia grafica e terminale. Puoi utilizzare questa conoscenza per migliorare la tua esperienza di sistema. Anche se Ubuntu è passato a Gnome, l'avvio in Ubuntu 16.04 sembra ancora quasi lo stesso. Se avete domande, fatele nei commenti!

Post correlati:


Crea un file vuoto.

La prima riga che scriviamo:

#!/bin/sh

Questa riga specifica quale shell di comando utilizzare. Poi ci sono le tue squadre.

Salviamolo con il nome originale (in modo da non coincidere con quelli esistenti) nella directory /usr/sbin/.

Affinché lo script venga eseguito all'avvio è necessario registrarlo nel file /etc/rc.local fino alla riga exit 0. Se non lo avete questa vita, crealo e incolla al suo interno il seguente contenuto:

#!/bin/sh -e #Qui inseriamo una riga che indica il tuo script. /usr/sbin/mescripts esce 0

Un modo un po' più complicato

Consente di impostare la sequenza di caricamento e il comportamento dello script a diversi runlevel.

Studiamo /etc/init.d/skeleton, sulla base di esso creiamo uno script /etc/init.d/my_script che avvierà/arresterà la nostra applicazione.

Queste directory contengono script per arrestare i servizi:

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

Questi sono gli script di avvio del servizio:

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

Li studiamo per coerenza (più piccola è la prima cifra all'inizio dello script, prima si avvia/si arresta l'applicazione). Questo può essere fondamentale se la tua applicazione dipende da alcuni servizi.

Dopo aver deciso lo script e la sequenza di avvio, eseguiamo quanto segue:

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

Qui ho stabilito che il mio script dovesse iniziare più tardi degli altri (70) e terminare prima (20). I numeri 2 3 4 5 0 1 6 indicano i livelli di carico.

Se non ti piace qualcosa, puoi eliminare tutto

Sudo update-rc.d -f mio_script rimuovi

Vedi man update-rc.d per i dettagli.

Esecuzione di uno script quando la rete è accesa/spenta

Esiste una directory /etc/network/ con sottodirectory if-down.d , if-pre-up.d , if-post-down.d , if-up.d . Se si inserisce lo script in una di queste sottodirectory, verrà eseguito rispettivamente allo spegnimento, prima dell'accensione, dopo lo spegnimento o all'accensione della rete.

Un altro modo è specificare una delle seguenti direttive nel file /etc/network/interfaces: up , pre-up , post-up , down , pre-down , post-down . Ad esempio, la linea

Pubblica /percorso/a/script.sh

dopo aver acceso la rete eseguirà lo script script.sh. Puoi leggere di più nelle interfacce man.

In ogni caso lo script deve avere i diritti di esecuzione impostati, altrimenti non potrà essere eseguito.

E, soprattutto, completamente gratuito sistema operativo, costruito sul kernel Linux. Pertanto, sempre più proprietari di computer ne diventano utenti. Se sei uno di loro, allora no, non dovresti imparare - non c'è niente da imparare - solo capire e padroneggiare le basi della gestione. Ad esempio, come configurare l'avvio automatico di applicazioni e servizi in Ubuntu.

L'avvio automatico in Ubuntu è lo stesso processo di altri sistemi operativi. Devi ricordare e immaginare come su Windows, quando accendi il PC, Skype, uTorrent e una serie di altri programmi vengono immediatamente avviati. Esistono diversi programmi su Ubuntu inclusi con il computer in modo simile. Il loro elenco può essere modificato come desideri: rimuovi quelli non necessari o aggiungine altri.

Aggiunta di processi

Aggiungere un nuovo servizio, utilità o comando all'avvio di Ubuntu non è affatto difficile. Questo viene fatto utilizzando il menu.


In questo modo puoi aggiungere non solo utilità, ma anche semplicemente servizi. Solo nella riga superiore è necessario selezionare il tipo appropriato, se presente, e anche inserire il comando desiderato. L'importante è saperlo.

Rinvio

Ubuntu ha anche una grande opportunità per ritardare l'accensione, proprio come nei moderni forni o multicooker. Questo viene fatto introducendo una piccola aggiunta al testo del comando. Che assomiglia a questo: "sonno 20;" (senza virgolette). Invece di 20, puoi inserire qualsiasi numero che indichi il numero di secondi in cui il processo “dorme” prima di iniziare. In questo modo, puoi dare al sistema il tempo di avviarsi completamente, dopodiché determinati servizi o programmi inizieranno ad attivarsi.

Rimozione

Se hai già provato ad aggiungere programmi all'avvio automatico, capisci che rimuoverli da lì sarà molto semplice.

  1. Vai di nuovo all'utilità di gestione dell'avvio.
  2. Troviamo quei processi di cui non abbiamo bisogno.
  3. Selezionali e fai clic su “Elimina”.

Ora i processi non necessari verranno rimossi dall'avvio di Ubuntu. È meglio avere lì solo l'essenziale.

Vale la pena capire che se aggiungi molte applicazioni all'avvio di Ubuntu, il sistema operativo verrà caricato molto più lentamente. Meglio quindi non esagerare e regolare correttamente le impostazioni di avvio automatico. La funzione è davvero molto comoda e, insieme alla partenza ritardata, dà buon strumento per la regolazione automatica delle azioni del sistema.

Dopo aver avviato il computer, di norma, dobbiamo avviare alcuni programmi. che usiamo più spesso. Inoltre, dopo aver avviato il sistema, potremmo dover eseguire alcune azioni specifiche, ad esempio creare i file necessari o impostare alcuni parametri. È molto scomodo farlo manualmente. Per risolvere tali problemi, esiste il caricamento automatico.

In questo articolo vedremo come funziona il caricamento automatico di Linux, come aggiungere programmi di avvio, dove sarebbe più corretto aggiungerli e anche quali tipi di avvio esistono in questo sistema operativo.

Per capire come funziona il caricamento automatico, devi prima ricordare cosa succede durante . Una volta che il kernel ha completato la sua inizializzazione ed è pronto per ulteriori lavori, trasferisce il controllo al sistema di inizializzazione. Il sistema di inizializzazione è il processo principale; è quello che avvia tutti gli altri processi nel sistema.

Esistono processi che il sistema init, come systemd, avvia per impostazione predefinita, ma puoi anche configurarlo per avviare i processi di cui hai bisogno. Inoltre, molti processi secondari eseguono file di script o hanno la capacità di eseguire i programmi necessari. Anche la maggior parte degli ambienti desktop dispone di questa funzionalità.

Diamo un'occhiata ai principali livelli di avvio che puoi utilizzare:

- è possibile specificare qualsiasi programma che verrà avviato dopo l'avvio del kernel invece del sistema di inizializzazione;- avvio dei servizi di sistema di base, dei servizi aggiuntivi e dei tuoi script nella fase di inizializzazione del sistema;- metodo obsoleto di caricamento degli script, eseguito prima di avviare l'ambiente grafico;- puoi eseguire i tuoi script o comandi dopo aver avviato il gestore degli accessi, ma prima di avviare l'ambiente;- lancio programmi necessari o script immediatamente dopo l'avvio del server X;- la maggior parte degli ambienti supporta il caricamento automatico dei programmi, lì puoi anche configurare l'avvio ritardato e altri parametri;- l'ultima opzione è il caricamento automatico a livello di una shell di comandi separata, puoi eseguire automaticamente i comandi necessari non appena viene avviato il terminale.

È improbabile che il caricamento automatico a livello di kernel ti sia molto utile per l'uso quotidiano, ma ho deciso di menzionarlo perché è possibile. Utilizzando il parametro init del kernel, è possibile specificare quale programma deve essere avviato immediatamente dopo il completamento dell'inizializzazione del kernel. Ad esempio, puoi caricare la shell Bash anziché Systemd. Per fare ciò, basta correggere la riga di avvio del kernel nel file di configurazione di Grub o durante l'avvio. Aggiungi il parametro init alla fine:

sudo vi /boot/grub2/grub.cfg

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

Ma, di solito, è più conveniente modificare questo valore temporaneamente, nel menu di Grub. Maggiori informazioni su questo argomento nell'articolo. Questo non carica automaticamente un programma Linux, ma a volte può comunque essere utile.

Molto spesso, quando si parla di avvio di Linux, si intende il caricamento automatico dei servizi utilizzando il sistema di inizializzazione. systemd ha un sistema molto avanzato. Supporta la risoluzione delle dipendenze, l'esecuzione parallela, il rinvio dell'avvio e il riavvio in caso di errore. Nella terminologia Systemd, tutti i programmi avviati sono rappresentati da file unit; ogni unità descrive i parametri del programma, il suo file eseguibile e ulteriori requisiti di avvio.

Per aggiungere o rimuovere servizi all'avvio, utilizzare il comando systemctl. Per aggiungere un servizio all'esecuzione con avvio automatico:

sudo systemctl abilita nome_servizio

E per disabilitare la sua esecuzione automatica su Linux:

sudo systemctl disabilita nomeservizio

Ad esempio, se vuoi aggiungere Apache all'avvio, devi eseguire:

sudo systemctl abilita apache

Puoi anche verificare se il servizio è già stato aggiunto all'avvio:

sudo systemctl è abilitato httpd

Se non conosci il nome esatto del file di servizio, ma conosci la sua prima lettera, puoi utilizzare il completamento automatico, come in qualsiasi altro punto del terminale utilizzando il pulsante Tab:

Puoi anche visualizzare tutti i servizi che sono stati aggiunti all'avvio utilizzando il comando:

systemctl list-unit-files | grep abilitato

Una volta era pratica comune posizionare tutti gli script eseguiti per impostazione predefinita nel file /etc/rc.local. Questo file esiste ancora, ma è una reliquia del sistema init SysVinit ed è ora conservato solo per scopi di compatibilità. Gli script devono essere caricati solo utilizzando Systemd.

Per fare ciò basta creare un semplice file unit e aggiungerlo all'avvio, come qualsiasi altro servizio. Per prima cosa creiamo questo file:

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


Descrizione=Il mio servizio script
Dopo=multiutente.target


Tipo=inattivo
ExecStart=/usr/bin/local/script.sh


WantedBy=multi-utente.target

Nella sezione Unità diamo una breve descrizione al nostro file e parliamo utilizzando l'opzione Dopo che è necessario eseguire questo script in modalità multiutente. Sezione Servizio il più importante, qui indichiamo la tipologia del servizio - oziare, ciò significa che devi solo eseguire e dimenticare, non è necessario monitorare, quindi nel parametro ExecStart Indichiamo il percorso completo del nostro script.

Non resta che impostare i permessi corretti:

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

Quindi aggiorna la configurazione e aggiungi un nuovo script all'avvio di Linux:

sudo systemctl daemon-reload
$ sudo systemctl abilita myscript.service

Dopo il prossimo riavvio questo script verrà avviato automaticamente. Tieni presente che per ogni script che intendi eseguire, i diritti devono essere impostati correttamente, ovvero è necessario impostare il flag di esecuzione. Per fare ciò, usa il comando chmod:

sudo chmod u+x /usr/local/bin/script

Nei parametri passiamo l'indirizzo del file script all'utilità. L'eseguibilità è un parametro obbligatorio per tutti i metodi.

Spesso, gli ambienti desktop leggeri e i gestori di finestre utilizzano il caricamento automatico a livello del server X per caricare automaticamente i programmi. Tutti gli script lanciati in questo modo verranno avviati dopo l'avvio del server X. Per impostare un tale caricamento automatico di Linux, è sufficiente aggiungere il percorso dello script desiderato nel file ~/.xinitrc o /etc/X11/xinit/xinitrc. La sintassi per la riga aggiunta è:

exec percorso_script &

Se il file ~/.xinitrc non esiste già, devi crearlo:

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

Quindi, per aggiungere uno script all'avvio di Linux, modifica il file secondo le tue esigenze. Ad esempio, avviamo Firefox:

exec /usr/bin/firefox &

Ambienti desktop potenti come Gnome e KDE hanno le proprie applicazioni di avvio. Ad esempio, in Gnome il programma viene chiamato "Applicazioni che si avviano automaticamente". Puoi avviarlo dal menu principale del sistema:

Qui vedi tutti i programmi che sono già stati aggiunti all'avvio. Puoi disabilitarli ciascuno semplicemente deselezionando la casella.

Aggiungere nuovo programma o script da caricare automaticamente, fare clic sul pulsante "Aggiungere":

Qui è necessario compilare tre campi:

  • Nome- un nome personalizzato per il comando con cui puoi trovarlo;
  • Squadra- percorso completo del file eseguibile del programma;