Bash может отобразиться в systray как индикатор приложения?

У меня есть сценарий удара, который блокирует экран после количества времени набора (Приложение, которое заблокирует экран после количества времени набора для Ubuntu). Я хотел бы отобразить время, оставаясь в Системном лотке Ubuntu / панель Индикатора приложения.

2
задан 13 April 2017 в 15:24

1 ответ

Лучший метод, который я нашел, является Индикатором Системного монитора от этой статьи: webupd8.org - индикатор приложения Ubuntu, который отображает удар. Это отображает текст на системном лотке Единицы / панель индикатора приложения что Ваш сценарий удара "echos".

Вышеупомянутая статья предназначена к Ubuntu 16.04 с Единицей. Для получения дополнительной информации о Xubuntu, Shell Gnome + расширение индикатора приложения и Волнистый попугайчик, переходят к веб-сайту Разработчиков: fossfreedom / индикатор-sysmonitor. Также посетите сайт для более подробной установки и инструкций по конфигурации.

Установите и настройте indicator-sysmonitor

Для установки Индикатора Системного монитора, необходимо сначала указать PPA где indicator-sysmonitor может быть найден:

sudo add-apt-repository ppa:fossfreedom/indicator-sysmonitor
sudo apt-get update
sudo apt-get install indicator-sysmonitor

Теперь выполните "индикатор-sysmonitor" GUI от Тире (Alt+F2).

  • Нажмите на systray область, которая появляется с "CPU: 99% мадам: 99%"
  • Выберите "Предпочтения"
  • Вкладка "General" первоначально активна, нажмите поле "Run on startup"
  • Выберите вкладку "Advanced"
  • Нажмите кнопку New для добавления нового управления
  • В Sensor поле входят custom
  • В типе поля Описания Bash Indicator _ На название типа поля Команды Вашего сценария удара, т.е. /mnt/e/bin/indicator-sysmonitor-display
  • Сохраните свой новый пользовательский индикатор
  • Выделитесь custom строка и нажимает кнопку Add для активации его.
  • Можно удалить переменные по умолчанию для "ЦП" и "Мадам", которая не могла бы быть полезна Вам.
  • Я изменил временной интервал обновления от 2 секунды к .3 второй. Поддерживать "вращающуюся пиццу", объясненную ниже.
  • Теперь нажмите кнопку Save.

Индикатор Sysmonitor в действии

Это .gif шоу, как это смотрит, когда Системный лоток Единицы Ubuntu обновляется.

multi-timer sysmonitor indicator.gif

  • В начале анимации наш вывод systray содержит "Яркость: 3000".
  • Затем multi-timer (ссылка ниже) запускается и ступает через несколько таймеров.
  • Вращающаяся пицца появляется наряду с количеством вниз остающегося времени.

Примечание: Индикатор Системного монитора также отображает "Яркость: 3000". Это - установка дневного времени для моего аппаратного уровня яркости Intel Backlight (ссылка ниже).

Сценарий Bash Индикатора Sysmonitor

Создайте сценарий, подобный следующему, и присвойте его переменной {Custom} в индикаторе 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

После сообщения Индикатора Sysmonitor название Вашего сценария удара путем установки {Custom} переменная это выполняет каждый интервал обновления. Безотносительно Ваших выводов сценария удара через echo команда появляется в Системном лотке Ubuntu.

Примечание: Сценарий отображает Время, Оставаясь и значения Уровня яркости Дисплея. Они оценивают, установлены сценариями, зарегистрированными в, Спрашивает Ubuntu: Приложение, которое заблокирует экран после количества времени набора для Ubuntu, таймер, чтобы настроить различные предупреждения simultaneosly и Автоматически скорректировать яркость дисплея на основе восхода солнца и заката соответственно.

Вращение пиццы-text-spinner Сценарий Bash

text-spinner сценарий удара создает вращающийся эффект пиццы путем циклического повторения через символы |, /, и \. Этот эффект выделяет факт, что-то "работает" или "думает". Для получения "вращающегося эффекта", Вы хотите изменить интервал обновления Индикатора Sysmonitor от значения по умолчанию 2 секунды, чтобы быть о 0.30 секунды.

Вот text-spinner сценарий удара:

#!/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
6
ответ дан 2 December 2019 в 01:43

Другие вопросы по тегам:

Похожие вопросы: