شما هنوز به سیستم وارد نشده اید.

#1 2019-01-11 21:02:41

mazhar
عضو
ثبت شده: 2016-08-01
ارسال ها: 275

شروع کار با i3

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

نصب و پیکربندی

خب قدم اول نصب i3 هست. گروه بستهی اونو نصب کنین.
اگه بخواین میتونین از display manager دلخواه برای ورود بهش استفاده کنین ولی اگه دوست دارید با xinit وارد بشید exec i3 رو به انتهای اون اضافه کنید.
پیشنهاد میکنم قبل اینکه وارد بشین مطمئن بشین که یه ترمینال نصب دارین (چون برای تنظیم فایل کانفیگ بهش نیاز پیدا میکنین).
وارد i3 که بشین ازتون چند تا سوال میپرسه. یکیش اینه که فایل کانفیگ دیفالت رو براتون بسازه، که بگین موافقین و دوم اینکه modifier یا mod رو میخواین super یا alt باشه. این مادیفایر رو خیلی استفاده میکنید بعداً. پیشنهاد من اینه که بذارینش رو super چون alt رو برای خیلی چیز دیگه استفاده میکنید (مثلاً اگه از emacs استفاده کنید با keybinding های اون تداخل پیدا میکنه).
خب یه دیدی پیدا کنیم راجع به i3. اول اینکه تمام کانفیگ ها رو توی یه فایل در مسیر

$HOME/.config/i3/config

تغییر میدین. این فایل خیلی خوب و منطقی نوشته شده و سریع یاد میگیرین باهاش کار کنین. بعد اینکه تو i3 پنجرهها حالت های مختلف دارن، یا کنارهم (افقی یا عمودی) یا به صورت تب و یا استک (stack) قرار میگیرن. ساده ترین کار اینه که mod+enter رو بزنین و یه ترمینال باز میشه واستون. اگه دوباره این کلید رو بزنین یکی دیگه بغلش باز میشه. i3 خودش تشخیص میده که مانیتورتون عمودیه یا افقی و اگه مانیتور عمودی داشته باشین پنجره دوم زیر اولی قرار میگیره که منطقیه پنجره هایی که مربع شکل باشن به نسبت فیبوناچی نزدیک تر هستن، پس در نتیجه کار باهاشون راحت تره smile
حالا بیاین فایل کانفیگ رو نگاه کنیم. کامنت ها که با # مشخص شدن پس توضیحی نمیدم.
اولین خطی که میبینین

set $mod Mod4

هست که متغیر مد رو ست میکنه رو مد۴ (super) تا بعداً تو همین فایل کانفیگ استفاده بشه.

font pango:DejaVu Sans Mono 8

این خط هم فونت رو مشخص میکنه که فونت تیتر پنجره ها (و تب ها و استک ها که بعداً میبینینم) چی باشه.

floating_modifier $mod

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

bindsym $mod+Return exec i3-sensible-terminal

این خط تنظیم میکنه که اگه مود رو گرفتین و super رو زدین یه اسکریپت اجرا بشه (این اسکریپت خیلی ساده میگرده دنبال یه ترمینال که اجراش کنه). میتونین اصلاً اسم فایل باینری ترمینال خودتونو بذارین (مثلاً urxvt).

bindsym $mod+Shift+q kill

این خط تنظیم میکنه که با چه کلیدهایی هر پنجره رو ببندین (مثل alt+f4 دسکتاپ های دیگه).

bindsym $mod+d exec dmenu_run

این خط برنامهی dmenu رو اجرا میکنه، این برنامه عملاً لیستی از اسم فایلای باینری برنامه ها رو داره و برنامه مورد نظرتونو تایپ میکنین و اونو اجرا میکنه. که باید پکیج dmenu رو نصب کرده باشید.

bindsym $mod+j focus left
bindsym $mod+k focus down
bindsym $mod+l focus up
bindsym $mod+semicolon focus right

