Connect with us

Linux

Ricevi notifiche sul desktop o sul telefono quando un comando di lunga durata ha terminato con Noti


Noti comando di lunga durata ha terminato la notifica desktop mobile

Hai mai desiderato ricevere una notifica al termine di un processo / comando di lunga durata, non solo sul desktop ma anche sul telefono? Noti può farlo.

Noti è uno strumento da riga di comando per macOS, Linux e Microsoft Windows che monitora un processo / comando e attiva una notifica sul desktop o sul telefono al termine dell’esecuzione.

Notifiche supportate:

  • Notifiche desktop (banner)
  • Discorso
  • BearyChat
  • Keybase
  • Mattermost
  • Pushbullet
  • Pushover
  • Pushsafer
  • Simplepush
  • Slack
  • Telegramma
  • Zulip
  • Twilio

Tutte queste notifiche supportate funzionano su macOS, Linux e Windows.

Vale la pena notare che se tutto ciò che desideri è ricevere una notifica sul desktop quando un comando a lunga esecuzione è terminato su Linux, puoi semplicemente eseguire command; notify-send Done (per esempio sleep 3; notify-send Done).

Per impostazione predefinita, Noti mostra solo il testo “Fatto!” quando viene eseguita un’attività di lunga durata, ma questa può essere estesa. Puoi specificare il titolo della notifica (l’impostazione predefinita è il nome dell’utilità), impostare il messaggio di notifica (l’impostazione predefinita è “Fatto!”; Leggi da stdin con -) e mostra il tempo di esecuzione nel messaggio di notifica.

Puoi usare Noti all’inizio di un comando, ad esempio:

noti sleep 3

E dopo un comando, ad esempio:

sleep 3; noti

Puoi anche utilizzare Noti dopo che un comando è già stato avviato, ottenendo il PID del processo, quindi utilizzando il seguente comando:

noti --pwatch PID

Oppure premendo Ctrl + z dopo che un processo è stato avviato per sospenderlo temporaneamente, quindi riprenderlo con:

fg; noti

Per ulteriori informazioni su Noti, incluso come impostare le notifiche Noti con vari servizi, variabili d’ambiente Noti, ecc. Vedere questa pagina. Durante il test, però, ho notato che questa pagina è un po ‘obsoleta. Ad esempio, Slack non consente più la creazione di token tester legacy. Quindi potresti anche voler controllare la pagina man di Noti da qui, e noti.yaml man da qui.

Continua a leggere per informazioni su come installare e configurare Noti, comprese le istruzioni complete per configurare Noti per notificare sul tuo dispositivo mobile tramite Telegram e Slack quando un comando a lunga esecuzione è terminato.

Potrebbe piacerti anche: Come ripetere un comando ogni X secondi su Linux

Installazione e configurazione di Noti

Le istruzioni di installazione di Noti collegate tramite il pulsante sopra contengono diversi modi per installare questo strumento. Se vuoi prendere il binario direttamente, vai semplicemente alla pagina delle versioni di GitHub dello strumento.

Il modo più semplice per installare Noti su Linux è scaricare il binario dalla pagina delle versioni, estrarre l’archivio, quindi installare il noti binario a /usr/local/bin usando (supponendo che tu abbia estratto l’archivio binario di Noti nella tua cartella home e apri il terminale nella tua home directory):

sudo install noti*linux-amd64/noti /usr/local/bin

Per impostazione predefinita, Noti utilizza le notifiche desktop (banner). Di seguito ti mostrerò come configurare Noti per inviare notifiche al termine di un processo di lunga durata, sul tuo dispositivo mobile tramite Slack e Telegram, poiché è quello che uso. Se vuoi usarlo con un altro servizio dovrai configurarlo da solo, usando le istruzioni (anche se un po ‘incomplete secondo me, e obsolete in alcuni casi, ad esempio non puoi più creare token Slack, e devi usare un’app Slack) da qui.

Potrebbe piacerti anche: Bit è una moderna CLI Git con un prompt interattivo

Configura Noti per avvisarti quando un comando di lunga durata è terminato inviando un messaggio su Telegram

