لینوکس و من

۲۱۶ مطلب با موضوع «ترفند» ثبت شده است

فیلم برداری از دسکتاپ با ffmpeg (کامل تر شد)

برای فیلم‌برداری از دسکتاپ نرم‌افزارهای زیادی هست ولی ffmpeg ساده‌ترین راه برای اینکار هست مخصوصاً اگر با alias ها راه‌ترش هم بکنید.
من خودم از این روش استفاده می‌کنم چون دسکتاپ من 1680x1050 هست اینجا هم به همین صورت هست پس تغییرش بدید به اندازه تصویرتون.
برای بدست آوردن نسبت تصویر اگر xrandr در توزیع شما استفاده شده باشه با این دستور به راحتی نمایش میده:

xrandr | grep \* | awk '{print $1}'
   3200x1800

 


و مقدار اندازه تصویر خودتون رو در دستور زیر قرار بدید:

 

 

echo "alias capture='ffmpeg -loglevel panic -video_size 3200x1800 -framerate 25 -f x11grab -i :0 output.mp4'" >> ~/.bashrc


از این پس Terminal رو باز کنید و capture رو بنویسید و اینتر بزنید خودکار شروع به ضبط کردن میشه تا وقتی که q رو بزنید و متوقفش کنید.

اگر میخواید صدا هم همراه فیلم ضبط بشه، برای pulse audio این دستور:

 

 

 ffmpeg -loglevel panic -video_size 1366x768 -framerate 25 -f x11grab -i :0 -f pulse -ac 2 -i default output.mkv

 

 


و برای ALSA این دستور رو بجای دستور اول قرار بدید.
 ffmpeg -loglevel panic -video_size 1024x768 -framerate 25 -f x11grab -i :0 -f alsa -ac 2 -i hw:0 output.mkv


میتونید یک alias جدا برای ویدیو با صدا مثلا acap و یکی برای بدون صدا مثلا vcap تعیین کنید.

اگر ازffmpeg -loglevel panic استفاده کنید یک ترمینال کاملا پاک خواهید داشت و فقط خطاها نمایش داده میشن.

ویرایش جدید:
میتونیم از این اسکریپت ها استفاده کنیم. برای ضبط بدون صدا:
#!/bin/bash
scr="$(xrandr | grep \* | awk '{print $1}')"
filename="$(date +%F_%H:%M:%S.mp4)"

echo "Capturing screen... Press q to stop."
ffmpeg -loglevel panic -video_size $scr -framerate 25 -f x11grab -i :0 $filename
echo "Video file saved to ~/$filename"



و برای ضبط با صدا:
#!/bin/bash
scr="$(xrandr | grep \* | awk '{print $1}')"
filename="$(date +%F_%H:%M:%S.mp4)"

echo "Capturing screen with audio... Press q to stop."
ffmpeg -loglevel panic -video_size $scr -framerate 25 -f x11grab -i :0 -f pulse -ac 2 -i default $filename
echo "Video file saved to ~/$filename"
 
توضیح:
یه متغیر به اسم scr تعریف کردیم و بجای رزلوشن قرار دادیم که دیگه لازم نباشه اول با xrandr مقدارش رو پیدا کنید و توی دستور بنویسید. خود اسکریپت این کار رو برای ما میکنه.
و یک متغیر دیگه به نام filename درست کردیم که اسامی ویدیو هایی که ذخیره میشن بر اساس تاریخ و زمان باشن. این خیلی راحت تره تا اینکه همه ویدیو ها هم نام باشن و اگه بخوایم نگهشون داریم تک تک اسمهاشون رو عوض کنیم! با این کار ویدیوها در فایلهای جدا و با اسمهای مختلف ذخیره میشن.

 

انتقال خودکار فایل‌ها

من معمولاً فیلم زیاد دانلود می‌کنم و برای اینکه کارم راحتر بشه یه اسکریپت کوتاه نوشتم تا خودکار خودش مثلا فایل‌های سریال‌ها رو توی پوشه اون سریال انتقال بده البته از اول هم میشه توی اون مسیر سیو کرد ولی ممکنه فایل خراب باشه یا کیفیت اون فیلم بدرد نخور باشه در کل با این فایل می‌تونید خودکار فایلی رو انتقال بدید

 

