لینوکس و من

چند اسکریپت در مورد زمان (ویرایش شد)

نویسنده : امین | تاریخ: 1395/05/17

اولی ساعت رو به همراه میزان زمانی که کامپیوتر روشن بوده بوسیله notify-osd اعلام میکنه. به درد مواقعی میخوره که شما در حالت فول اسکرین یک برنامه هستید و به ساعت دسترسی ندارید، با یه شورتکات میتونید این اسکریپت رو اجرا کنید. همچنین میتونید به cron بدید تا مثلا سر هر ساعت یه نوتیفیکیشن بیاد و ساعت رو به شما اعلام کنه!


#!/bin/bash
play /usr/share/sounds/freedesktop/stereo/message-new-instant.oga && /usr/bin/notify-send -u critical -i "clock" "Clock" "Its $(date +%H:%M) now. Uptime: $(uptime | sed 's/.*up \([^,]*\), .*/\1/')"



شما میتونید به جای دستور play از mplayer یا cvlc یا چیزای دیگه هم استفاده کنید. و فایل صدای ساعت رو هم به دلخواه خودتون تعیین کنید.

اسکریپت بعدی که توی اینترنت پیداش کردم و با 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. " && play /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 اجرا نمیشه.

1395/05/20 14:56
با سلام و تشکر بابت اسکریپت قشنگتون
میخواستم بگم اگر به جای play از paplay استفاده کنید بهتره چون در اکثر جاها موجوده و تایمری که گذاشتید نیاز به یه if داره که اگر چیزی وارد نکرد دیگه زنگ نخوره و زمان رو هم اگر به قالب زیر بنویسید کلاْ فارسی نشون میده
jdate +%A\ %D\ %B\ %O
با تشکر از زحماتتون
پاسخ امین : ممنون از نظرت. و مرسی از راهنمایی
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر
نظرات پس از تایید نشان داده خواهند شد.

برای کپی پیست کردن در متن نظرات کلید shift را نگه دارید و بعد right click کنید.