GNU/Linux >> Tutoriels Linux >  >> Linux

Recevez des notifications sur votre bureau ou votre téléphone lors d'une longue commande avec Noti. terminé

Vous avez toujours voulu être averti lorsqu'un processus / une commande de longue durée était terminé, non seulement sur votre bureau mais également sur votre téléphone ? Noti peut le faire.

note est un outil de ligne de commande pour macOS, Linux et Microsoft Windows qui surveille un processus/une commande et déclenche une notification sur votre bureau ou votre téléphone lorsque l'exécution est terminée.

Notifications prises en charge :

  • Notifications de bureau (bannières)
  • discours
  • BearyChat
  • Base de clés
  • Le plus important
  • Pushbulle
  • Pouvoir
  • Pushsafer
  • Appui simple
  • Détendu
  • télégramme
  • Zulip
  • Twilio

Toutes ces notifications prises en charge fonctionnent sur macOS, Linux et Windows.

Il convient de noter que si vous souhaitez simplement recevoir une notification sur le bureau lorsqu'une longue commande est terminée sous Linux, vous pouvez simplement exécuter command; notify-send Done (par exemple sleep 3; notify-send Done ).

Par défaut, Noti n'affiche que le texte "Terminé !" lors de l'exécution d'une tâche de longue durée, cela peut être prolongé. Vous pouvez spécifier le titre de la notification (la valeur par défaut est le nom de l'utilitaire), spécifier la notification (la valeur par défaut est "Terminé !" ; Lire à partir de stdin avec - ) et afficher l'heure d'exécution dans la notification.

Vous pouvez utiliser noti au début d'une commande, par exemple :

noti sleep 3

Et après une commande, par exemple :

sleep 3; noti

Vous pouvez même utiliser Noti après le démarrage d'une commande en obtenant le PID du processus, puis en utilisant la commande suivante :

noti --pwatch PID

Ou en appuyant sur Ctrl + z après le démarrage d'un processus, mettez-le temporairement en pause, puis continuez avec :

fg; noti

Pour plus d'informations sur Noti, y compris la configuration des notifications Noti avec divers services, les variables d'environnement Noti, etc., consultez cette page. Cependant, en le testant, j'ai remarqué que cette page est un peu obsolète. Par exemple, Slack n'autorise plus la création d'anciens jetons de testeur. Vous pouvez donc également consulter la page de manuel Noti à partir d'ici, et l'homme noti.yaml à partir d'ici.

Lisez la suite pour savoir comment installer et configurer Noti, y compris un guide complet sur la façon de configurer Noti pour notifier sur votre appareil mobile via Telegram et Slack lorsqu'une commande de longue durée est terminée.

Vous pourriez également aimer ceci :Comment répéter une commande toutes les X secondes sous Linux

Noti. installer et configurer

Le guide d'installation Noti lié via le bouton ci-dessus contient plusieurs options pour installer cet outil. Si vous souhaitez obtenir le binaire directement, rendez-vous simplement sur la page de publication de l'outil GitHub.

Le moyen le plus simple d'installer Noti sur Linux est de télécharger le binaire à partir de la page de publication, d'extraire l'archive, puis d'installer ce noti binaire en /usr/local/bin en utilisant (en supposant que vous avez décompressé l'archive binaire Noti dans votre dossier personnel et ouvert le terminal dans votre répertoire personnel) :

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

Par défaut, Noti utilise les notifications de bureau (bannières). Ci-dessous, je vais vous montrer comment configurer Noti pour envoyer des notifications lorsqu'un processus de longue durée est terminé sur votre appareil mobile via Slack et Telegram, car c'est ce que j'utilise. Si vous souhaitez l'utiliser avec un autre service, vous devrez le configurer vous-même à l'aide des instructions (bien qu'un peu incomplètes et dans certains cas obsolètes à mon avis, par exemple, vous ne pouvez plus créer de jetons Slack et vous devrez utiliser un Application Slack) à partir d'ici.

Vous pourriez également aimer ceci :Bit est une CLI Git moderne avec une invite interactive