#!/bin/bash
for i in ~/Downloads/*.mp4
do
mv "$i" /home/m0sen/Videos/
done

for i in ~/Downloads/*.mkv
do
mv "$i" /home/m0sen/Videos/
done

for i in ~/Downloads/*.mp3
do
mv "$i" /home/m0sen/Music/
done

تبدیل فرمت M4A به MP3


 

شاید برای شما هم اتفاق افتاده باشه که از iTunes یک موزیکی رو ریپ کردید و می‌خواید به Mp3 تبدیلش کنید. برای اینکه هر بار اینکار رو انجام ندید کافیه یه Custom Actions در Thunar بزنید.

Command : " ffmpeg -i  %f %n.mp3 "

این دو تا تصویر که شاید بدردتون خورد.
 




وارد کردن یک خط به انتهای یک فایل

پیش میاد بخوایم فقط یک خط به انتهای یک فایلی اضافه کنیم. به جای اینکه به خودمون زحمت بدیم و فایل رو باز کنیم و کپی و پیست و ذخییییره... اووووه، با یه خط دستور میشه این کار رو انجام داد. البته برای تغییر فایل های سیستمی باید در حالت su باشید. با sudo کار نمیکنه.

برای مثال:
 
echo 'custom text' >> /file.txt

منوی برنامه ها در پنل xfce

همیشه دنبال این بودم که بشه منوی برنامه ها رو مثل mac یا یونیتی وارد پنل کنم.  چون فضای پنل استفاده ی مناسبی نداشت و نباید پرت میشد!
تا اینکه توی این وبلاگ پیدا کردم چطوری.
 


 
برای اوبونتو در اون وبلاگ آقای امیرصمیمی توضیح دادند. در مورد آرچ اما کمی فرق میکنه.
برای آرچ این بسته ها رو از AUR نصب کنید:
 
yaourt -S xfce4-topmenu-plugin-git
yaourt -S topmenu-gtk3-git
yaourt -S topmenu-mozilla-git
 


و بعد این دستور رو پس از انجام su و رفتن به کاربر root اجرا کنید
 
  echo 'export GTK_MODULES=topmenu-gtk-module' >> /etc/profile

در آخر یک بار logout/in کنید.

و اما یک مشکلی که فعلا داره اینه که رنگ پنل با رنگ این منو سازگار نیست. برای رفع این مشکل به ادامه مطلب برید

۲۸ منحنی رنگ GIMP

 

۳ نمونه از این محنی رنگ‌ها
 
همانطور که از اسمش هم پیداست برای تغییر رنگ عکس‌هاست ولی چطوری ازش استفاده کنیم اول این فایل رو دانلود کنید
و در مسیر ~/.gimp-2.8/curves/ بریزید. بعد گیمپ رو باز کنید Ctrl + M یا از Colours منحنی ( Curves ) رو پیدا کنید.

مثل عکس Import Setting و فایل مربوطه در مسیری که ریختید رو باز کنید.
 

 

تبدیل pdf به فایل تصویری در لینوکس

گاهی ممکنه لازم بشه یک فایل pdf رو به فایل های تصویری تبدیل کنیم. برای اینکار نیاز به هیچ ابزار گرافیکی‌ای ندارید. با imagemagic که یک نرم‌افزار تحت خط فرمان عالی و کامل هست میشه این کار رو انجام داد
 

 convert -density 150 file.pdf[0-10]  file.png

این میگه با کیفیت ۱۵۰ از صفحه ۱ تا ۱۰ از فایل file.pdf به فایلهای file.png تبدیل کن. فایلهای حاصله هم عددگذاری میشن.

حفظ همه تاریخچه های bash

حتما شده که توی یک پنجره ترمینال چند تا تب مختلف باز کردید. و توی هر کدوم یه کاری رو داشتید انجام میدادید. در تنظیمات فعلی bash فقط هیستوری دستورات آخرین تبی که باز بوده حفظ میشه. با یه کار ساده میشه به bash گفت که همه ی دستورات در همه ی تب ها رو وارد هیستوری بکنه.
این فایل رو با ویرایشگر متن دلخواهتون باز کنید و خط زیر رو به انتهاش اضافه کنید.و بعد یک بار ترمینال رو ببندید و دوباره باز کنید.

 

nano ~/.bashrc

این خط:
export PROMPT_COMMAND='history -a'

 

بستن پنجره ای که داره منابع سیستم رو می بلعه!

گاهی پیش میاد برنامه های گرسنه ای مثل فایرفاکس و کرومیوم و یا حالا هر چیز دیگه ای not responding میشن. با Alt+F4 هم نمیشه بستشون. و بقدری مشکل ساز میشن که حتی ماوس هم به زور تکون میخوره. قبلا برای بستن پنجره هایی که دچار مشکل شده بودند گفته بودم از xkill استفاده کنیم. ولی این مستلزم این بود که دستوری اجرا بشه و ماوس شما به حالت مخصوص در بیاد و بعد شما روی پنجره مورد نظر کلیک کنید تا اون بسته بشه.
اما زمانی که ماوس هم دیگه جواب نمیده چه کار کنیم؟
از ابزار جالبی به نام xdotool میتونیم استفاده کنیم. این برنامه رو توی توزیع خودتون نصب کنید و بعد این دستور رو به عنوان یک keyboard shortcut تعریف کنید:
 
xdotool getwindowfocus windowkill
 
وقتی کلید ترکیبی این دستور رو فشار میدید، اون پنجره ای که الان روی همه است بسته میشه. امیدوارم در زمان هایی که همه چی داره روی اعصابمون راه میره مفید باشه!

ترفند برای گرفتن راحت تر اسکرین شات در XFCE

در دسکتاپ XFCE میتونید دستور مربوط به گرفتن اسکرین شات از صفحه رو به دلخواه خودتون تغییر بدید. برای این کار وارد تنظیمات keyboard shortcuts بشید و xfce4-screenshooter رو پیدا کنید. دو تا داره، یکی با دکمه print screen و یکی با دکمه  shift و print screen. من به دلخواه خودم این دستورات رو به این شکل ها تغییر دادم:

دکمه print screen:

xfce4-screenshooter -d 3 -f -s /run/media/Data/Pictures/screenshots

این معنیش اینه که از کل دسکتاپ بعد از ۳ ثانیه عکس بگیر و در اون پوشه ای که با رنگ خاکستری مشخصه ذخیره کن.

ترکیب با دکمه shift:
xfce4-screenshooter -r -s /run/media/Data/Pictures/screenshots

و این معنیش اینه که بذار خودم محدوده ی عکس گرفتن رو مشخص کنم. با ماوس میتونید جایی رو که میخواید عکس بگیرید انتخاب کنید.