انجمنهای فارسی اوبونتو
کمک و پشتیبانی => انجمن عمومی => نویسنده: best.user در 11 شهریور 1397، 09:41 قظ
-
بسم اللّه الرحمن الرحیم
با سلام و احترام
وقت شما بخیر
دوستان فرض کنید که من یک فایل mp3 دارم که میخوام هر ۱۶ دقیقه یک بار به صورت مستمر و خودکار و بدون دخالت من در اوبونتو پخش بشه
راهکارهایی رو که برای انجام اینکار به ذهنتون میرسه رو بگید
با سپاس از لطف شما
-
سلام. فکر کنم می تونید با کمک اسکریپت این کار رو انجام بدید.
مثلا من خودم اسکریپتی رو از اینترنت پیدا کردم که با بالا اومدن سیستم اجرا میشه، به یک فولدر خاص میره و اولین فایل رو پخش می کنه.
-
سلام، میتونید یه تسک به crontab اضافه کنید برای هر ۱۶ دقیقه + مدت فایل صوتی احتمالا
-
شما نیاز به یک اسکریپت دارید تا با استفاده از یک برنامه تحت خط فرما یک فایل صوتی را در زمان های مورد نظر پخش کند، من تخصص در اسکریپت نوسی ندارم، دوستانی که وارد هستند باید کمک کنند، برنامه های زیادی هم وجود دارند که تحت ترمینال فایل صوتی پخش میکنند.
-
ساده ترین ساختار اسکریپتتون فکر کنم باید چنین حالتی داشته باشه:
while true; do
audacious /***/***/***.mp3
sleep $((16 * 60))
done
البته قطعا نیاز به تغییراتی داره و دوستانی که تجربه بیشتری دارن باید کمک کنن.
-
اسکریپتی دوستمون @Nino براتون نوشتن این کار رو میکنه اما یه تغییرات خیلی کوچیکی لازم داره:
بهتره به جای audacious از mplayer استفاده بشه چرا که همونجا توی ترمینال کارش رو انجام میده و همچنین sleep خودش از دقیقه پشتیبانی میکنه و لازم به محاسبه کردنش به صورت ثانیه نیست.
#!/bin/bash
while true; do
mplayer file.mp3
sleep 16m
done
همچنین میتونین فایل رو به عنوان آرگومان هم به اسکریپت بدین(اگه فایلهای مدنظرتون تغییر میکنن میتونه گزینهی بهتری باشه.) که در اون صورت اینجوری میشه:
#!/bin/bash
while true; do
mplayer $1
sleep 16m
done
-
همچنین sleep خودش از دقیقه پشتیبانی میکنه و لازم به محاسبه کردنش به صورت ثانیه نیست.
اینو نمی دونستم. ممنون.
فقط یه سوال: مزیت mplayer نسبت به audacious چیه؟
-
اینو نمی دونستم. ممنون.
فقط یه سوال: مزیت mplayer نسبت به audacious چیه؟
خواهش میکنم.
ویرایش کردم همونجا نوشتم.
تا جایی که میدونم audacious به صورت گرافیکی میاد و فایل رو پخش میکنه و این چندان مناسب یه اسکریپت تحت خط فرمان نیست. اما mplayer همونجا تو ترمینال کارشو میکنه.
-
اسکریپتی دوستمون @Nino براتون نوشتن این کار رو میکنه اما یه تغییرات خیلی کوچیکی لازم داره:
بهتره به جای audacious از mplayer استفاده بشه چرا که همونجا توی ترمینال کارش رو انجام میده و همچنین sleep خودش از دقیقه پشتیبانی میکنه و لازم به محاسبه کردنش به صورت ثانیه نیست.
#!/bin/bash
while true; do
mplayer file.mp3
sleep 16m
done
همچنین میتونین فایل رو به عنوان آرگومان هم به اسکریپت بدین(اگه فایلهای مدنظرتون تغییر میکنن میتونه گزینهی بهتری باشه.) که در اون صورت اینجوری میشه:
#!/bin/bash
while true; do
mplayer $1
sleep 16m
done
با سپاس از راهنمایی شما و سایر دوستان
من تا به حال تجربه اسکریپت نویسی در ترمینال اوبونتو رو نداشتم و چند تا سوال از حضورتون دارم
این اسکریپت رو به چه شکل باید وارد ترمینال کنم تا فعال بشه ؟
غیر فعال کردن و یا تغییر دادن اون در آینده به چه شکلی هست ؟
بفرمایید که اگه سیستم رو خاموش کنیم ، کارکرد این اسکریپت در استفاده های بعدی از سیستم به قوت خودش باقی هست ، یا اینکه هر بار باید به صورت دستی فعال بشه
من خودم این کار رو در حال حاضر با نوشتن اسکریپت در یک سند اچ تی ام ال انجام دادم و اون فایل مورد نظرم از طریق مرورگرم پخش میشه ، خیلی برام جالبه که بتونم این کار رو از طریق اسکریپت نویسی در اوبونتو انجام بدم
درود بر شما عزیزان
-
با سپاس از راهنمایی شما و سایر دوستان
من تا به حال تجربه اسکریپت نویسی در ترمینال اوبونتو رو نداشتم و چند تا سوال از حضورتون دارم
این اسکریپت رو به چه شکل باید وارد ترمینال کنم تا فعال بشه ؟
این مراحل رو دنبال کنید:
mkdir $HOME/scripts
touch $HOME/scripts/play.sh
chmod +x $HOME/scripts/play.sh
nano $HOME/scripts/play.sh
حالا این متن رو داخلش پیست و ذخیره کنید:
#!/bin/bash
while true; do
mplayer $1
sleep 16m
done
حالا هر وقت خواستین اجراش کنین اینو تایپ کنین:
$HOME/scripts/play.sh <TRACK>
* به جای <TRACK> باید آدرس فایل مورد نظر رو بنویسید.
-
غیر فعال کردن و یا تغییر دادن اون در آینده به چه شکلی هست ؟
بفرمایید که اگه سیستم رو خاموش کنیم ، کارکرد این اسکریپت در استفاده های بعدی از سیستم به قوت خودش باقی هست ، یا اینکه هر بار باید به صورت دستی فعال بشه
اگر به همون نحوی که دوستمون گفتن اجرا کنید به راحتی میتونین توی ترمینالی که اسکریپت داخلش در حال اجراست کلیدهای ctrl - c رو بزنین تا اجراش قطع بشه.
برای تغییر دادن هم کافیه فایلی که اسکریپت رو توش ذخیره کردین رو باز کنین و تغییرش بدین.
هر دفعه که سیستمتون رو خاموش کنین اسکریپت هم بسته میشه و باید دوباره اجراش کنین، دستور اجرای اسکریپت این هست:
$HOME/scripts/play.sh <TRACK>
* به جای <TRACK> باید آدرس فایل مورد نظر رو بنویسید.
اگر میخواین هر دفعه که کامپیوتر روشن میشه اسکریپت هم به طور خودکار اجرا بشه کافیه بذارینش توی استارتآپ سیستم.