web-dev-qa-db-fra.com

Comment afficher quelque chose dans unit systray à partir d'un script bash

Est-il possible d'afficher quelque chose (un avertissement, une icône persistante que je pourrais changer, n'importe quoi) dans barre d'état système dans nity? Je dois pouvoir le contrôler depuis un script bash.

Idéalement, il s'agirait d'une commande qui pourrait contrôler une zone de la barre d'état système et donner des messages sur l'état du script que j'exécute. Donc, il n’est probablement pas nécessaire que ce soit spécifique à Unity, mais simplement qu’il soit compatible.

5
Konrad Gajewski

Moniteur de système d'indicateur

indicator system monitor

La méthode la plus proche que j'ai trouvée pour satisfaire vos exigences est ( webupd8.org - un indicateur Ubuntu qui affiche bash ) qui affiche du texte dans la barre d'état de la barre des tâches/indicateurs Unity. L'exemple ci-dessus provient de deux scripts bash: multi-timer et display-auto-brightness .

Installer et configurer l'indicateur Sysmonitor

Vous devez installer _indicator-sysmonitor_ à partir de ppa:

_Sudo add-apt-repository ppa:fossfreedom/indicator-sysmonitor
Sudo apt-get update
Sudo apt-get install indicator-sysmonitor
_

Ensuite, exécutez l'interface graphique et configurez-la avec le nom du script qui met à jour la barre d'état système.

Exemples de scripts à afficher dans la barre d'état système

Voici quelques exemples tirés du lien WebUpd8 ci-dessus:

  • Affiche la fréquence actuelle du processeur pour le premier noyau:

    echo $(grep "cpu MHz" /proc/cpuinfo | head -1 | cut -d ' ' -f3 | cut -d '.' -f1) MHz

  • Vérifiez si un site Web est en place (visage souriant) ou en bas (visage triste):

    _if wget -O /dev/null webupd8.org > /dev/null; then echo "☺"; else echo "☹"; fi_

3
WinEunuuchs2Unix

Avez-vous regardé dans notify-send? Fonctionne très bien pour les messages temporaires, je pense que cela se trouve dans tous les ordinateurs de bureau Ubuntu (définitivement dans XFCE) ou devrait être disponible avec une commande rapide apt.

A des options comme:

-u, --urgency=LEVEL Specifies the urgency level (low, normal, critical).

-t, --expire-time=TIME
          Specifies the timeout in milliseconds at which to expire
          the notification.

-i, --icon=ICON[,ICON...]
          Specifies an icon filename or stock icon to display.

-c, --category=TYPE[,TYPE...]
          Specifies the notification category.

La page de manuel dit aussi:

VOIR ÉGALEMENT
La spécification de notification de bureau sur http://www.galago-project.org/specs/notification/

2
Xen2050

Jetez un oeil à alltray ; c'est peut-être votre solution.

De son site web:

Description

Avec AllTray, vous pouvez ancrer toute application sans icône de barre d'état natif (telle que Evolution, Thunderbird, Terminals) dans la barre d'état système. Une caractéristique intéressante est qu'un clic sur le bouton "fermer" minimisera le retour à la barre d'état système. Cela fonctionne bien avec Gnome, KDE, XFCE 4 *, Fluxbox * et WindowMaker *. Xmms est pris en charge en particulier.

Options

Ces programmes suivent la syntaxe habituelle de la ligne de commande GNU, avec de longues options commençant par deux tirets ('-'). Un résumé des options est inclus ci-dessous.

-h --help | Afficher le résumé des options.

-v --version | Afficher la version du programme.

-d --debug | Afficher les messages de débogage.

-s --show | Ne cache pas la fenêtre après le démarrage.

-i --icon | Utilisez une image PNG comme une icône.

-l --large_icons | autoriser les grandes icônes (> 24x24).

-st --sticky | visible sur tous les espaces de travail.

-x --borderless | Supprimez la bordure, le titre, le cadre, les décorations de Windows du parent.

-m --menu | Ajouter une entrée "texte du menu: commande" dans le menu déroulant.

-t --title | Afficher le changement de titre en secondes. Probablement le plus utile pour xmms.

-g --geometry | position initiale. voir l'homme X.

Installation (commande dans un terminal)

Sudo apt-get install alltray

À votre santé

1
Riccardo Volpe