定義された時間(例:30分)後にコンピューターをロックするUbuntu用のアプリケーションはありますか?子供たちが漫画を見る時間を制限するために必要です。例えば。 30分間視聴した後、親がロックを解除する必要があるPCロック。
Eyes Relaxアプリを使用したWindowsの場合、黒い画面と緑色の進行状況バー(PCのロックを解除するための残り時間)が表示され、ロックを上書きするにはパスワードが必要です。
multi-timer
と呼ばれる非常に優れたプログラムが作成されました。 異なるアラームを同時に設定するためのタイマー
これを行うサードパーティアプリケーションがありますが、独自のアプリケーションを作成できます。手順の概要:
lock-screen-timer
を作成しますlock-screen-timer
に貼り付けますlock-screen-timer
を実行可能としてマークするEdit 1(2016年11月19日):最終バージョン。メッセージとサウンドを使用して、15、10、5、3、2、および1分のロック警告が差し迫っています。 zenityを使用して分数を取得します(デフォルトは30)。
編集2(2016年11月20日):以前のスリープスクリプトを強制終了するためのコード変更。
Edit 3(2017年1月20日):以前のスクリプトコードの強制終了を修正します。以前のバージョンがすでに実行されていて終了した場合は、情報メッセージを追加します。
Edit 4(2017年2月4日):デスクトップアイコンを再クリックせずに、複数のカウントダウンをループで実行します。すなわち、洗濯の夜-すすぎサイクル(布地柔軟剤)に16分、乾燥機に13分、乾燥機から58分。
編集5(2017年2月11日):/tmp/lock-screen-timer-remaining
に残りの時間を書き込みます。これにより、他のプログラムは画面がロックされるまでの時間を表示できます。
Edit 6(2017年8月7日):/tmp/
ワークファイルを~/.
に変更して、ネットワーク上の複数のユーザーをサポートします。
編集:スクリプトはリマインダーサウンドを再生するためにogg123に依存していることに注意してください。このプログラムは、ユニバースリポジトリのvorbis-toolパッケージの一部です。ここに示されているスクリプトは、 hotplugtvスクリプトはここにあります
Edit 8(2017年11月12日):WSL(Linux用Windows 10サブシステム)サポートを追加します。 WSLでLinux GUIを使用するには、VcXsrv
とubuntu-desktop
またはxubuntu-desktop
(推奨)を追加する必要があることに注意してください。 Windows 10システムトレイ/通知領域の残り時間表示には、Linuxでのindicator-sysmonitor
の機能を補完する必要があります。将来のpowershell.exe
スクリプトは、Windows 10通知領域サポート用に計画されています。
Edit 9(2018年2月19日):回転するピザ "|、/、─、\"シーケンスから\
が欠落しているアニメーションを修正。
lock-screen-timer
を作成しますを使用してTerminal
を開きます Ctrl+Alt+T そしてタイプ:
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
を含むディレクトリに移動します。一度左クリックして、フォーカスを合わせます。 「ファイル編集...」メニューが表示されるまでマウスをトップメニューバーに合わせ、以下を使用します:
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はアプリケーションインジケーターとしてsystrayに表示できますか? )。
Mkahawa のようなものを使用することもできます。これは、インターネットカフェの管理に使用されます。