تبلیغات
لینوکس و من - مطالب امین
لینوکس و من

یک اسکریپت برای واترمارک عکس و ویدیو

نویسنده : امین | تاریخ: 1396/01/16

چند وقت پیش مطلبی نوشته بودم در این خصوص که چطوری روی یک عکس یا روی یک فایل ویدیویی واترمارک خودمون رو اضافه کنیم. مدتی بعدش تصمیم گرفتم این دو تا کار رو با هم ادغام کنم و در قالب یک اسکریپت استفاده کنم. نتیجه کار شد این:

#!/bin/bash
#
# A script to add an image as a watermark over videos or image files.
# I'm not a developer, and I wrote this script just for my needs.
# 07 November 2016
# Amin medicamin@gmail.com http://linuxvaman.ir
# Feel free to make this script better :)
#

path_of_first_file=$(dirname "$2")
name_of_first_file=$(basename "$2")

new_name="$(echo "wmark-$name_of_first_file")"
new_output=$(echo "$path_of_first_file/$new_name")


if [ $# -lt 1 ]
then
    echo
    echo "A simple script to add an image as a watermark over videos or image files."
    echo "As of simplicity of usage, all watermarks will be added to the northwest area of the image or the video files."
    echo "to change these positions you should edit the script codes"
    echo
    echo "-i     add watermark to a single image "
    echo "example: wmark -i /path/to/image.png /path/to/watermark.jpg"
    echo
    echo "-v     add watermark to a single video "
    echo "example: wmark -v /path/to/video.mpg /path/to/watermark.jpg"
    echo
    echo "-ia     add watermark to all image files in a directory that wmark runs in"
    echo "example: wmark -ia /path/to/watermark.jpg"
    echo
    echo "-va     add watermark to all video files in a directory that wmark runs in "
    echo "example: wmark -va /path/to/watermark.jpg"
    echo
    echo "-r     replaces the space in all filenames with a dash "
    echo "example: wmark -r"
    echo
exit
fi


case $1 in

#Here you can change "northwest" to these variables: northeast, southwest, southeast
-i)
composite -dissolve 70% -gravity northwest -geometry +10+10 "$3" "$2" "$new_output"
echo
echo "New image saved in: " "$path_of_first_file"\/$new_name
exit 0
;;

#As ffmpeg is more complex, you should know the resolution of the video file to change the possition of the watermark, by editing "overlay=15:10" (top:left)
-v)
ffmpeg -i "$2" -i "$3" -filter_complex "overlay=15:10" -preset veryfast "$new_output"
echo
echo "New video saved in: " "$path_of_first_file"\/$new_name
exit 0
;;

#Here you can change "northwest" to these variables: northeast, southwest, southeast
-ia)
for i in *.png *.jpg;
do
composite -dissolve 70% -gravity northwest -geometry +10+10 "$2" $i wmark-$i
done
echo
exit 0
;;

#As ffmpeg is more complex, you should know the resolution of the video file to change the possition of the watermark, by editing "overlay=15:10" (top:left)
-va)
for i in *.mp4 *.flv *.mpg *.rm;
do
ffmpeg -i $i -i "$2" -filter_complex "overlay=15:10" -preset veryfast wmark-$i.mp4
done
echo
exit 0
;;

-r)
for i in *\ *; do mv "$i" "${i// /-}";
done
echo
exit 0
;;

esac




اسکریپت رو خوب نگاه کنید تا با طرز کارش آشنا بشید. این اسکریپت رو با نام مثلا wmark جایی ذخیره کنید و براش یک alias بسازید. اونوقت میتونید باهاش کار کنید. یک بار wmark رو در ترمینال اجرا کنید تا خودش راهنماییتون کنه و مثال بزنه.

مخازن مانجارو روی سرورهای ایران

نویسنده : امین | تاریخ: 1395/12/6

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