این خط ها تنظیم میکنن که چطوری پنجرهی سمت راستی یا چپی رو انتخاب کنین. مثلاً دوتا ترمینال باز کنین و با مود+جی پنجره چپ رو انتخاب کنین. میبینین که چقد سریع میشه یادش گرفت. یه نکته اینکه من خودم اینارو تغییر دادم که مثل کلیدهای ویم بشه (یکی یه دونه به چپ شیفت دادم). ولی مود+اچ بعداً میبینیم که یه کاری میکنه. پس اگه میخواین اینارو تغییر بدین بعداً باید فکری برای اون بکنین (من ست کردم رو مود+بی). چهار خط بعدی هم همین عملکرد رو برای کلیدهای نشان نما تنظیم میکنه که اگه بخواین میتونین استفاده کنین (ولی بهتره کلیدهای vimمانند رو یاد بگیرین).

bindsym $mod+Shift+j move left
bindsym $mod+Shift+k move down
bindsym $mod+Shift+l move up
bindsym $mod+Shift+semicolon move right

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

bindsym $mod+h split h
bindsym $mod+v split v

این همونیه که گفتم بهتون (مود+اچ). این دوتا کاری که میکنن اینه که مثلاً اگه شما بخواین حتما یه پنجره رو پایین یکی دیگه باز کنین مود+وی رو میزنین که گوشه ی پایین پنجرهی فعلی انتخاب بشه و اگه یه پنجره دیگه باز کنین زیرش باز بشه (نه بغلش). مود+اچ هم واسه انتخاب گوشه راسته. حالا میتونین امتحان کنین. این کلیدها رو بزنین:

$mod+enter -> $mod+enter -> $mod+v -> $mod+enter

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

bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split

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

bindsym $mod+Shift+space floating toggle

اینجا میتونین پنجره ها رو آزاد کنین که برن به حالت شناور (مثل همهی مدیر پنجرههای دیگه) ولی این حالت نباید حالت اصلیتون باشه چون مدیریت خوبی نمیتونین انجام بدین (کل هدف i3 اینه نذاره پنجره ها روی هم بیفتن).

bindsym $mod+space focus mode_toggle

و برای سویچ کردن بین پنجره ی شناور و ثابت ها میتونین مود+اسپیس بزنین.

اون قسمت های parent و child رو الان بیخیال شید که گیج کننده س یکم. بعداً تو سایت i3 مطالعه کنین خودتون.

bindsym $mod+1 workspace 1
bindsym $mod+2 workspace 2
bindsym $mod+3 workspace 3
bindsym $mod+4 workspace 4
bindsym $mod+5 workspace 5
bindsym $mod+6 workspace 6
bindsym $mod+7 workspace 7
bindsym $mod+8 workspace 8
bindsym $mod+9 workspace 9
bindsym $mod+0 workspace 10

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

سه خط بعدی هم خیلی واضح اند. برای دوباره خواندن تغییرات فایل کانفیگ و رستارت خود i3 (بدون اینکه هیچ برنامه ای دست بخوره!) و خروج از i3 کلیدهارو تنظیم کرده.

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


برنامه های اضافی

خب از همون dmenu شروع کنیم. اگه man pageش رو نگاه کنین زیاد چیزی نداره. ولی میشه تغییرش داد اینطوری:

bindsym $mod+d exec dmenu_run -b -i -fn 'Monospace-13' -nb '#000000' -sb '#c13156' -nf '#e3923c' -sf '#000000' -p '-> '

که پایین صفحه نمایش داده بشه و (sb)selected background فلان رنگ باشه و ...

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

bar {
        status_command i3blocks -c ~/.config/i3/i3blocks.conf
        position bottom
        tray_output primary
        tray_padding 2
        font pango:DejaVu Sans Mono 12
        separator_symbol " │ "
        #mode hide
        #hidden_state hide
        #modifier $mod

        colors {
                background #000000
                statusline #000000
                separator #aaaaaa
                #<color class>          <border>  <background>  <text>
                focused_workspace       #c13156         #c13156         #000000
                active_workspace        #c13156         #000000         #c13156
                inactive_workspace      #000000         #000000         #c13156
                urgent_workspace        #ff0000         #ff0000         #000000
                binding_mode            #c13156         #c13156         #000000
        }
}

خط اول میگه که i3block رو اجرا کنه و آدرس فایل کانفیگ رو هم بهش داده. بعد دیگه گفته پایین صفحه باشه و رو مانیتور primary باشه و ... قسمت رنگ ها هم قشنگ مشخصه. تغییر بدید و i3 رو رستارت که بکنین تغییرا رو میبینین. یکم که باهاش ور برین میبینین چیزی نیست. البته جایگزین های خیلی قشنگ تر هم وجود دارن مثل polybar ولی من سادگی رو ترجیح میدم (kiss) wink

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

