چند تا ترفند و اسکریپت در مورد زمان درست کردم که ممکنه به دردمون بخوره
اولی ساعت رو به همراه میزان زمانی که کامپیوتر روشن بوده بوسیله notify-osd
اعلام میکنه. به درد مواقعی میخوره که شما در حالت فول اسکرین یک برنامه هستید و به ساعت دسترسی ندارید، با یه شورتکات میتونید این اسکریپت رو اجرا کنید. همچنین میتونید به cron
بدید تا مثلا سر هر ساعت یه نوتیفیکیشن بیاد و ساعت رو به شما اعلام کنه!
/usr/bin/notify-send -u critical -i "clock" "Clock" "Its $(date +%H:%M) now. Uptime: $(uptime | sed 's/.*up \([^,]*\), .*/\1/')" && paplay -q /usr/share/sounds/freedesktop/stereo/message-new-instant.oga
دستور play
مال بسته sox
هست. اگر اون رو ندارید و نمیخواید نصب کنید میتونید به جای دستور play
از mplayer
یا cvlc
یا canberra-gtk-play
یا چیزای دیگه هم استفاده کنید. و فایل صدا رو هم به دلخواه خودتون تعیین کنید.
اسکریپت بعدی که توی اینترنت پیداش کردم و با notify-osd ترکیبش کردم بوسیله zenity
یه تایمی از شما میگیره و بعد از اون تایم به شما یه نوتیفیکیشن میده. یعنی یه تایمر بسیار ساده.
#!/bin/bash
# This script asks the user for a time, waits the specified amount of time, and shows an alert dialog.
TIME=$(zenity --entry --title="Timer" --text="Enter a duration for the timer.\n\n Examples: 5s or 5m or 5h")
sleep $TIME
/usr/bin/notify-send -u critical -i "clock" "Ding Ding!" "It has been $TIME. " && paplay /usr/share/sounds/freedesktop/stereo/alarm-clock-elapsed.oga
تقویم های فارسی ای وجود دارند که ممکنه به سلیقه هر کسی خوش نیان. یا اینکه ممکنه فقط نیاز داشته باشید بدونید امروز چندمه! با یه اسکریپت ساده notify-osd میتونیم اینجوری تقویم رو داشته باشیم
قبلش باید jdate
رو نصب کنید و بعد با این دستور میتونید این نوتیفیکیشن رو داشته باشید:
/usr/bin/notify-send -u critical -i "date" "تاریخ شمسی" "امروز، $(jdate +%G\ %W)"
با گذاشتتن یک شورتکات یا alias
خیلی راحت تاریخ شمسی رو میتونیم داشته باشیم.
اما برای گذاشتن این موارد در cron باید یه تغییراتی در اسکریپت بدیم. خروجی دستور زیر رو کپی کنید:
set | grep DBUS_SESSION_BUS_ADDRESS
مثلا میشه این:
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
بعد این رو در ابتدای اسکریپت قرار بدید:
export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
وگرنه notify-send در cron اجرا نمیشه.
حاصل سر و کله زدن های من با لینوکس