مخازن مانجارو وجود نداشت، با ایمیلی که بهشون زدم اونها ظرف مدت بسیار کوتاهی پاسخ دادند و مخازن مانجارو هم به این لیست اضافه شد. اینجا چند نکته وجود داره که لازمه بنویسم:
  • اولا تشکر از گردانندگان این پروژه، هم بخاطر کاری که میکنند و هم بخاطر پاسخ گویی‌. تلاششان تحسین بر انگیزه.
  • بودن مخازن در داخل ایران خوبیش اینه که میشه با سرعت بسیار بالاتری بسته ها رو دانلود کرد. اما طی چند بار تستی که بنده در روزهای مختلف داشتم هر بار سرعت دانلود از سرورهای خارج از کشور (که خود پکیچ منیجر مانجارو اونها رو لیست میکنه) به مراتب بیشتر از سرعت دانلود از این سرور بود. حداقل سه برابر. در یک ایمیل موضوع رو مطرح کردم و پاسخ دادند که اونها با سرعت بسیار بالایی دارن استفاده میکنن و مشکلی در این زمینه نمیبینند. متاسفانه بخاطر این موضوع من نمیتونم از این مخازن استفاده کنم. بسیار عجیبه که دانلود از سرور مثلا انگلستان خیلی سرعت بیشتری به من میده تا دانلود از سروری که بیخ گوشمون هست!
اگر شما کاربر مانجارو هستید و میخواید که این رو امتحان کنید، فایل زیر رو باز کنید و سرورهای دیگه رو کامل پاک کنید و سرور ایران رو بهش اضافه کنید. بعد هم دیتابیس رو رفرش کنید:
sudo gedit /etc/pacman.d/mirrorlist
-------------------------------------------
Server = http://repo.sadjad.ac.ir/manjaro/stable/$repo/$arch

sudo pacman -Syy
در خط سرور عبارت stable در توضیحات سایت دانشگاه سجاد branch$ نوشته شده. که میبایست در این فایل تغییر کنه. در غیر این صورت با پیام خطای سینک مواجه میشید. نسخه های دیگه unstable و testing هستتند.

قرص تقویتی برای مانجارو!

نویسنده : امین | تاریخ: 1395/11/27

در آرچ یه چیزی هست به نام powerpill که کارش اینه که با استفاده از reflector سریعترین سرورهای مخازن رو پیدا کنه و با استفاده از aria2 سرعت دانلود بسته ها رو چندین برابر کنه. و حتی با rsync سرعت سینک کردن مخازن هم بیشتر میکنه! پس عجب قرص تقویتی‌ای است!

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

اما برای اینکه چیزهایی که از AUR نصب میکنیم (بوسیله yaourt یا ابزارهای دیگه) هم برای دانلود از aria2 استفاده کنند، میبایست فایل تنظیمات makepkg را باز کنیم و تنظیمات مربوط به دانلود رو به این تغییر بدیم:
/etc/makepkg.conf
------------------------

DLAGENTS=('ftp::/usr/bin/aria2c %u -o %o'
          'http::/usr/bin/aria2c %u -o %o'
          'https::/usr/bin/aria2c %u -o %o'
          'rsync::/usr/bin/rsync -z %u %o'
          'scp::/usr/bin/scp -C %u %o')



لینک‌های مرتبط

نصب آرچ

نویسنده : امین | تاریخ: 1395/11/27


آماده شدن برای نصب آرچ!

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

پخش صدا هنگام lock و unlock شدن دسکتاپ Gnome

نویسنده : امین | تاریخ: 1395/11/24

برای اینکه موقع unlock و lock شدن دسکتاپ در گنوم یک اسکریپت دلخواه اجرا بشه (در اینجا پخش یک صدا)، میتونیم با یه اسکریپت خیلی ساده این کار رو بکنیم. اسکریپت زیر رو در یک فایل ذخیره کنید و مجوز اجرایی بهش بدید. و بعد بذاریدش توی استارتاپ:
#!/bin/bash

dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver'" |
  while read x; do
    case "$x" in
      *"boolean true"*) play '/home/amin/themes/lock.ogg';;
      *"boolean false"*) play '/home/amin/themes/unlock.ogg';;
    esac
  done
قسمت نارنجی میتونه هر دستور دیگه ای باشه.

قطع صدا به هنگام بیرون کشیدن هدفون

نویسنده : امین | تاریخ: 1395/11/23

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

برای اینکه وقتی هدفون رو میکشیم (اصطلاحا unplug میکنیم) صدای لپتاپ در حالت Mute قرار بگیره، میتونیم از acpid کمک بگیریم. acpid چیزیه که حواسش به اتفاقاتی که در لپتاپ میفته هست! و میتونه دستوراتی رو طبق اتفاقاتی که میفته اجرا کنه. مثلا وقتی شارژر وصل شد، فلان اتفاق بیفته. یا وقتی لپتاپ رو میبندیم، یا هدفون یا میکروفون رو وصل/قطع میکنیم و ...