bindsym $mod+x exec maim /home/m47h4r/$(date +%s).png
bindsym $mod+ctrl+x exec maim -s /home/m47h4r/$(date +%s).png

اولی از تمام مانیتورها یه اسکرین میگیره و میذاره تو هوم (اسم فایل هم تاریخ فعلی به ثانیه) دومی هم میذاره یه قسمت از صفحه رو انتخاب کنین.

شخصاً نیاز به یه ماشین حساب هم دارم که خیلی آسون از gnome-calculator استفاده میکنم:

bindsym XF86Calculator exec gnome-calculator

واسه اینکه کیبورد فارسی هم داشته باشیم باید یه کاری بکنیم اونم اینه که اسکریپت بنویسیم به این صورت:

#!/bin/bash
setxkbmap -layout us,ir -option grp:alt_caps_toggle

که باعث میشه اگه alt+capslock رو بزنم بتونم بین زبان ها سویچ کنم (دلیلی که اینو زدم واسه اینه با کامند های emacs تداخل نداشته باشه ولی شما میتونین grp:alt_shift_toggle رو استفاده کنین تا با alt+shift سویچ کنه).
و اینطوری آخر فایل بنویسیم که هروقت i3 بالا اومد اجراش کنه:

exec ~/bin/kb_layout

گاهی بعد جداکردن مانیتور خارجی این تنظیمات توسط xorg از بین میرن پس یه ترکیب کلید هم گذاشتم که اگه این اتفاق افتاد دوباره بتونم با زدن اون کلید این قابلیت رو دوباره برگردونم:

bindsym $mod+i exec ~/bin/kb_layout

یه لاک اسکرین خیلی ساده که با پکیج i3 نصب میشه اسمش هست i3lock که من برای سادگیش خیلی ازش خوشم میاد. با یه حرکت استراتژیک! و استفاده از image magick (پس نصبش کنین) و maim یه لاک اسکرین خیلی قشنگ میشه ساخت. اول این اسکریپت رو مینویسین:

#!/bin/bash
maim '/tmp/lock.png'
convert -filter Gaussian -blur 0x8 '/tmp/lock.png' '/tmp/lock.png'
i3lock --image='/tmp/lock.png'
#only if i3lock is running, turn off monitor
sleep 60; pgrep i3lock && xset dpms force off

که یه اسکرین شات از صفحه میگیره و بعد با imagemagick اونو بلور میکنه بعد اونو ست میکنه رو صفحه ی قفل و در نهایت صفحهی مانیتور رو خاموش میکنه (بعد یه دقیقه و اگه i3lock اجرا باشه که اجرا هست دیگه smile).
بعد اینطوری

bindsym $mod+semicolon exec ~/bin/lock.sh

اضافهش میکنیم به فایل کانفیگ که با مود+سمیکالن صفحه قفل بشه (حواستون باشه تنظیمش کنین به یه کلید دیگه اگه مود+سمیکالن رو تغییر ندادین به کلید های vim-style).

برای اینکه یه صفحه زمینه داشته باشیم میتونیم از برنامه ای به نام feh استفاده کنیم. اونو نصب کنین بعد این اسکریپت رو ایجاد کنین:

#!/bin/bash
feh --bg-fill 'path/to/file.jpg'

بعد توی فایل کانفیگ میذاریم که هربار که i3 میاد بالا اجرا بشه:

exec ~/bin/wallpaper.sh


ترفندها

برای کنترل صدا با کلید های روی کیبورد (کلید های کم و زیاد کردن صدا)، اگه از pulseaudio استفاده میکنین، میشه این اسکریپت ها رو نوشت:

#!/bin/bash
value=`pactl list sinks | grep '^[[:space:]]Volume:' | head -n $(( $SINK + 1 )) | tail -n 1 | sed -e 's,.* \([0-9][0-9]*\)%.*,\1,'`
if [ "$value" -le 95 ]
then
        pactl set-sink-volume 0 +5%
        paplay /usr/share/sounds/freedesktop/stereo/audio-volume-change.oga
