Non sarebbe bello se potessi ricevere notifiche pop-up al termine di quelle attività a lunga esecuzione dalla riga di comando? Bene, puoi. In realtà, la creazione di notifiche desktop dalla riga di comando è molto semplice con l’estensione notify-send
comando.
Puoi usare notify-send
nei tuoi script o impostalo per essere eseguito seguendo un lungo comando che hai appena digitato nella riga di comando. I messaggi che crei sono completamente personalizzabili e si integrano automaticamente in qualsiasi ambiente desktop in esecuzione, quindi non sembrano fuori posto o brutti.
Notifica di base
Apri un terminale sul tuo sistema Linux e crea la tua prima notifica. Usa quello qui sotto e guarda come funziona.
notify-send 'Hello World!' 'This is a custom notification!'
L’hai visto apparire? Eccellente. Provane un’altro.
notify-send 'I sent a notification!' 'Yeah! Another custom notification!'
Ora puoi fare di più per personalizzare le tue notifiche!
Urgenza
Alcune notifiche sono più importanti di altre. Sono disponibili tre livelli di notifiche: basso, normale e critico. Il tuo ambiente desktop potrebbe distinguerli visivamente o potrebbe influire sulla durata della loro visualizzazione sullo schermo. Puoi specificare l’urgenza delle tue notifiche con il file -u
bandiera.
notify-send 'SUPER IMPORTANT!' 'This is an urgent message!' -u critical
Guarda come si differenzia da uno a bassa urgenza:
notify-send 'Eveything is alright' 'Just checking.' -u low
Il tuo ambiente desktop determinerà come si comportano.
Icone
Sarebbe ancora meglio se potessi aggiungere un componente grafico a questi messaggi, no? Bene, puoi. notify-send
consente di specificare un’icona. “Conosce già” tutte le tue icone di sistema, quindi se guardi sotto “/ usr / share / icons” puoi vedere cosa c’è disponibile. Usa il nome del file icona senza l’estensione insieme a -i
flag per aggiungerlo al tuo messaggio.
notify-send 'I broke all the things!' 'Call the admin, NOW!' -u critical -i face-worried
Se non ti piacciono le icone di sistema, puoi sempre puntare le notifiche su icone personalizzate. Usa semplicemente il percorso del tuo file icona.
notify-send 'Super Awesome Custom Icon' 'It is pretty cool, right?' -u normal -i '/home/user/Pictures/icons/excellent-icon.png'
Altre bandiere
Ci sono altre bandiere che puoi esplorare. Per vederli tutti, corri notify-send --help
. Un paio di utili consentono di specificare l’applicazione che invia la notifica e il tempo in cui rimane attiva. Quindi, se desideri che la notifica rimanga attiva per una durata specifica, aggiungi il file -t
bandiera.
notify-send 'It Broke' 'You command failed' -u normal -t 10000 -i error
Il -a
flag consente di specificare l’app che invia la notifica. Non tutti gli ambienti desktop includono queste informazioni, ma possono aiutarti a distinguere quando possono.
notify-send 'My script has a name!' 'The script did something.' -a 'Script Name' -u normal -i face-smile
Scripting
Lo scripting è una delle cose principali con cui useresti tutto questo. Non deve nemmeno essere uno script Bash enorme e complesso. Supponi di voler una notifica quando il tuo sistema ha terminato l’aggiornamento. Può farlo abbastanza facilmente.
sudo apt update && sudo apt -y upgrade && notify-send 'Updates Complete' 'Your system updated successfully!' -u normal -t 7500 -i checkbox-checked-symbolic
Puoi diventare complesso quanto vuoi con esso e persino creare i tuoi script wrapper con le notifiche.
#! /bin/bash if sudo apt install $1; then notify-send "Install Successful!" "$1 installed successfully" -u normal -t 5000 -i checkbox-checked-symbolic; else notify-send "Install Failed" "$1 failed to install" -u critical -i error; fi
L’esempio è ancora semplice, ma puoi avere un’idea di ciò che è possibile.
Su SSH
Se il tuo computer ha SSH configurato per le sessioni del server X, puoi effettivamente inviare notifiche anche tramite SSH.
ssh -X user@192.168.0.112 'DISPLAY=:0 notify-send "HAHA I'm In Your Computer!" "Deleting all your stuff!" -u critical -i face-worried'
Trolling le persone sulla tua rete ovviamente non è l’unica applicazione per questo. Hai bisogno delle informazioni di accesso proprio come se dovessi aggiungere SSH regolarmente. Tuttavia, non manterrà la sessione. Visualizzerà solo il messaggio e uscirà.
Tra SSH e scripting, puoi fare un’ampia gamma di cose con notify-send
. Sperimenta e vedi come puoi adattarlo alle tue esigenze.