من اینکار رو در Manjaro که یک توزیع Arch based هست انجام دادم. توضیحات کاملی در ویکی آرچ در این لینک موجوده. بنابراین ابتدا acpid رو نصب کنید و سرویسش رو اجرا و فعال کنید:
1. sudo pacman -S acpid
2. sudo systemctl enable acpid
3. sudo systemctl start acpid
این فایل رو در مسیر زیر با محتوای زیر بسازید:
/etc/acpi/events/headset
-------------------------------

event=jack/headphone HEADPHONE unplug
action=amixer set Master toggle



حالا یک بار سرویس acpi رو restart کنید:
sudo systemctl restart acpid
توجه کنید که مراحل بالا بسیار خلاصه شده است و کارهای بسیاری میشه از این روش انجام داد که همون طور که گفتم در ویکی آرچ میتونید بصورت کامل بخونید.

بهترین آفیس در لینوکس

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

اگر توسعه دهنده نرم افزار هستید این مطلب را بخوانید
در صورتی که دنبال برنامه های آفیس در لینوکس گشته باشین حتما  اسم چیزهایی مثل WPS, Softmaker-Office, OpenOffice و چیزی که پیش فرض در اکثر توزیع های لینوکسی یعنی LibreOffice نصب هست شنیدین.

من همه این ها رو نصب کردم. Libre که از همون openoffice منشا گرفته و تفاوت چندانی در سطح ما کاربران خانگی نداره. مشکلش اینه که اسناد مایکروسافت آفیس رو نمیتونه اون طور که هستند درست و بدون نقص نشون بده. اما به خوبی از فارسی پشتیبانی میکنه.

WPS یک آفیس مدرن و بسیار شبیه به آفیس مایکروسافت طراحی شده. اسناد مایکروسافت رو با کمترین نقصی باز میکنه. اما مشکلش اینه که در presentation از فارسی پشتیبانی نمیکنه. اما در writer فارسی رو پشتیبانی میکنه. و ظاهرا هم تیم توسعه اش حالا حالا ها به فکر اضافه کردن پشتیبانی از RTL نیستند. اما همه اینها به کنار، فقط برای ۳۰ روز رایگانه!

Softmaker هم که اصلا صحبتشو نکن. یه ناقص الخلقه ی تقریبا بی مصرف و زشت!

اما OnlyOffice... یکی از بهترین آفیس هایی که نصب کردم. (البته همین الان بگم از RTL پشتیبانی نمیکنه). اسناد مایکروسافت رو به درستی و کمترین نقص باز کرد.

خوبی OnlyOffice اینه که open source هست! بنابراین اگر توسعه دهنده و برنامه نویس هستید میتونید روش کار کنید و قابلیت پشتیبانی از RTL رو هم بهش اضافه کنید. یا حداقل به این روند کمک کنید. به نظر من آفیس بسیار مرتب و منظم و زیبایی است، و مهمتر اینکه پشتیبانی خیلی خوبی از اسناد آفیس داره.
این آفیس اگر از RTL پشتیبانی کنه آینده بسیار درخشانی رو خواهد داشت. مخصوصا در بین ما فارسی زبان هایی که از لینوکس استفاده میکنیم. امیدوارم به زودی این امکان بهش اضافه بشه.

نصب آفیس ۲۰۱۰ روی لینوکس

نویسنده : امین | تاریخ: 1395/11/7

با اینکه نصب مایکروسافت آفیس روی لینوکس به نوعی گل به خودی محسوب میشه، در اوضاع کنونی که همه جا فقط از MS Office استفاده میکنند، اگر واقع بین باشیم واقعا Libreoffice نمیتونه از پس نمایش درست و بدون نقص فایلهای MS Office بر بیاد. بنابراین مجبوریم کارهای این چنینی رو حتما با MS Office انجام بدیم.
توجه: لطفا در مذمت این کار کامنت نذارید! خودم میدونم.

اگر خواستید تن به این کار بدید! باید با wine این کار رو بکنید. پس اول wine و wine-mono و wine-gecko و winetricks رو روی توزیع خودتون نصب کنید. از اونجایی که نسخه های جدید wine به اندازه کافی رشد پیدا کردن که آفیس سال ۲۰۱۰ یعنی ۶ سال پیش رو بهتر اجرا کنند، بنابراین کار پیچیده ای لازم نیست انجام بدیم.
اما یک نکته ای وجود داره، اگر از لینوکس ۳۲ بیت استفاده میکنید (که این روزها بعیده) به سادگی فایل نصب آفیس رو اجرا کنید و نصب کنید. اما اگر از لینوکس ۶۴ بیت استفاده میکنید باید یک wineprefix مخصوص ۳۲ بیتی درست کنیم و آفیس رو در اون اجرا کنیم. با زدن دستور زیر:
 WINEPREFIX="$HOME/.wine32" WINEARCH=win32 wine wineboot