Per fare in modo che Noti ti invii messaggi Telegram quando un comando di lunga durata è terminato, avrai bisogno di un Telegram chatId e token. Funziona con una chat o un canale di Telegram. Nelle mie istruzioni di seguito utilizzeremo un canale Telegram.

1. Crea un canale Telegram.

La prima cosa che devi fare è creare un canale Telegram. Può avere qualsiasi nome e descrizione desideri.

2. Crea un bot Telegram e ottieni il token di accesso API HTTP.

Successivamente, è necessario utilizzare BotFather (@botfather) per creare un bot e ottenere un token di accesso API HTTP.

Per fare ciò, avvia una chat con @botfather e digita /start nella chat per vedere i comandi disponibili, ecc. Ora digita /newbot per creare un nuovo bot e segui le istruzioni (dovrai impostare un nome e un nome utente per il tuo nuovo bot). Quando hai finito, @botfather mostrerà un token per accedere all’API HTTP. Copia questo token perché ne avremo bisogno in seguito.

3. Aggiungi il bot di Telegram creato nel passaggio 2 al tuo canale e ottieni il file chatId.

Ora abbiamo un token, ma dobbiamo anche ottenere il chatId.

Aggiungi il bot che hai creato nel passaggio 2 al tuo nuovo canale Telegram (vai al canale e dalle opzioni scegli Add users e cerca il bot che hai creato).

Una volta aggiunto il bot, digita un messaggio nel tuo canale Telegram. Questo è importante e necessario per ottenere il file chatId.

Ora puoi ottenere il file chatId visitando il seguente link che dovrai modificare:

https://api.telegram.org/botXXX:YYYYY/getUpdates

Sostituire XXX:YYYYY con il token API HTTP del tuo bot che hai ottenuto nel passaggio 2.

Questo collegamento mostrerà un po ‘di testo tra cui troverai:

chat":{"id":-100999999999}

L’ID da qui è il tuo chatId che devi usare con Noti. Quello - il segno all’inizio del numero fa parte del chatId, quindi assicurati di usare anche quello e non solo i numeri.

4. Crea il file di configurazione di Noti (se non l’hai già creato) e aggiungi Telegram ad esso.

Ora che conosciamo Telegram chatId e API HTTP token, crea il file di configurazione di Noti, chiamato noti.yaml nel ~/.config/noti/

Apri questo file con un editor di testo e incolla quanto segue:

telegram:
  token: THE_HTTP_API_TOKEN_GOT_UNDER_STEP_2
  chatId: 'THE_CHAT_ID_GOT_UNDER_STEP_3'

Esempio (modificato per non contenere il mio real token e chatId):

telegram:
  token: 1598888700:AEEijJJcsABpYR1LdJ4_Llkr1Vq48vxAUSg
  chatId: '-10099999999999'

Prova Noti che invia un messaggio di Telegram quando un comando di lunga durata è terminato utilizzando:

sleep 3; noti --telegram

Non preoccuparti, non è necessario aggiungere il parametro della riga di comando –telegram ogni volta che utilizzi Noti. Puoi esportare NOTI_DEFAULT con un elenco di tipi di notifica da attivare, ad esempio per utilizzare le notifiche del banner sul desktop e le notifiche di Telegram, dovresti esportare NOTI_DEFAULT="banner telegram".

Inserisci export NOTI_DEFAULT="banner telegram" alla tua ~/.profile file per rendere la modifica permanente. Ovviamente, modifica il file NOTI_DEFAULT tipi di notifica a ciò che si desidera utilizzare. Esci e accedi nuovamente dopo aver apportato modifiche al tuo ~/.profile file per utilizzare le nuove impostazioni.

Potrebbe interessarti anche: Come trovare file modificati negli ultimi N giorni o minuti utilizzando find

Configura Noti per avvisarti quando un comando di lunga durata è terminato inviando un messaggio su Slack

La pagina della documentazione di Noti menziona la creazione di un token OAuth per test e sviluppo, ma questo non è più supportato da Slack. Invece di questo, dovremo creare un’app Slack.

