設定した時間が経過すると画面をロックするbashスクリプトがあります( buntuで設定した時間が経過すると画面をロックするアプリケーション )。 Ubuntuのシステムトレイ/アプリケーションインジケータバーに残り時間を表示したいと思います。
私が見つけた最良の方法は、この記事のSystem Monitor Indicatorです。 webupd8.org-bashを表示するUbuntuアプリケーションインジケーター 。 Unityシステムトレイ/アプリケーションインジケータバーに、bashスクリプトが「echos」であることを示すテキストを表示します。
上記の記事は、Unityを使用したUbuntu 16.04を対象としています。 Xubuntu、Gnome-Shell + app-indicator extension、およびBudgieの詳細については、Developers Webサイトにアクセスしてください: fossfreedom/indicator-sysmonitor 。さらに詳細なインストールおよび構成の手順については、サイトをご覧ください。
indicator-sysmonitor
のインストールと構成System Monitor Indicatorをインストールするには、最初にindicator-sysmonitor
が見つかるPPAを指定する必要があります。
Sudo add-apt-repository ppa:fossfreedom/indicator-sysmonitor
Sudo apt-get update
Sudo apt-get install indicator-sysmonitor
次に、Dashから「indicator-sysmonitor」GUIを実行します(Alt+F2)。
custom
と入力しますBash Indicator
_と入力します。[コマンド]フィールドにbashスクリプトの名前、つまり/mnt/e/bin/indicator-sysmonitor-display
と入力しますcustom
行を強調表示して、 Add それをアクティブにするボタン。2
秒から.3
秒に変更しました。 「ピザの回転」をサポートするには、以下で説明します。この.gif
は、UbuntuのUnityシステムトレイが更新されたときの外観を示しています。
multi-timer
(以下のリンク)が開始され、複数のタイマーをステップスルーします。注:システムモニターインジケータにも「明るさ:3000」と表示されます。これは、Intelバックライトハードウェアの輝度レベルの昼間の設定です(以下のリンク)。
次のようなスクリプトを作成し、Sysmonitor Indicatorの変数{Custom}
に割り当てます。
#!/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 Indicator{Custom}
変数を設定してbashスクリプトの名前を通知した後、更新間隔ごとに実行されます。 echo
コマンドを介してbashスクリプトが出力するものはすべて、Ubuntuのシステムトレイに表示されます。
注:スクリプトは、残り時間およびディスプレイ輝度レベル値。これらの値は、Ubuntuに記載されているスクリプトによって設定されます: buntuの設定時間後に画面をロックするアプリケーション 、 異なるアラームを同時に設定するためのタイマー および 日の出と日の入りに基づいてディスプレイの輝度を自動的に調整 。
text-spinner
BASHスクリプトtext-spinner
bashスクリプトは、文字|
、/
、─
、および\
を循環させることにより、回転するピザ効果を作成します。この効果は、何かが「働いている」または「考えている」という事実を強調しています。 「スピニング効果」を得るには、Sysmonitor Indicator更新間隔をデフォルトの2
秒から約0.30
秒に変更します。
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