حالا فایل نصب آفیس ۲۰۱۰ رو اول روی هارد کپی کنید و با دستور زیر اجرا کنید و مراحل نصب رو ادامه بدید:
WINEPREFIX=~/.winewin32 WINEARCH=win32 wine /home/amin/test/setup.exe

طبیعیه که بجای عبارت نارنجی باید مسیر فایل نصب در فولدرهای خودتون رو بذارید.
اگر از یک سیستم به روز استفاده میکنید دلیلی وجود نداره که موفق نشید. البته اگر در حین نصب پیام خطایی دریافت کردید که آفیس موفق به ادامه نصب نبود، احتمالا باید samba رو هم نصب داشته باشید. نمیدونم چرا! ولی یکی از دوستان این طوری مشکلش رو حل کرد.
بعد از نصب، به روشی که بلدید با عرض شرمندگی و عذرخواهی از جامعه نرم افزار آزاد آفیس رو اکتیویت کنید!
وقتی آفیس word رو اجرا میکنید متوجه میشید که عبارات فارسی برعکس یا جدا از هم هستند. برای حل این مشکل باید با winetricks یه چیزی رو به نام usp10.dll نصب کنید. برای این کار باید winetricks در wineprefix جدیدمون اجرا بشه:
 WINEPREFIX="$HOME/.wine32" WINEARCH=win32 winetricks

و بعد در قسمت install a windows dll or component گزینه usp10 رو تیک بزنید و ok کنید. بعد از نصب این dll یک بار تست کنید، باید درست شده باشه.
و اما موضوع بعدی، یک باگ شناخته شده و حل نشده از چند سال پیش وجود داره، در مورد نوشتن RTL و LTR به صورت مخلوط که میتونید ویدیوی مربوط به این باگ رو هم در یوتیوب نگاه کنید.
فایلهای doc و docx به درستی نشون داده میشن. هیچ مشکلی نیست. اما اگر فایلی دارید که مخلوطی از فارسی و انگلیسی داره ممکنه کمی در ویرایشش اذیت بشید.
دکمه های rtl و ltr توی نوار ابزار وجود ندارند. هرچند که وجودشون چیزی رو حل نمیکنه، اما میتونید با این دستور آفیس رو اجرا کنید و اون دکمه ها در نوار ابزار اضافه میشن:
env WINEPREFIX=/home/amin/.wine32 WINEARCH=win32 LANG=fa_IR.UTF-8 wine '/home/amin/.wine32/drive_c/Program Files/Microsoft Office/Office14/WINWORD.EXE'


دستور بالا رو میتونید تبدیل به یک لانچر در منوی دسکتاپ خودتون بکنید. لانچری که wine ایجاد کرده قسمت مربوط به فارسی (سبز) نداره. قسمت نارنجی هم مسیر فولدر home کاربر خودتون رو باید بذارید. اگر فقط word رو نصب کردید که هیچی. اگر چیزای دیگه ای هم نصب کردید باید برای فایلهای اجرایی اونها هم تک تک دستور بالا رو ویرایش کنید (قسمت آبی)
بعد از نصب wine کلی برنامه های آفیس وارد منوی openwith میشن و دردسر درست میکنن. ما فقط میخوایم فایلهای doc و docx با مایکروسافت آفیس باز بشن. برای همین در این مسیر میتونید این شورتکات ها رو حذف کنید و فقط docx و doc رو بذارید بمونن. فایلهای مربوطه با wine-extensions شروع میشن
~/.local/share/applications

