GNU/Linux >> Tutoriales Linux >  >> Linux

Reciba notificaciones en su escritorio o teléfono cuando un comando largo con Noti. terminó

¿Alguna vez quiso recibir una notificación cuando finalizó un proceso/comando de larga ejecución, no solo en su escritorio sino también en su teléfono? Noti puede hacer eso.

note es una herramienta de línea de comandos para macOS, Linux y Microsoft Windows que supervisa un proceso/comando y activa una notificación en su escritorio o teléfono cuando finaliza la ejecución.

Notificaciones admitidas:

  • Notificaciones de escritorio (banners)
  • discurso
  • BearyChat
  • Base de claves
  • Mattermost
  • Empujador
  • Empujador
  • Empuje más seguro
  • Pulsación única
  • Relajado
  • telegrama
  • Zulip
  • Twilio

Todas estas notificaciones compatibles funcionan en macOS, Linux y Windows.

Vale la pena señalar que si solo desea recibir una notificación en el escritorio cuando finalice un comando de ejecución prolongada en Linux, puede ejecutar command; notify-send Done (por ejemplo, sleep 3; notify-send Done ).

De forma predeterminada, Noti solo muestra el texto "¡Listo!" al completar una tarea de larga duración, esto se puede extender. Puede especificar el título de la notificación (el valor predeterminado es el nombre de la utilidad), especificar la notificación (el valor predeterminado es "¡Listo!"; Leer desde stdin con - ) y mostrar el tiempo de ejecución en la notificación.

Puede usar noti al comienzo de un comando, por ejemplo:

noti sleep 3

Y después de un comando, por ejemplo:

sleep 3; noti

Incluso puede usar Noti después de que un comando ya se haya iniciado obteniendo el PID del proceso y luego usando el siguiente comando:

noti --pwatch PID

O presionando Ctrl + z después de que un proceso ha comenzado para pausarlo temporalmente y luego continuar con:

fg; noti

Para obtener más información sobre Noti, incluida la configuración de notificaciones de Noti con varios servicios, variables de entorno de Noti, etc., consulte esta página. Sin embargo, mientras lo probaba, noté que esta página está un poco desactualizada. Por ejemplo, Slack ya no permite la creación de tokens de probadores heredados. Así que también puedes echar un vistazo a la página de manual de Noti desde aquí, y a noti.yaml man desde aquí.

Siga leyendo para aprender a instalar y configurar Noti, incluida una guía completa sobre cómo configurar Noti para que notifique en su dispositivo móvil a través de Telegram y Slack cuando finalice un comando de ejecución prolongada.

También te puede interesar esto:Cómo repetir un comando cada X segundos en Linux

Nota. instalar y configurar

La guía de instalación de Noti vinculada a través del botón de arriba contiene varias opciones para instalar esta herramienta. Si desea obtener el binario directamente, simplemente vaya a la página de publicación de la herramienta GitHub.

La forma más fácil de instalar Noti en Linux es descargar el binario de la página de lanzamiento, extraer el archivo y luego instalar ese noti binario a /usr/local/bin usando (suponiendo que haya descomprimido el archivo binario de Noti en su carpeta de inicio y abierto la terminal en su directorio de inicio):

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

Por defecto, Noti usa notificaciones de escritorio (banners). A continuación, le mostraré cómo configurar Noti para enviar notificaciones cuando se complete un proceso de ejecución prolongada en su dispositivo móvil a través de Slack y Telegram, ya que esto es lo que uso. Si desea usarlo con cualquier otro servicio, deberá configurarlo usted mismo siguiendo las instrucciones (aunque algo incompletas y en algunos casos desactualizadas en mi opinión, por ejemplo, ya no puede crear tokens de Slack y tendrá que usar un Slack App) desde aquí.

También te puede gustar esto:Bit es una CLI de Git moderna con un aviso interactivo

Configure Noti para que le notifique cuando se haya ejecutado un comando largo mediante el envío de un mensaje en Telegram

Necesitas un telegrama para que Noti te envíe mensajes de telegrama cuando se haya ejecutado un comando largo chatId y token . Esto funciona con un chat de Telegram o un canal. En mis instrucciones a continuación, usamos un canal de Telegram.

1. Crea un canal de Telegram.

Lo primero que debes hacer es crear un canal de Telegram. Puede tener cualquier nombre y descripción.

2. Cree un bot de Telegram y obtenga el token de acceso a la API HTTP.

A continuación, debe usar Bot father (@botfather) para crear un bot y obtener un token de acceso a la API HTTP.

Para hacer esto, inicie un chat con @botfather e ingrese /start en el chat para ver los comandos disponibles, etc. Ahora da /newbot para crear un nuevo bot y siga las instrucciones (debe establecer un nombre y un nombre de usuario para su nuevo bot). Cuando haya terminado, @botfather mostrará un token para acceder a la API HTTP. Copie este token ya que lo necesitaremos más adelante.

3. Agrega el bot de Telegram creado en el paso 2 a tu canal y obtén el chatId .

Ahora tenemos un token, pero también necesitamos obtener el chatId.

Agrega el bot que creaste en el paso 2 a tu nuevo canal de Telegram (ve al canal y selecciona entre las opciones Add users y busca el bot que creaste).

Después de agregar el bot, ingrese un mensaje en su canal de Telegram. Esto es importante y necesario para el chatId .

Ahora puedes chatId visitando el siguiente enlace que necesita editar:

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

Sustituir XXX:YYYYY con el token de API HTTP de su bot que recibió en el paso 2.

Este enlace muestra una serie de textos, debajo de los cuales encontrará lo siguiente:

chat":{"id":-100999999999}

El ID de aquí es tuyo chatId que necesitas usar con Noti. Ese - El carácter al comienzo del número es parte del chatId así que asegúrese de usar esto también y no solo los números.

4. Cree el archivo de configuración de Noti (si aún no lo ha creado) y agregue Telegram.

Ahora que conocemos el telegrama chatId y API HTTP token , cree el archivo de configuración de Noti llamado noti.yaml en ~/.config/noti/

Abra este archivo con un editor de texto y pegue lo siguiente:

telegram:
  token: THE_HTTP_API_TOKEN_GOT_UNDER_STEP_2
  chatId: 'THE_CHAT_ID_GOT_UNDER_STEP_3'

Ejemplo (editado para no incluir el mío real token y chatId ):

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

Pruebe que Noti envía un mensaje de telegrama cuando se ha ejecutado un comando largo usando:

sleep 3; noti --telegram

No se preocupe, no tiene que agregar el parámetro de línea de comando –telegram cada vez que use Noti. Puede exportar NOTI_DEFAULT con una lista de tipos de notificaciones que se activarán, p. B. para usar notificaciones de banner de escritorio y notificaciones de Telegram, tendría que exportar NOTI_DEFAULT="banner telegram" .

Agregar a export NOTI_DEFAULT="banner telegram" a tu ~/.profile Archivo para hacer el cambio permanente. Edita eso, por supuesto NOTI_DEFAULT Tipos de notificaciones sobre lo que quieres usar. Cierre sesión y vuelva a iniciar sesión después de realizar cambios en su. han hecho ~/.profile Archivo para usar la nueva configuración.

También te puede interesar:Cómo encontrar archivos que han cambiado en los últimos N días o minutos usando find

Configure Noti para que le notifique cuando se ejecute un comando de ejecución prolongada enviando un mensaje en Slack

La página de documentación de Noti menciona la creación de un token OAuth para pruebas y desarrollo, pero Slack ya no lo admite. En su lugar, debemos crear una aplicación de Slack.

1. Inicia sesión en Slack con un navegador web.

2. Crea una aplicación de Slack.

Vaya a https://api.slack.com/apps/new y cree una nueva aplicación de Slack con cualquier nombre.

3. Habilitar webhooks entrantes.

Una vez que haya creado una aplicación de Slack, accederá a la página de configuración de su nueva aplicación. Adjunto Basic Information seleccionado en la barra lateral izquierda), expanda el Add features and functionality Sección, luego haga clic en Incoming Webhooks . Encienda el interruptor al lado de aquí Activate Incoming Webhooks .

4. Cree un webhook de entrada.

En la parte inferior del Incoming Webhooks Lateral, haz clic en Add New Webhook to Workspace y seleccione un canal o usted mismo (este último en Direct Messages ). Recibirás la notificación aquí. He seleccionado mi nombre de usuario aquí.

[[Editar]] Los pasos para crear una aplicación de Slack y un webhook de entrada también se describen en la documentación de la API de Slack.

Una vez que haya creado un webhook entrante, se le enviará al Incoming Webhooks Página. En la parte inferior de esta página, debería ver el Webhook URL . Copia esta URL.

5. Cree el archivo de configuración de Noti (si aún no lo ha creado) y agréguele Slack.

Ahora que tenemos la URL del webhook de Slack, cree el archivo de configuración noti llamado noti.yaml en ~/.config/noti/

Abra este archivo con un editor de texto y pegue lo siguiente:

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

Reemplace aquí appurl Valora con la URL del webhook de Slack que obtuviste en el paso 4 y guarda el archivo.

Pruebe para ver si Noti envía una notificación de Slack cuando se ejecuta un comando de ejecución prolongada usando:

sleep 3; noti --slack

Te mostramos cómo usar siempre Slack para enviar notificaciones mientras escribes noti (para que no tengas que escribir noti --slack cada vez que desee recibir una notificación en Slack) puede exportar NOTI_DEFAULT con una lista de tipos de notificaciones que se activarán, p. Por ejemplo, para usar notificaciones de banner de escritorio y notificaciones de Slack, debe exportar NOTI_DEFAULT="banner slack" .

Añadir a export NOTI_DEFAULT="banner slack" a tu ~/.profile Archivo para hacer el cambio permanente. Edita eso, por supuesto NOTI_DEFAULT Tipos de notificaciones sobre lo que quieres usar. Cierre sesión y vuelva a iniciar sesión después de realizar cambios en su. han hecho ~/.profile Archivo para usar la nueva configuración.

También te puede gustar esto:Historial de Bash:aquí se muestra cómo mostrar una marca de tiempo (fecha/hora) cuando se ejecutó cada comando


Linux
  1. Archive archivos en su escritorio Linux con Ark para KDE

  2. Mejore su productividad con este ligero escritorio Linux

  3. Cómo ampliar la funcionalidad de su escritorio Linux con PlexyDesk

  4. PB for Desktop:reciba archivos y notificaciones en su escritorio

  5. Scrcpy:duplica y controla tu teléfono Android desde el escritorio de Ubuntu

Cómo navegar por su escritorio GNOME Linux con solo un teclado

Crea una wiki en tu escritorio Linux con Zim

Restablecer el escritorio de Linux a la configuración predeterminada con un solo comando

Trabajar con Microsoft Exchange desde su escritorio Linux

10 formas de personalizar su escritorio Linux con la herramienta de ajustes de GNOME

Ponga un temporizador en sus comandos en ejecución con el comando de tiempo de espera en Linux