fi
#!/bin/bash
pactl set-sink-volume 0 -5%
paplay /usr/share/sounds/freedesktop/stereo/audio-volume-change.oga

و تو فایل کانفیگ هم:

bindsym XF86AudioLowerVolume exec ~/bin/vol_dec
bindsym XF86AudioRaiseVolume exec ~/bin/vol_inc

میشه برای workspace ها متغیر تعریف کرد و ساده تر اونارو مدیریت کرد:

# define workspaces
set $ws1 "1"
set $ws2 "2"
set $ws3 "3"
set $ws4 "4"
set $ws5 "5"
set $ws6 "6"
set $ws7 "7"
set $ws8 "8"
set $ws9 "9"
set $ws10 "10"

# switch to workspace
bindsym $mod+1 workspace $ws1
bindsym $mod+2 workspace $ws2
bindsym $mod+3 workspace $ws3
bindsym $mod+4 workspace $ws4
bindsym $mod+5 workspace $ws5
bindsym $mod+6 workspace $ws6
bindsym $mod+7 workspace $ws7
bindsym $mod+8 workspace $ws8
bindsym $mod+9 workspace $ws9
bindsym $mod+0 workspace $ws10

# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace $ws1
bindsym $mod+Shift+2 move container to workspace $ws2
bindsym $mod+Shift+3 move container to workspace $ws3
bindsym $mod+Shift+4 move container to workspace $ws4
bindsym $mod+Shift+5 move container to workspace $ws5
bindsym $mod+Shift+6 move container to workspace $ws6
bindsym $mod+Shift+7 move container to workspace $ws7
bindsym $mod+Shift+8 move container to workspace $ws8
bindsym $mod+Shift+9 move container to workspace $ws9
bindsym $mod+Shift+0 move container to workspace $ws10

# move focused container to workspace and go there
bindsym $mod+Ctrl+1 move container to workspace $ws1; workspace $ws1
bindsym $mod+Ctrl+2 move container to workspace $ws2; workspace $ws2
bindsym $mod+Ctrl+3 move container to workspace $ws3; workspace $ws3
bindsym $mod+Ctrl+4 move container to workspace $ws4; workspace $ws4
bindsym $mod+Ctrl+5 move container to workspace $ws5; workspace $ws5
bindsym $mod+Ctrl+6 move container to workspace $ws6; workspace $ws6
bindsym $mod+Ctrl+7 move container to workspace $ws7; workspace $ws7
bindsym $mod+Ctrl+8 move container to workspace $ws8; workspace $ws8
bindsym $mod+Ctrl+9 move container to workspace $ws9; workspace $ws9
bindsym $mod+Ctrl+0 move container to workspace $ws10; workspace $ws10

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

برای تغییر اندازه ی پنجره ها میشه از مود+کلیک راست موس استفاده کرد ولی اگه بخوایم از کیبورد استفاده کنیم یه راه حل اینه که یه مد تعیین کنیم مثل فایل کانفیگ اصلی، ولی من دوست دارم اینطوری کلید ها رو تخصیص بدم و تو همون مد اصلی این کارو انجام بدم:

# resize window ( you can also use the mouse for that )
bindsym $mod+Control+h resize shrink width 1 px or 1 ppt
bindsym $mod+Control+j resize grow height 1 px or 1 ppt
bindsym $mod+Control+k resize shrink height 1 px or 1 ppt
bindsym $mod+Control+l resize grow width 1 px or 1 ppt

# alternative resize using arrow keys
bindsym $mod+Control+Left resize shrink width 1 px or 1 ppt
bindsym $mod+Control+Down resize grow height 1 px or 1 ppt
bindsym $mod+Control+Up resize shrink height 1 px or 1 ppt
bindsym $mod+Control+Right resize grow width 1 px or 1 ppt

برای استفاده از چند مونیتور چند راه وجود داره، یکیش استفاده از دستور xrandr هست و یکی هم arandr هست که عملاً یه فرانت اند برای اولیه. اینجا واسه سادگی کار با arandr اون تنظیمی که میخوایم رو آماده میکنیم (نصبشم میکنیم دیگه) بعد رو save که کلیک کنیم اون تنظیم رو به شیوه ی دستور xrandr ذخیره میکنه (یه اسکریپت). بعدش یه حالت تک مونیتوره عادی هم میذاریم و اسکریپت اونم ذخیره میکنیم (حالا دو فایل داریم mono.sh و dual.sh) که اینطوری میتونیم استفاده کنیم:

bindsym $mod+m exec ~/bin/dual.sh
bindsym $mod+shift+m exec ~/bin/mono.sh

که هروقت مونیتور خارجی اضافه کردیم با مود+ام بشه سریع و راحت مونیتور رو فعال کرد. ولی این برای هر مونیتور فرق میکنه پس اینو واسه ستاپ های همیشگی بذارین و در مواقع نیاز از همون arandr استفاده کنین.


کارایی های مخصوص لپتاپ

برای لپتاپ ها ممکنه نیاز باشه نور صفحه نمایش و کیبورد رو تنظیم کنین. اینجا اون نکات رو میگیم. اولش نور صفحه نمایش، میشه از یه برنامه به اسم xbacklight استفاده کرد ولی راه حل دستیش اینه که فایل های مربوط به نور صفحه نمایش رو پیدا کنیم و خودمون یه اسکریپت بنویسیم که این کارو برامون انجام بده (من اینو نگه داشتم چون یه مدت پیش xbacklight یه باگ داشت که درست کار نمیکرد پس اگه زمانی به مشکل برخوردین با اون میتونین از این اسکریپت استفاده کنین):

#!/bin/bash
value=`cat /sys/class/backlight/intel_backlight/brightness | awk '{print int($1+0.5)}'`
max=`cat /sys/class/backlight/intel_backlight/max_brightness`
step=$((max / 20))
action=$1
if [ "$action" == "inc" ]
then
        temp=$((max - step))
        if [ "$value" -lt "$temp" ]
        then
                ((value += step))
                echo "$value" > /sys/class/backlight/intel_backlight/brightness
        fi
fi

if [ "$action" == "dec" ]
then
        if [ "$value" -gt "$step" ]
        then
                ((value -= step))
                echo "$value" > /sys/class/backlight/intel_backlight/brightness
        fi
fi

واضحه که ممکنه فایل دقیقاً همونجا نباشه پس خودتون یه مقدار سر به سرش بذارید. بعد هم لازمه که تو فایل sudoers یه دسترسی بهش بدین چون این فایل توسط روت فقط نوشته میشه:

m47h4r ALL=(root) NOPASSWD: /home/m47h4r/bin/lcd

همینطور هم برای نور کیبورد:

#!/bin/bash
value=`cat /sys/class/leds/asus\:\:kbd_backlight/brightness`
op=$1
if [ "$value" -lt "3" ]
then
        if [ "$op" == "inc" ]
        then
                ((value++))
                echo -n "$value" > /sys/class/leds/asus\:\:kbd_backlight/brightness
        fi
fi
if [ "$value" -gt "0" ]
then
        if [ "$op" == "dec" ]
        then
                ((value--))
                echo -n "$value" > /sys/class/leds/asus\:\:kbd_backlight/brightness
        fi
fi
m47h4r ALL=(root) NOPASSWD: /home/m47h4r/bin/kbled

و بعد اینو اضافه کنین به فایل کانفیگ:

bindsym XF86MonBrightnessDown exec sudo ~/bin/lcd dec
bindsym XF86MonBrightnessUp exec sudo ~/bin/lcd inc
bindsym XF86KbdBrightnessDown exec sudo ~/bin/kbled dec
bindsym XF86KbdBrightnessUp exec sudo ~/bin/kbled inc

برای ویدیو کست هم میشه از ترکیب simplescreenrecorder و mplayer استفاده کرد. اولی که صفحه رو ضبط میکنه دومی هم تصویر وبکم رو روی صفحه نمایش نشون میده با این اسکریپت:

#!/bin/bash
mplayer tv:// -tv driver=v4l2:width=640:height=480:device=/dev/video0 -geometry 100%:100% -fps 24 -noborder

آخرین ویرایش توسط mazhar (2019-01-11 23:28:10)

آفلاین

پانوشت انجمن

پشتیبانی توسط تیم آرچ لینوکس ایران و نیرو گرفته با FluxBB