البته فایلهای مربوط به پسوند doc و docx رو با ویرایشگر متنی خودتون باز کنید و LANG=fa_IR.UTF-8 رو به قسمت command اضافه کنید تا با باز کردن مستقیم فایلهای ورد، آیکن rtl و ltr نشون داده بشن. که البته بخاطر اون باگ عملا مصرفی ندارند.
خب، حالا ما یه wineprefix جدا برای آفیس داریم که قاعدتا کلی هم حجم اشغال کرده. و پوشه wine اصلی هم که اگر قبلا برنامه های wine رو باز میکردید وجود داره. اگر حساس هستید نسبت به این دوگانگی، میتونید برنامه هاتون رو توی همین wineprefix ای که ایجاد کردیم نصب کنید. اما برای اینکه اذیت نشیم و یه تریلی دستور ننویسیم، میتونید این رو به فایل bashrc خودتون اضافه کنید تا از این به بعد برای اجرای برنامه ها در wineprefix جدید به راحتی اون برنامه رو با دستور wine32 اجرا کنید. مثلا wine32 ~/freegate.exe
alias wine32='WINEPREFIX=~/.wine32 WINEARCH=win32 wine '
و اما آفیس ۲۰۱۳ ! با اومدن wine نسخه 2 امیدها برای اجرای این نسخه در لینوکس بوجود آمدند! البته من تونستم آفیس ۲۰۱۳ رو اجرا کنم، اما پر از باگ بود و بسته میشد. بنابراین عملا فایده ای نداشت و استفاده ای نمیشه ازش کرد.

باز نگه داشتن فایرفاکس بعد از آخرین تب

نویسنده : امین | تاریخ: 1395/10/22

ویژگی ای که بعد از فایرفاکس 3.5!!! بهش اضافه شد اینه که وقتی آخرین Tabی که باقی مونده بسته میشه خود فایرفاکس هم بسته میشه. برای جلوگیری از این اتفاق، توی آدرس تایپ کنید about:config و بعد از تایید اینکه میدونید دقیقا دارید چی کار میکنید به تنظیمات فایرفاکس راه پیدا میکنید.

در قسمت جست و جو عبارت browser.tabs.closeWindowWithLastTab رو پیدا کنید و با دبل کلیک روی اون مقدارش رو از TRUE به FALSE تغییر بدید.

+صرفا جهت یادآوری

مولتی تاچ کامل در تاچپدها در لینوکس

نویسنده : امین | تاریخ: 1395/10/15

تاچپد ها میتونن کارها رو بسیار برای ما ساده تر بکنند. در ویندوز، کمپانی ها برای تاچپد ها نرم افزارهای مخصوصی رو در اختیار کاربر می ذارن تا کاربر بتونه با حالت های مختلف حرکات انگشت ها روی تاچ پد کارهای مختلفی رو بکنه.
اما در لینوکس به طور پیش فرض متاسفانه این موضوع بسیار محدوده و حرکات فقط به چند تا حرکت اسکرول با دو انگشت محدود میشه. اما در این مطب قصد دارم چیزی رو معرفی کنم که کارایی تاچپد رو بهمون بر میگردونه و کلی میتونه مفید باشه.

به طور مثال:
حرکت سه انگشتی به سمت چپ و راست باعث بشه عمل backward و forward اتفاق بیفته. مثلا در Nautilus بین پوشه ها عقب و جلو بریم. یا در مرورگر در صفحات عقب تر و جلوتر بریم.
حرکت سه انگشتی به بالا و پایین باعث بشه بین Tab های مرورگر حرکت کنیم.
حرکت چهار انگشتی به سمت راست، باعث بشه یک Tab جدید باز بشه. چه در مرورگر چه در فایل منیجر.
حرکت چهار انگشتی به سمت چپ باعث بشه Tabی که مشاهده میکنیم close بشه.
و....

برای این منظور چند اسکریپت پیدا کردم. یکی Touchegg که شخصی سازی های زیادی داشت. اما اینقدر در نصبش پیچیدگی داشت که حتی فروم های خارجی هم بعضا موفق نشده بودند. ضمنا موقع نصب به تعداد زیادی بسته منجمله qt4 وابسته است.
دومین اسکریپت چیزی هست به نام xSwipe. اینو من نصب کردم و راه اندازی کردم. اما یکی از دوستان که انجام داد با مشکلات جدی روی تاچپدش مواجه شد. بنابراین بیشتر گشتم تا راه سازگارتری پیدا کنم. البته xSwipe مناسب توزیع هایی است که برای تاچپد خودشون از درایور synaptic استفاده میکنند. در مانجارو فعلی از libinput استفاده میشه و بعد از نصب synaptic دو دستگی پیش میاد و کلا چیز جالبی نمیشه. هر چند که بدون مشکل کار میکنه، اما احساس کردم که libinput تجربه واقعا بهتری بدست میده.
این شد که در AUR چیزی پیدا کردم به نام libinput-gestures که برای libinput نوشته شده و قابلیت مولتی تاچ رو به کمک چندتا ابزار دیگه مثل xdotool و wmctrl در اختیار میذاره. برای نصب در آرچ بیس ها:
1. yaourt -S libinput-gestures
2. sudo gpasswd -a $USER input
و بعد یک بار reboot  یا logout کنید.
اگر میخواید برای هر یوزر تنظیمات خاصی اعمال بشه، باید فایلی به این نام ایجاد کنید و تنظیمات دلخواهتون رو داخلش قرار بدید:
gedit ~/.config/libinput-gestures.conf

