定義された時間(例えば30分)後にコンピュータをロックするUbuntu用のアプリケーションはありますか?子供が漫画を見る時間を制限するためにそれが必要です。たとえば、30分間視聴した後、親がロックを解除する必要があるPCロック。
Windowsでは、Eyes Relaxアプリを使用しました。黒い画面と緑色の進行状況バー(PCのロックを解除するまでの残り時間)が表示され、ロックを上書きするにはパスワードが必要です。
定義された時間(例えば30分)後にコンピュータをロックするUbuntu用のアプリケーションはありますか?子供が漫画を見る時間を制限するためにそれが必要です。たとえば、30分間視聴した後、親がロックを解除する必要があるPCロック。
Windowsでは、Eyes Relaxアプリを使用しました。黒い画面と緑色の進行状況バー(PCのロックを解除するまでの残り時間)が表示され、ロックを上書きするにはパスワードが必要です。
回答:
呼び出されるはるかに優れたプログラムmulti-timer
が作成されました:異なるアラームを同時にセットアップするタイマー
これを行うサードパーティアプリケーションがありますが、独自のアプリケーションを作成できます。手順の概要:
lock-screen-timer
lock-screen-timer
lock-screen-timer
実行可能ファイルとしてマーク編集1(2016年11月19日):最終版。メッセージとサウンドを使用して、残り15、10、5、3、2、および1分の差し迫ったロック警告。zenityを使用して分数を取得します(デフォルトは30)。
編集2(2016年11月20日):以前のスリープ状態のスクリプトを強制終了するようにコードを変更。
編集3(2017年1月20日):以前のスクリプトコードの強制終了を修正。以前のバージョンがすでに実行されていて終了している場合は、情報メッセージを追加します。
編集4(2017年2月4日):デスクトップアイコンを再度クリックしなくても、ループ内で複数のカウントダウンを実行します。すなわち、洗濯の夜-すすぎサイクル(布地柔軟剤)に16分、乾燥機に負荷をかける13分、乾燥機から取り出す58分。
編集5(2017年2月11日):残り分数をに書き込み
/tmp/lock-screen-timer-remaining
ます。これにより、他のプログラムは画面がロックされるまでの時間を表示できます。
編集6(2017年8月7日):ネットワーク上の複数のユーザーをサポートするように/tmp/
作業ファイルを変更~/.
します。
編集:スクリプトはogg123に依存してリマインダーサウンドを再生することに注意してください。このプログラムは、ユニバースリポジトリのvorbis-toolパッケージの一部です。ここに示すスクリプトは、ここにあるhotplugtvスクリプトも使用しようとします。
編集8(2017年11月12日): WSL(Linux用Windows 10サブシステム)サポートを追加します。WSLでLinux GUI を追加するかVcXsrv
、ubuntu-desktop
またはxubuntu-desktop
使用する必要があることに注意してください。Windows 10のシステムトレイ/通知領域の残り時間の表示にindicator-sysmonitor
は、Linuxの機能を補完する必要があります。将来のpowershell.exe
スクリプトは、Windows 10の通知領域をサポートする予定です。
編集9(2018年2月19日):\
回転するピザの「|、/、─、\」シーケンスが欠落しているアニメーションを修正しました。
lock-screen-timer
+ + をTerminal
使用して開き、次のように入力します。CtrlAltT
gedit lock-screen-timer
lock-screen-timer
この画面に戻り、次のコードを強調表示してCtrl+ を押してコピーしますC。
#!/bin/bash
# NAME: lock-screen-timer
# PATH: $HOME/bin
# DESC: Lock screen in x minutes
# CALL: Place on Desktop or call from Terminal with "lock-screen-timer 99"
# DATE: Created Nov 19, 2016. Last revision May 30, 2018.
# UPDT: Updated to support WSL (Windows Subsystem for Linux)
# Remove hotplugtv. Replace ogg with paplay.
# Cohesion with multi-timer. New sysmonitor indicator style.
# NOTE: Time defaults to 30 minutes.
# If previous version is sleeping it is killed.
# Zenity is used to pop up entry box to get number of minutes.
# If zenity is closed with X or Cancel, no screen lock timer is launched.
# Pending lock warning displayed on-screen at set intervals.
# Write time remaining to ~/.lock-screen-timer-remaining
MINUTES="$1" # Optional parameter 1 when invoked from terminal.
# if no parameters set default MINUTES to 30
if [ $# == 0 ]; then
MINUTES=30
fi
DEFAULT="$MINUTES" # When looping, minutes count down to zero. Save deafult for subsequent timers.
# Check if lock screen timer already running
pID=$(pgrep -f "${0##*/}") # All PIDs matching lock-screen-timer name
PREVIOUS=$(echo "$pID" | grep -v ^"$$") # Strip out this running copy ($$$)
if [ "$PREVIOUS" != "" ]; then
kill "$PREVIOUS"
rm ~/.lock-screen-timer-remaining
zenity --info --title="Lock screen timer already running" --text="Previous lock screen timer has been terminated."
fi
# Running under WSL (Windows Subsystem for Linux)?
if cat /proc/version | grep Microsoft; then
WSL_running=true
else
WSL_running=false
fi
while true ; do # loop until cancel
# Get number of minutes until lock from user
MINUTES=$(zenity --entry --title="Lock screen timer" --text="Set number of minutes until lock" --entry-text="$DEFAULT")
RESULT=$? # Zenity return code
if [ $RESULT != 0 ]; then
break ; # break out of timer lock screen loop and end this script.
fi
DEFAULT="$MINUTES" # Save deafult for subsequent timers.
if [[ $MINUTES == 0 ]] || [[ $MINUTES == "" ]]; then
break ; # zero minutes considered cancel.
fi
# Loop for X minutes, testing each minute for alert message.
(( ++MINUTES ))
while (( --MINUTES > 0 )); do
case $MINUTES in 1|2|3|5|10|15|30|45|60|120|480|960|1920)
notify-send --urgency=critical --icon=/usr/share/icons/gnome/256x256/status/appointment-soon.png "Locking screen in ""$MINUTES"" minute(s)." ;
if [[ $WSL_running == true ]]; then
powershell.exe -c '(New-Object Media.SoundPlayer "C:\Windows\Media\notify.wav").PlaySync();'
else
paplay /usr/share/sounds/freedesktop/stereo/complete.oga ;
fi
;;
esac;
# Record number of minutes remaining to file other processes can read.
echo "Lock screen in: $MINUTES Minutes" > ~/.lock-screen-timer-remaining
sleep 60
done
rm ~/.lock-screen-timer-remaining # Remove work file others can see our progress with
if [[ $WSL_running == true ]]; then
# Call lock screen for Windows 10
rundll32.exe user32.dll,LockWorkStation
else
# Call screen saver lock for Ubuntu versions > 14.04.
dbus-send --type=method_call --dest=org.gnome.ScreenSaver /org/gnome/ScreenSaver org.gnome.ScreenSaver.Lock
fi
done # End of while loop getting minutes to next lock screen
exit 0 # Closed dialog box or "Cancel" selected.
次に、空のgedit
ウィンドウに切り替えて、Ctrl+ を使用してコードを貼り付けますV。ファイルを保存し、エディターを終了してコマンドプロンプトに戻ります。
lock-screen-timer
実行可能ファイルとしてマーク次のように入力して、スクリプトを実行可能にする必要があります。
chmod +x lock-screen-timer
GUIからスクリプトを呼び出す前に、ターミナルからスクリプトを呼び出して、エラーメッセージが表示されているかどうかを確認します。
~/lock-screen-timer
分数の入力を求められます。
必要な分数を設定し、[OK]をクリックしてタイマーを開始します。残り時間が15、10、5、3、2、1分になると、システム音が聞こえ、画面がロックされるタイミングを知らせるメッセージが表示されます。画面がロックされたら、パスワードを入力して画面のロックを解除する必要があります。
Nautilusは、ファイル表示ウィンドウまたはデスクトップ上のリンクであるときに実行可能スクリプトをダブルクリックしたときに何が起こるかを定義します。通常の動作では、を使用してスクリプトを編集しますgedit
。この動作が実行されるように変更したいと思います。
Nautilusを起動し、を含むディレクトリに移動しlock-screen-timer
ます。それを1回左クリックしてフォーカスを与えます。「ファイル編集...」メニューが表示されるまで、トップメニューバーにマウスを合わせます。
Edit
ドロップダウンメニューをクリックしますProperties
オプションをクリックBehavior
タブをクリックExecutable Text Files
Run executable text files when they are opened
前のセクションからlock-screen-timer
はまだ焦点があります。そうでない場合は、スクリプトに移動し、スクリプトを1回左クリックしてフォーカスを当てます。次に使用します:
Make Link
。Link to lock-screen-timer
ます。デスクトップのショートカットリンクをダブルクリックすると、スクリプトが実行されます。分数を取得するためのダイアログボックスが表示されます。2つのボタンが表示さCancelれOKます。をクリックしX
てウィンドウを閉じると、を選択したのと同じことになりCancelます。
タイマーが実行された後、もう一度それをダブルクリックすると、最初に実行されたコピーが「終了」します。新しいスクリーンロックカウントダウンを開始するか、クリックCancelしてカウントダウンしないようにできます。
ロック画面タイマーの実行中、ファイルに残っている分数が記録されます~/.lock-screen-timer-remaining
。watch
コマンドでこのファイルを確認するか、この回答の上部に示すように、Ubuntuのシステムトレイ/アプリケーションインジケータバーに表示できます。通知領域に残っている時間を表示するには、このQ&Aの指示に従ってください(BASHをシステムトレイにアプリケーションインジケーターとして表示できますか?)。
~/kids-tv-timer 1
。申し訳ありませんが、前に道がありませんでした。やってみて。
sleep
、kids-tv-timer
bashスクリプトで使用されるコマンドとはまったく異なるアプローチが必要になります。毎分約10秒間続く通知バブルが「残り29分」、次に「残り28分」などと動画上にポップアップするループを作成することもできます。ただし、オーバーライドするには、ビデオを中断し、kids-tv-timer
強制終了して新しい時間割り当てで再起動します。時間切れ、ログオン、再起動はほとんど簡単kids-tv-timer
です。