Configurer Noti pour qu'il vous avertisse lorsqu'une longue commande a été exécutée en envoyant un message sur Telegram

Vous avez besoin d'un télégramme pour que Noti vous envoie des messages de télégramme lorsqu'une longue commande a été exécutée chatId et token . Cela fonctionne avec un chat Telegram ou un canal. Dans mes instructions ci-dessous, nous utilisons un canal de télégramme.

1. Créez un canal de télégramme.

La première chose que vous devez faire est de créer un canal de télégramme. Il peut avoir n'importe quel nom et description.

2. Créez un bot Telegram et obtenez le jeton d'accès à l'API HTTP.

Ensuite, vous devez utiliser le père du bot (@botfather) pour créer un bot et obtenir un jeton d'accès à l'API HTTP.

Pour ce faire, démarrez une conversation avec @botfather et entrez /start dans le chat pour voir les commandes disponibles, etc. Donnez maintenant /newbot pour créer un nouveau bot et suivez les instructions (vous devez définir un nom et un nom d'utilisateur pour votre nouveau bot). Lorsque vous avez terminé, @botfather affichera un jeton pour accéder à l'API HTTP. Copiez ce jeton car nous en aurons besoin plus tard.

3. Ajoutez le bot Telegram créé à l'étape 2 à votre chaîne et obtenez le chatId .

Nous avons maintenant un jeton, mais nous devons également obtenir le chatId.

Ajoutez le bot que vous avez créé à l'étape 2 à votre nouvelle chaîne Telegram (allez sur la chaîne et sélectionnez parmi les options Add users et recherchez le bot que vous avez créé).

Après avoir ajouté le bot, saisissez un message sur votre chaîne Telegram. Ceci est important et nécessaire pour le chatId .

Vous pouvez maintenant chatId en visitant le lien suivant que vous devez modifier :

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

Remplacez XXX:YYYYY avec le jeton d'API HTTP de votre bot que vous avez reçu à l'étape 2.

Ce lien affiche un certain nombre de textes, sous lesquels vous trouverez les éléments suivants :

chat":{"id":-100999999999}

L'ID d'ici est le vôtre chatId que vous devez utiliser avec Noti. Ce - Le caractère au début du nombre fait partie du chatId alors assurez-vous de l'utiliser également et pas seulement les chiffres.

4. Créez le fichier de configuration Noti (si vous ne l'avez pas encore créé) et ajoutez Telegram.

Maintenant que nous connaissons le télégramme chatId et API HTTP token , créez le fichier de configuration Noti nommé noti.yaml en ~/.config/noti/

Ouvrez ce fichier avec un éditeur de texte et collez ce qui suit :

telegram:
  token: THE_HTTP_API_TOKEN_GOT_UNDER_STEP_2
  chatId: 'THE_CHAT_ID_GOT_UNDER_STEP_3'

Exemple (modifié pour ne pas inclure mon vrai token et chatId ):

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

Testez que Noti envoie un message de télégramme lorsqu'une longue commande a été exécutée en utilisant :

sleep 3; noti --telegram

Ne vous inquiétez pas, vous n'avez pas besoin d'ajouter le paramètre de ligne de commande -telegram à chaque fois que vous utilisez Noti. Vous pouvez exporter NOTI_DEFAULT avec une liste de types de notification à déclencher, par ex. B. pour utiliser les notifications de bannières de bureau et les notifications de télégrammes, vous devez exporter NOTI_DEFAULT="banner telegram" .

Ajouter à export NOTI_DEFAULT="banner telegram" à votre ~/.profile Fichier pour rendre le changement permanent. Modifiez cela, bien sûr NOTI_DEFAULT Types de notification sur ce que vous souhaitez utiliser. Déconnectez-vous et reconnectez-vous après avoir apporté des modifications à votre. ont fait ~/.profile Fichier pour utiliser les nouveaux paramètres.

Cela pourrait également vous intéresser :comment rechercher des fichiers qui ont été modifiés au cours des N derniers jours ou minutes à l'aide de la fonction de recherche

Configurez Noti pour qu'il vous avertisse lorsqu'une commande de longue durée a été exécutée en envoyant un message sur Slack

La page de documentation Noti mentionne la création d'un jeton OAuth pour les tests et le développement, mais cela n'est plus pris en charge par Slack. Au lieu de cela, nous devons créer une application Slack.

1. Connectez-vous à Slack avec un navigateur Web.

2. Créez une application Slack.

Accédez à https://api.slack.com/apps/new et créez une nouvelle application Slack avec n'importe quel nom.

3. Activer les Webhooks entrants.

Après avoir créé une application Slack, vous serez redirigé vers la page des paramètres de votre nouvelle application. Ci-joint Basic Information sélectionné dans la barre latérale gauche), développez le Add features and functionality Section, puis cliquez sur Incoming Webhooks . Allumez l'interrupteur à côté d'ici Activate Incoming Webhooks .

4. Créez un webhook entrant.

Au bas du Incoming Webhooks Côté, cliquez sur Add New Webhook to Workspace , et sélectionnez une chaîne ou vous-même (ce dernier sous Direct Messages ). Vous recevrez la notification ici. J'ai sélectionné mon nom d'utilisateur ici.

[[Modifier]] Les étapes de création d'une application Slack et d'un webhook entrant sont également décrites dans la documentation de l'API Slack.

Après avoir créé un webhook entrant, vous serez redirigé vers le Incoming Webhooks Page. Au bas de cette page, vous devriez voir le Webhook URL . Copiez cette URL.

5. Créez le fichier de configuration Noti (si vous ne l'avez pas déjà créé) et ajoutez-y Slack.

Maintenant que nous avons l'url du webhook Slack, créez le fichier de configuration noti nommé noti.yaml en ~/.config/noti/

Ouvrez ce fichier avec un éditeur de texte et collez ce qui suit :

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

Remplacez ici appurl Valeur avec l'URL du webhook Slack que vous avez obtenue à l'étape 4 et enregistrez le fichier.

Testez pour voir si Noti envoie une notification Slack lorsqu'une commande de longue durée a été exécutée en utilisant :

sleep 3; noti --slack

Voici comment toujours utiliser Slack pour envoyer des notifications lorsque vous tapez noti (vous n'avez donc pas à taper noti --slack chaque fois que vous souhaitez être notifié sur Slack) vous pouvez exporter NOTI_DEFAULT avec une liste de types de notification à déclencher, par ex. Par exemple, pour utiliser les notifications de bannière de bureau et les notifications Slack, vous devez exporter NOTI_DEFAULT="banner slack" .

Ajouter à export NOTI_DEFAULT="banner slack" à votre ~/.profile Fichier pour rendre le changement permanent. Modifiez cela, bien sûr NOTI_DEFAULT Types de notification sur ce que vous souhaitez utiliser. Déconnectez-vous et reconnectez-vous après avoir apporté des modifications à votre. ont fait ~/.profile Fichier pour utiliser les nouveaux paramètres.

Vous aimerez peut-être aussi ceci :Historique de Bash :Voici comment afficher un horodatage (date/heure) lorsque chaque commande a été exécutée


Linux
  1. Archivez des fichiers sur votre bureau Linux avec Ark pour KDE

  2. Améliorez votre productivité avec ce bureau Linux léger

  3. Comment étendre les fonctionnalités de votre bureau Linux avec PlexyDesk

  4. PB for Desktop - Recevez des fichiers et des notifications sur votre bureau

  5. Scrcpy - Miroir et contrôlez votre téléphone Android à partir du bureau Ubuntu

Comment naviguer sur votre bureau GNOME Linux avec seulement un clavier

Créez un wiki sur votre bureau Linux avec Zim

Réinitialiser Linux Desktop aux paramètres par défaut avec une seule commande

Travailler avec Microsoft Exchange à partir de votre bureau Linux

10 façons de personnaliser votre bureau Linux avec l'outil GNOME Tweaks

Mettez une minuterie sur vos commandes en cours d'exécution avec la commande Timeout sous Linux