O melhor método que encontrei é o Indicador do Monitor do Sistema deste artigo: webupd8.org - indicador de aplicativo do Ubuntu que exibe o bash . Ele exibe o texto na bandeja do sistema Unity / barra de indicadores do aplicativo que o seu script bash "echos".
O artigo acima é direcionado para o Ubuntu 16.04 com Unity. Para mais informações sobre o Xubuntu, a extensão Gnome-Shell + app-indicator, e o Budgie, acesse o site Developers: fossfreedom / indicator-sysmonitor . Visite também o site para obter instruções de instalação e configuração mais detalhadas.
Instalar e configurar indicator-sysmonitor
Para instalar o Indicador do Monitor do Sistema você precisa primeiro especificar o PPA onde indicator-sysmonitor
pode ser encontrado:
sudo add-apt-repository ppa:fossfreedom/indicator-sysmonitor
sudo apt-get update
sudo apt-get install indicator-sysmonitor
Agora, execute a GUI "indicator-sysmonitor" do Dash ( Alt + F2 ).
- Clique na área do systray que aparece com "cpu: 99% mem: 99%"
- Selecione "Preferências"
- A guia "Geral" está inicialmente ativa, clique na caixa "Executar na inicialização"
- Selecione a guia "Avançado"
- Clique no botão Novo para adicionar um novo controle
- No campo Sensor, insira
custom
- No campo Descrição, digite
Bash Indicator
_ No campo de comando digite o nome do seu script bash, ou seja,/mnt/e/bin/indicator-sysmonitor-display
- Salvar seu novo indicador personalizado
- Destaque a linha
custom
e clique no botão Adicionar para ativá-la. - Você pode remover as variáveis padrão para "CPU" e "Mem", que podem não ser úteis para você.
- Alterei o intervalo de tempo de atualização de
2
segundos para.3
segundo. Para apoiar "pizza girando" explicado abaixo. - Agora clique no botão Salvar .
Indicador Sysmonitor em ação
Este .gif
mostra como fica quando a Bandeja do sistema Unity do Ubuntu é atualizada.
- No início da animação, nossa saída do systray contém "Brilho: 3000".
- Em seguida,
multi-timer
(link abaixo) é iniciado e passa por vários temporizadores. - Uma pizza giratória aparece junto com uma contagem regressiva do tempo restante.
NOTA: O indicador do monitor do sistema também exibe "Brilho: 3000". Esta é a configuração diurna para o nível de brilho do hardware da Backlight da Intel (link abaixo).
Script BASH do Indicador Sysmonitor
Crie um script semelhante ao seguinte e atribua-o à variável {Custom}
no Sysmonitor Indicator :
#!/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://sobrelinux.info/questions/274901/is-it-possible-to-show-ip-address-on-top-bar-near-the-time"0.0.0.0" {print ; exit}')
# ip_address=$(ifconfig "$default_interface" | awk 'sub(/.* inet addr:/, "") {print }')
# systray="$systray $ip_address"
echo "$systray" # sysmon-indidicator will put echo string into systray for us.
exit 0
Depois de informar ao Sysmonitor Indicator o nome do seu script bash, definindo a variável {Custom}
, ele executa cada intervalo de atualização. Seja qual for o resultado do seu script bash via o comando echo
aparece na bandeja do sistema do Ubuntu.
OBSERVAÇÃO: O script exibe os valores Tempo restante e Exibir nível de brilho . Esses valores são definidos por scripts documentados em Ask Ubuntu : Aplicativo que irá bloquear a tela após um determinado período de tempo para o Ubuntu , Um temporizador para configurar alarmes diferentes simultaneamente e Ajustar automaticamente o brilho da tela com base no nascer e pôr do sol , respectivamente.
Pizza giratória - text-spinner
script BASH
O script text-spinner
bash cria um efeito de pizza girando percorrendo os caracteres |
, /
, ─
e \
. Este efeito destaca o fato de que algo está "trabalhando" ou "pensando". Para obter o "efeito de rotação", você deseja alterar o intervalo de atualização Indicador Sysmonitor do padrão 2
segundos para cerca de 0.30
segundos.
Aqui está o 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