تنظیمات ساده و قابل درک هستند. مثلا من برای خودم این طور قرار دادم:
gesture: swipe up        xdotool key super+space #close window
gesture: swipe down 4    xdotool key super+Down #minimize
gesture: swipe right 4    xdotool key ctrl+t #new tab
gesture: swipe left 4        xdotool key ctrl+w #close tab
gesture: swipe up 3        xdotool key ctrl+Tab #switch between tabs
gesture: swipe down 3    xdotool key ctrl+shift+Tab #reverse switch between tabs
gesture: swipe left 3        xdotool key alt+Left #backward
gesture: swipe right 3    xdotool key alt+Right #forward
gesture: pinch in 2        xdotool key ctrl+plus #zoom in
gesture: pinch out 2        xdotool key ctrl+minus #zoom out

هر یک از قسمت ها رو توضیح میدم:
قسمت نارنجی، حرکت رو تعیین میکنه. swipe up یعنی حرکت از پایین به بالا.
قسمت سبز، تعداد انگشت ها رو مشخص میکنه. 4 یعنی 4 انگشتی! برای ۲ انگشتی چیزی نمیشه تعریف کرد، چون با تنظیمات خود سیستم تداخل میکنه.
قسمت زرد، حالت دستور xdotool رو تعیین میکنه.
و قسمت صورتی هم کلیدی است که xdotool آن را میفشارد!
در قسمت خاکستری هم توضیحاتی رو نوشتم. (که البته شما به دلخواه خودتون میتونید هر عملکردی رو برای اون کلیدها منظور کنید)

در واقع این اسکریپت اومده حالت های مختلف تاچپد رو به شورتکات هایی از کیبورد تبدیل کرده. که این توسط خود ما قابل تعیینه. ترفندی که میشه در این مورد به کار برد اینه که شما میتونید در keyboard shortcuts اسکریپت های مختلف خودتون رو و همچنین دستورات پیشفرض خود سیستم رو (مثلا مینیمایز کردن پنجره ها، بستن پنجره ها، حالت overview، کم و زیاد کردن نور مانیتور یا صدا، خاموش کردن مانیتور و ...) رو با شورتکات هایی در کیبورد تنظیم کنید، بعد این کلیدها رو در این تنظیمات وارد کنید!
همون طور که میبینید، مثلا من برای چهار انگشتی به پایین، کلید super+Down تعریف کردم. که این super+Down در keyboard shortcuts پنجره فعال رو مینیمایز میکنه. یا مثلا برای pinch in و pinch out دو انگشتی، میشه کلید super خالی رو تعریف کرد، که این در keyboard shortcuts حالت overview رو باز میکنه. (همون لیست پنجره های باز در گنوم شل). اما من کلید ctrl + plus و minus رو انتخاب کردم تا عمل زوم اتفاق بیفته!

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

بعد از ذخیره فایل تنظیمات، با دستور زیر میتونید این قابلیت رو فعال کنید:
libinput-gestures-setup start


و اگر فایل رو تغییر دادید، یکبار stop کنید و مجدد start کنید. دستور بالا رو در استارتاپ برنامه ها قرار بدید تا موقع بوت لازم نباشه کار اضافه ای بکنید. برای مدیریت دستورهای استارتاپ در گنوم میتونید gnome-session-properties رو از AUR نصب کنید.

یک برنامه گرافیکی هم برای این منظور ساختن، که از AUR قابل نصبه، من نصب کردم، اما عملا هیچ فایده ای نداره. چون فقط حالت های مختلف رو نصب کرده و قسمت command رو باید تایپ کنیم. که خب خودمون هم توی همین فایل تایپ میکنیم دیگه! ضمنان بخاطر ویدیویی که حرکات انگشت ها رو نشون میداد حجم بالایی داشت: gesture-manager-git
لیستی از کلیدهایی که xdotool پشتیبانی میکنه میتونید در اینجا ببینید

1 2 3 4 5 6 7 ...