1. Accedi a Slack utilizzando un browser web.

2. Crea un’app Slack.

Vai su https://api.slack.com/apps/new e crea una nuova app Slack usando il nome che desideri.

3. Attiva webhook in arrivo.

Dopo aver creato un’app Slack, verrai reindirizzato alla pagina delle impostazioni della tua nuova app. Qui (avendo Basic Information selezionato nella barra laterale di sinistra), espandere il file Add features and functionality sezione, quindi fare clic su Incoming Webhooks. Qui, attiva l’interruttore accanto a Activate Incoming Webhooks.

4. Creare un webhook in arrivo.

Nella parte inferiore del file Incoming Webhooks pagina, fare clic su Add New Webhook to Workspacee seleziona un canale o te stesso (quest’ultimo sotto Direct Messages). Qui è dove riceverai la notifica. Ho selezionato il mio nome utente qui.

[[Edit]] I passaggi per creare un’app Slack e un webhook in entrata sono spiegati anche nella documentazione dell’API Slack.

Dopo aver creato un webhook in arrivo, verrai reindirizzato al file Incoming Webhooks pagina. In fondo a questa pagina dovresti vedere il file Webhook URL. Copia questo URL.

5. Crea il file di configurazione di Noti (se non l’hai già creato) e aggiungi Slack ad esso.

Ora che abbiamo l’URL del webhook Slack, crea il file di configurazione di Noti, chiamato noti.yaml nel ~/.config/noti/

Apri questo file con un editor di testo e incolla quanto segue:

slack:
  appurl: 'https://hooks.slack.com/services/xxx/yyy/zzz'

Qui, sostituisci il file appurl valore con l’URL del webhook Slack che hai ottenuto nel passaggio 4 e salva il file.

Prova Noti che invia una notifica Slack quando un comando a esecuzione prolungata ha terminato l’esecuzione utilizzando:

sleep 3; noti --slack

Per usare sempre Slack per inviare notifiche durante la digitazione noti (quindi non devi digitare noti --slack ogni volta che vuoi essere avvisato su Slack), puoi esportare NOTI_DEFAULT con un elenco di tipi di notifica da attivare, ad esempio per utilizzare le notifiche del banner sul desktop e le notifiche Slack, dovresti esportare NOTI_DEFAULT="banner slack".

Inserisci export NOTI_DEFAULT="banner slack" alla tua ~/.profile file per rendere la modifica permanente. Ovviamente, modifica il file NOTI_DEFAULT tipi di notifica a ciò che si desidera utilizzare. Esci e accedi nuovamente dopo aver apportato modifiche al tuo ~/.profile file per utilizzare le nuove impostazioni.

Potrebbe piacerti anche: Cronologia Bash: come mostrare un timestamp (data / ora) quando è stato eseguito ciascun comando


Ti e piaciuto questo articolo?
Supporta il mio lavoro, facendo una donazione!

Click to comment

Leave a Reply

Esegui l'accesso per Commentare.

Di tendenza

Close Popup
Questo sito utilizza i cookie per migliorare servizi ed esperienza dei lettori. Se decidi di continuare la navigazione senza blocchi premi su Accetto, oppure continua tranquillamente la navigazione, nessun dato sulla tua navigazione verrà raccolto.
Close Popup
Privacy Settings saved!
Impostazioni

Quando visiti un sito Web, esso può archiviare o recuperare informazioni sul tuo browser, principalmente sotto forma di cookies. Controlla qui i tuoi servizi di cookie personali.

Questi cookie sono necessari per il funzionamento del sito Web e non possono essere disattivati nei nostri sistemi.

Cookie tecnici
Per utilizzare questo sito web usiamo i seguenti cookie tecnici necessari:
  • wordpress_test_cookie
  • wordpress_logged_in_
  • wordpress_sec
  • swpm_session

Google Adsense
Usiamo la pubblicità di Google solo per mantenere attivi i nostro sito. Con ip anonimizzati.

Rifiuta tutti i Servizi
Save
Accetta tutti i Servizi