پاسکال در لینوکس

پاسکال یک زبان برنامه نویسیه. یادش بخیر. دبیرستان که بودیم یه چیزایی بهمون گفته بودن... حالا موضوعی پیش اومد و لازم بود که پاسکال  رو  در لینوکس داشته باشیم. با نصب پکیج fpc که نزدیک ۴۰ مگابایت دانلود میشه، پاسکال در لینوکس نصب میشه. و با دستور fp در ترمینال وارد محیط پاسکال میشید.
یادتون باشه پنجره ی ترمینال رو بعد از باز شدن maximize نکنید. چون بعد از اینکه برنامه ای که نوشتید run شد، موقع برگشتن به محیط پاسکال نوشته ها چپرچلاغ (!) میشن. 

تغییر ویرایشگر ترمینال به nano

اگه دستوراتی مثل crontab -e رو اجرا کرده باشید متوجه میشید که محیطی که برای نوشتن میاره خیلی اعصاب خورد کنه و هیچ راهنمایی چیزی نداره! برای اینکه ویرایشگر متنی ترمینال رو به nano که یک ویرایشگر قابل فهم تری است تغییر بدیم، کافیه عبارت های زیر رو توی فایل ~/.bashrc قرار بدیم:

export EDITOR="/usr/bin/nano"
export VISUAL=$EDITOR

چک وصل بودن اینترنت در فواصل منظم

اگه لازم داشته باشیم هر مثلا ۱۵ دقیقه چک بشه آیا به اینترنت وصل هستیم یا خیر، و اگر وصل نبود یک هشدار صوتی به ما بده، میتونیم از اسکریپت زیر استفاده کنیم و اون رو توی cron قرار بدیم تا هر ۱۵ دقیقه اجرا بشه.

اسکریپت زیر برای ما چک میکنه آیا میتونیم به google.com پینگ کنیم یا نه. اگر بله، یک دستوری اجرا بشه (یک صدای کلیک) و اگر نه، یک صدای دیگه پخش بشه و نوتیفیکیشن هم بده. دستورات رو میتونید بنا به نیاز خودتون تغییر بدید.

#!/bin/bash
export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
if [[ $(ping -q -c 3 google.com) == @(*3 received*) ]]; then
paplay /usr/share/sounds/freedesktop/stereo/device-added.oga
else
paplay /usr/share/sounds/freedesktop/stereo/dialog-warning.oga  && /usr/bin/notify-send -i "network" "Network is down" "There is no active internet connection now"
fi

توجه کنید که بجای /run/user/1000/bus باید userID خودتون رو قرار بدید. با دستور id میتونید UID خودتون رو ببینید.

برای قرار دادن این اسکریپت در کرون (تا هر ۱۵ دقیقه اجرا بشه)، اول مجوز اجرایی به اسکریپت میدیم (با توجه به محل اسکریپت):

chmod +x ~/pingstat

و بعد برای ویرایش job های کرون، با دستور crontab -e و اضافه کردن زمان و محل اسکریپت، اون رو به امان خدا می سپاریم:

*/15 * * * * ~/pingstat

یک اسکریپت کامل تر در اینجا وجود داره که وقتی ping میکنه اگر در دسترس نباشه یک ایمیل میفرسته! البته در ادامه مطلب این اسکریپت رو هم آوردم

ادامه مطلب

تبدیل charachter encoding فایل های متنی

مشکل از اینجا شروع میشه که اکثر فایل های زیرنویس فارسی دارای encoding از نوع windows-1256 هستند. این باعث میشه که در نرم افزار های پخش فیلم مثل totem یا vlc زیرنویس فارسی درست نشون داده نشه. (البته این مال قدیم بود و الان دیگه همچین مشکلی نداریم. صرفا برای آرشیو این مطلب و استفاده های مشابه نوشتم)

با این روش من encoding فایل زیرنویس رو به utf8 تغییر میدم  و در تنظیمات vlc هم utf8 رو انتخاب میکنم. totem هم خودش متوجه خواهد شد. و زیرنویس فارسی درست نشون داده خواهد شد. برای این تغییر:

iconv -f windows-1256 -t utf8 /file-1.srt > /file-2.srt

طبیعتا آدرس فایل ها رو باید جایگزین کنید.

یک راه ساده تر برای این تبدیل، استفاده از یک اسکریپت ساده است. من این اسکریپت رو طبق نیاز خودم تغییر دادم. میتونید اون رو در یک فایل مثلا با نام srtconv ذخیره کنید و اون رو در فولدر usr/bin/  کپی کنید. و از این به بعد برای تبدیل یک زیرنویس به utf8 در خط فرمان تایپ کنید srtconv و بعد از اینتر کردن، آدرس فایلتون رو بهش میدید. اونوقت فایل شما از windows-1256 به utf8 تبدیل میشه و کنار فایل اصلی قرار میگیره.

برای دیدن اسکریپت به ادامه مطلب برید!

ادامه مطلب

رایت فایل iso توزیع لینوکس روی USB Disk

این روزها کمتر کسی هست که روی DVD بخواد ایمیج توزیعی که دانلود کرده رایت کنه. برای رایت ایمیج iso روی یک مموری (USB Disk) راه های متفاوتی وجود داره.

در مورد Manjaro کافیه که از دستور زیر استفاده کنید:

sudo dd bs=4M if=/path/to/manjaro.iso of=/dev/sd[drive letter] status=progress oflag=sync

در دستور بالا، به جای [drive letter]  باید حرف مربوط به درایو usb رو قرار بدید. مثلا sdc یا sdb. توجه کنید که sdc1 یا sdc2 نیست. با این کار کل فلش شما تبدیل به فایل iso میشه که دانلود کردید.

راه راحت تر و گرافیکی اش در این روزها، استفاده از imagewriter هست. کافیه اون رو از مخازن توزیع فعلی نصبش کنید.

اگر در ویندوز هستید و میخواید یک فایل iso روی USB Disk بریزید، برنامه Rufus جیز خوب و قابل اعتمادی است.

تنظیم زمان زیرنویس در VLC و Celluloid

ممکنه زیرنویس های فیلم ها با صدای گوینده ها هم زمان نباشند. این مشکل رو به سادگی در VLC با به کار بردن کلید های زیر حل میکنیم:

Ctrl + h برای تاخیر انداختن در زیرنویس (یعنی وقتی زیرنویس زودتر میاد)

Ctrl + g برای عقب کشیدن زیرنویس (یعنی وقتی که اول گوینده حرفشو میگه بعد زیرنویس میاد)

میتونید این کلید ها رو در قسمت prefrences در حالت advance در قسمت interface ببینید و تغییر بدید.

در پخش کننده Celluloid (رابط گرافیکی gtk برای mpv) این کار با کلید های Z و Shift + Z انجام میشه.




حاصل سر و کله زدن های من با لینوکس