J'ai un script bash qui verrouille l'écran après un laps de temps défini ( Application qui verrouille l'écran après un certain temps pour Ubunt ). J'aimerais afficher le temps restant dans la barre d'état système/barre d'application d'Ubuntu.
La meilleure méthode que j'ai trouvée est Indicateur du Moniteur système de cet article: webupd8.org - Indicateur d'application Ubuntu qui affiche bash . Il affiche le texte sur la barre d'indicateur d'application de la barre d'état système/Unity que votre script bash "echos".
L'article ci-dessus est destiné à Ubuntu 16.04 avec Unity. Pour plus d'informations sur Xubuntu, l'extension de l'indicateur d'application Gnome-Shell + et Budgie, visitez le site Web des développeurs: fossfreedom/indicateur-sysmonitor . Visitez également le site pour des instructions plus détaillées sur l’installation et la configuration.
indicator-sysmonitor
Pour installer Indicateur du Moniteur système , vous devez d'abord spécifier le PPA où indicator-sysmonitor
peut être trouvé:
Sudo add-apt-repository ppa:fossfreedom/indicator-sysmonitor
Sudo apt-get update
Sudo apt-get install indicator-sysmonitor
Maintenant, lancez l’interface graphique "indicateur-sysmonitor" de Dash (Alt+F2).
custom
Bash Indicator
_ Dans la zone Commande, tapez le nom de votre script bash, c.-à-d. /mnt/e/bin/indicator-sysmonitor-display
.custom
et cliquez sur le bouton Add bouton pour l'activer.2
secondes à .3
seconde. Pour soutenir "la pizza qui tourne" expliqué ci-dessous.Ce .gif
montre son apparence lorsque la barre système Unity d’Ubuntu est mise à jour.
multi-timer
(lien ci-dessous) est démarré et passe par plusieurs minuteries.REMARQUE: L'indicateur de surveillance du système affiche également "Luminosité: 3000". C'est le réglage de jour pour le niveau de luminosité de mon matériel Intel Backlight (lien ci-dessous).
Créez un script similaire au suivant et affectez-le à la variable {Custom}
dans Indicateur Sysmonitor :
#!/bin/bash
# UPDT: May 30 2018 - Cohesion with new multi-timer and old lock-screen-timer.
if [ -f ~/.lock-screen-timer-remaining ]; then
text-spinner
Spinner=$(cat ~/.last-text-spinner) # read last text spinner used
String=$(cat ~/.lock-screen-timer-remaining)
systray="$Spinner $String"
else
systray=""
fi
if [ -f /tmp/display-current-brightness ]; then
Brightness=$(cat /tmp/display-current-brightness)
systray="$systray Brightness: $Brightness"
else
systray="$systray Brightness: OFF"
fi
# Below for AU answer: https://askubuntu.com/questions/1024866/is-it-possible-to-show-ip-address-on-top-bar-near-the-time
# default_interface=$(route -n | awk '$1 == "0.0.0.0" {print $8; exit}')
# ip_address=$(ifconfig "$default_interface" | awk 'sub(/.* inet addr:/, "") {print $1}')
# systray="$systray $ip_address"
echo "$systray" # sysmon-indidicator will put echo string into systray for us.
exit 0
Après avoir dit Indicateur Sysmonitor le nom de votre script bash en définissant la variable {Custom}
, il exécute chaque intervalle d'actualisation. . Quel que soit le résultat de votre script bash via la commande echo
, il apparaît dans la barre d'état système d'Ubuntu.
REMARQUE: Le script affiche le temps restant et le niveau de luminosité de l'affichage valeurs. Ces valeurs sont définies par les scripts décrits dans Ask Ubuntu : Application qui verrouille l'écran au bout d'un temps défini pour Ubunt , ne minuterie pour configurer différentes alarmes simultanément et Ajuste automatiquement la luminosité de l'écran en fonction du lever et du coucher du soleil .
text-spinner
BASH scriptLe script text-spinner
bash crée un effet de pizza qui tourne en faisant défiler les caractères |
, /
, ─
et \
. Cet effet met en évidence le fait que quelque chose "travaille" ou "pense". Pour obtenir "l'effet de rotation", vous souhaitez modifier l'intervalle d'actualisation de Sysmonitor à partir de la valeur par défaut 2
secondes par environ 0.30
secondes.
Voici le script text-spinner
bash:
#!/bin/bash
# return '|', '/', '─', '\' sequentially with each call to this script.
# Use ~/.last-text-spinner to store last used
FILE=~/.last-text-spinner
if ! [ -f $FILE ]; then
echo '|' > $FILE
exit 124 # ASCII equivalent for '|'. Bash doesn't allow character return codes
fi
LAST=$(cat $FILE) # read last character used
if [[ $LAST == '|' ]]; then
echo '/' > $FILE
exit 47 # ASCII equivalent of "/"
Elif [[ $LAST == '/' ]]; then # NOTE: you must have spaces around " == " else code breaks
echo '─' > $FILE
exit 9472 # ASCII equivalent
Elif [[ $LAST == '─' ]]; then
echo '\' > $FILE # NOTE: must use single quote because double quote BASH reinterprets
exit 92 # ASCII
else
echo '|' > $FILE
exit 124 # ASCII
fi