صفحه نخست | سیستم وبلاگ | در مورد من | twitter
feh بر مبنای کتابخانه Imlib2 طراحی شده و دارای چندین مد کاربری میباشد .
شکل کلی دستور feh به گونه زیر است.
$ feh [option] files or directories or URLs
اگر در جلوی دستور نام یک یا چند فایل قرار گرفته باشد، feh آن فایلها را برای نمایش باز میکند و در صورت قرار گرفتن نام دایرکتوری کلیه تصاویر آن دایرکتوری را نمایش میدهد. اگر نه نام فایل و نه دایرکتوری برای نمایش وجود نداشته باشد، feh تصاویر دایرکتوری فعلی را برای نمایش در نظر میگیرد.
یکی از مهمترین و کاربردیترین ویژگیهای feh قابلیت آن در نصب تصویر پسزمینه یا wallpaper است.
$ feh img-1.jpg img-2.jpg img-16.jpg
کلیه عکسهای دایرکتوری فعلی را نمایش دهید.
$ feh
کلیه عکسهای قابل نمایش دایرکتوری فعلی را به صورت تمام صفحه full screen نمایش دهید.
$ feh --fullscreen
عکسهای دایرکتوری doc/pic/~ را نمایش دهید.
$ feh ~/doc/pic
عکسهایی که در نامشان عدد ۱ میباشد را نمایش بدهید.
$ feh *1*
عکسهایی که نامشان با img-2 شروع میشوند را در پنجرههای جداگانه نمایش دهید.
$ feh --multiwindow img-2*
یک مونتاژ از عکسهای موجود در این دایرکتوری نمایش دهید.
$ feh --montage
عکسهای این دایرکتوری را در مد index نمایش دهید.
$ feh --index
عکسهایی که به 2.jpg ختم میشوند را در مد thumbnails نمایش دهید.
$ feh --thumbnails *2.jpg
اطلاعات کلیه تصاویر موجود در این دایرکتوری را نمایش دهید.
$ feh --list NUM FORMAT WIDTH HEIGHT PIXELS SIZE ALPHA FILENAME 1 png 540 598 322k 72k X ./f1.png 2 jpeg 460 288 132k 27k - ./img-1.jpg 3 jpeg 1280 960 1M 431k - ./img-10.jpg 4 jpeg 1280 1024 1M 350k - ./img-11.jpg 5 jpeg 1024 768 786k 340k - ./img-12.jpg 6 jpeg 1024 768 786k 341k - ./img-13.jpg 7 jpeg 2592 1944 5M 899k - ./img-14.jpg 8 jpeg 1024 768 786k 173k - ./img-15.jpg 9 jpeg 1280 854 1M 893k - ./img-16.jpg 10 jpeg 480 417 200k 49k - ./img-2.jpg 11 jpeg 816 612 499k 60k - ./img-3.jpg 12 jpeg 1280 1024 1M 997k - ./img-4.jpg 13 jpeg 600 400 240k 74k - ./img-5.jpg 14 jpeg 521 834 434k 36k - ./img-6.jpg 15 jpeg 1600 1200 1M 577k - ./img-7.jpg 16 jpeg 1600 1200 1M 309k - ./img-8.jpg 17 jpeg 1600 1200 1M 146k - ./img-9.jpg
اطلاعات ۵ عکس در این دایرکتوری که دارای بیشترین عرض و ارتفاع میباشند را نمایش دهید.
$ feh --list | sed '1 d' | sort -k3,3nr -k4,4nr | head -n 5 7 jpeg 2592 1944 5M 899k - ./img-14.jpg 15 jpeg 1600 1200 1M 577k - ./img-7.jpg 16 jpeg 1600 1200 1M 309k - ./img-8.jpg 17 jpeg 1600 1200 1M 146k - ./img-9.jpg 12 jpeg 1280 1024 1M 997k - ./img-4.jpg
نام کلیه عکسهایی که قابل load شدن توسط feh میباشند را نمایش دهید.
$ feh --loadable
فایلهایی که برای feh ناشناختهاند را لیست کنید.
$ feh --unloadable ./1.sh
نام فایل، عرض و ارتفاع عکسهای دایرکتوری فعلی را در خروجی استاندارد چاپ کنید.
$ feh --customlist "%n %w %h" 1.jpg 4000 3000 10.jpg 1974 3000 100.jpg 1920 1200 101.jpg 1920 1200 102.jpg 1536 2196
عکسهای دایرکتوری فعلی را در پنجرهای به ابعاد ثابت 600x450 باز کنید.
$ feh --geometry 600x450
ردیف | جا نگهدار | توضیحات |
۱ | f% | مسیر فایل عکس همراه با نام عکس را بر میگرداند. |
۲ | F% | مانند f% بجز اینکه رشته برگشتی escape شده است و مناسب استفاده در shell script میباشد. |
۳ | w% | عرض عکس. w ابتدای کلمه width است. |
۴ | h% | ارتفاع عکس. h ابتدای کلمه height است. |
۵ | u% | شماره فایل عکس جاری داخل لیست عکسها. مثلا عکس شماره ۸ از ۴۰ |
۶ | l% | تعداد فایلهای داخل لیست عکسها. l ابتدای کلمه length میباشد. |
۷ | n% | نام فایل عکس. |
۸ | N% | نام فایل عکس به صورت Escape شده. مناسب استفاده در shell script |
۹ | m% | مد فعلی feh |
۱۰ | p% | تعداد پیکسلهای عکس. p ابتدای کلمه pixel است. |
۱۱ | P% | تعداد پیکسلهای عکس به صورت کیلو پیکسل و مگا پیکسل |
۱۲ | s% | حجم عکس به صورت بایت. s ابتدای کلمه size است. |
۱۳ | S% | حجم عکس به صورت قابل خواندن مثلا بر حسب کیلو بایت و مگا بایت |
۱۴ | t% | فرمت عکس. t ابتدای کلمه type است. |
۱۵ | o% | آفست پنجره عکس از گوشه تصویر یعنی فاصله بالا سمت چپ عکس از بالا سمت چپ صفحه نمایش. |
۱۶ | r% | گردش عکس فعلی (rotation) |
۱۷ | z% | زوم عکس فعلی |
۱۸ | v% | شماره نسخه کنونی feh. حرف v ابتدای کلمه version میباشد. |
نام عکس و تاریخ دقیق را در کنار هر عکس نمایش دهید.
$ feh --geometry 500x400 --info "echo -n %n \" \"; date" ~/doc/pic
عکسهای دایرکتوری doc/pic/~ را به صورت scale-down نمایش دهید.
$ feh --scale-down ~/doc/pic
عکسهای دایرکتوری doc/pic/~ را نمایش بدهید. عنوان پنجره را به این صورت تنظیم کنید: safarionline.ir - [current Image Number] of [Total Image Number] - [Image Name]
$ feh --scale-down --title "safarionline.ir - %u of %l - %n" ~/doc/pic
اگر نام فایل - (علامت dash) باشد به معنای ورودی استاندارد است و لیست عکسها از ورودی استاندارد (در اینجا اکثرا pipe) خوانده میشود. توجه کنید که ورودی استاندارد در اکثر مواقع صفحه کلید است ولی در اینجا تایپ کردن آدرس تک تک عکسها برای نمایش چندان منطقی نیست!
به جای سوییچ طولانی filelist-- میتوانید از سوییچ مختصر f- نیز استفاده کنید.
عکسهای موجود در این دایرکتوری را از حجم بزرگتر به کوچکتر نمایش دهید.
$ ls -S | feh --scale-down --filelist -
کلیه عکسهای jpg این دایرکتوری را نمایش دهید.
$ find . -d 1 -iname "*.jpg" >filelist $ feh --scale-down --filelist filelist
اگر هنگام نمایش اسلایدها دگمه h را بزنید حرکت خودکار عکسها متوقف میشود. برای شروع دوباره میبایست مجددا کلید h را فشار دهید.
عکسها دایرکتوری فعلی را به صورت تمام صفحه نشان دهید. هر عکس ۵ ثانیه نمایش داده شود و بعد به صورت خودکار عکس بعدی بیاید.
$ feh --fullscreen --slideshow-delay 5
به جای استفاده از سوییچ طولانی recursive-- میتوانید از سوییچ کوتاه r- استفاده کنید.
کلیه عکسهای دایرکتوری doc/pic/~ و زیر دایرکتورهای آن را نمایش دهید. مدت نمایش هر عکس ۱۰ ثانیه باشد و عکسها به صورت fullscreen به نمایش در بیایند.
$ feh --fullscreen --recursive --slideshow-delay 10 ~/doc/pic
عکسهایی که با img-1 شروع میشوند را به صورت تصادفی نمایش دهید.
$ feh --scale-down --randomize img-1*
غیر از دو مرتبسازی name و filename، مقداری تاخیر در شروع برنامه داریم، چون feh میبایست اطلاعات عکسها را استخراج کند و سپس مرتبسازی را انجام دهد.
عکسهای دایرکتوری جاری را بر مبنای نام عکس مرتب کرده و نمایش دهید.
$ feh --scale-down --sort name
عکسهای دایرکتوری فعلی را بر مبنای عرض مرتب کرده و نمایش دهید.
$ feh --scale-down --sort width
عکسهای دایرکتوری doc/pic/~ و کلیه زیر دایرکتوریهای آن را از بزرگترین عرض به کوچکترین عرض نمایش دهید.
$ feh --info "echo '%wx%h'" --geometry 700x550 --recursive --sort width --reverse ~/doc/pic
برای اینکه عرض و ارتفاع عکسها کنترل شده باشد اندازه پنجره عکس را در ابعاد 700x550 ثابت کردهایم و با استفاده از سوییچ info-- ابعاد واقعی عکس را در قسمت پایین سمت چپ عکس مینویسیم تا درستی عملکرد دستور را تصدیق کنیم.
بسته به تعداد عکسها ممکن است آماده شدن تصاویر طول بکشد چون feh میبایست ابتدا کلیه عکسها را بررسی کرده و عرض آنها را به دست بیاورد، سپس عمل مرتبسازی را انجام داده و نهایتا لیست حاصل شده را بر عکس کرده و مورد استفاده قرار دهد. البته عمل زمانبر، همان بررسی عرض عکسها میباشد و نه مرتبسازی و معکوس کردن.
فقط یکبار تمام عکسهای png دایرکتوری فعلی را نمایش بده.
$ find . -d 1 -iname "*.png" | feh --scale-down --filelist - --cycle-once
مثال در سوییچ draw-filename--
عکسهای این دایرکتوری و کلیه زیر دایرکتوریهای آن را بر مبنای نام فایل مرتب کرده و نمایش دهید. نام فایل عکس روی آن نمایش داده شود تا بتوانیم بررسی کنیم که آیا مرتبسازی درست انجام شده است یا خیر.
$ feh --scale-down --recursive --sort filename --draw-filename --draw-tinted
عکسهای من با پیشوند -img شروع میشوند و سپس یک عدد به دنبال هر عکس میآید. این عدد به صورت صعودی میباشد. یعنی اول ۱ و بعد ۲ و الی آخر. عکسها را مرتب کرده و سپس از عکس img-8.jpg به بعد اقدام به نمایش عکسها کنید.
$ ls | sort -k1.5,1.10n | feh --start-at img-8.jpg --filelist -
مثال در معرفی سوییچ fullscreen--
کلیه عکسهایی که نامشان متشکل از ۹ حرف است را در حالت تمام صفحه نمایش دهید. کاربر امکان کار با موس را نداشته باشد و نام فایل به صورت خوانا روی عکس نمایش داده شود.
$ feh --draw-filename --draw-tinted --fullscreen --hide-pointer ?????????
یک عکس از کلیه عکسهای موجود در دایرکتوری فعلی تهیه کنید. زیر هر عکس نام آن و عرض و ارتفاع مربوط به آن نوشته شده باشد.
$ feh --index --index-info "%n\n%wx%h"
نکته مهم اینست که برای این منظور feh میبایست عرض و ارتفاع تمام عکسها را محاسبه کند لذا ممکن است در زمان شروع برنامه کمی تاخیر به وجود بیاید.
عکسهای دایرکتوری doc/pic/~ و کلیه زیر دایرکتوریهای آنرا که نهایتا ابعادی به اندازه 800x600 دارند به صورت اسلایدی و با توقف هر اسلاید ۳ ثانیه نمایش دهید.
$ feh --slideshow-delay 3 --recursive --max-dimension 800x600 ~/doc/pic
عکسهای دایرکتوری doc/pic/~ را نمایش دهید. حداقل ارتفاع عکسها میبایست ۴۵۰ پیکسل باشد.
$ feh --info "echo %wx%h" --geometry 700x550 --min-dimension 0x450 ~/doc/pic
برای کنترل پنجره نمایش عکس، آنرا در ابعاد 700x500 محصور کردهایم. ابعاد واقعی عکس را با استفاده از سوییچ info-- در پایین سمت چپ هر عکس مینویسیم تا درستی عملکرد دستور را مشاهده کنیم.
عکسهای دایرکتوری doc/pic/~ را به صورت تو در تو و تمام صفحه نمایش دهید. بعد از ۳ ثانیه مکث روی هر عکس، عکس بعدی به نمایش در بیاید. امکان راست کلیک کردن روی هر عکس را از کاربر بگیرید.
$ feh --recursive --fullscreen --slideshow-delay 3 --no-menus ~/doc/pic
از چه نسخه feh استفاده میکنید؟
$ feh --version feh version 2.7 Compile-time switches: curl xinerama
عکسهای دایرکتوری doc/pic/~ را در پنجرهای به ابعاد 750x450 نمایش دهید. فضای اطراف عکسها سیاه رنگ باشد. نام و عرض و ارتفاع واقعی هر عکس را نیز درون عکس نمایش دهید.
$ feh --image-bg black --draw-tinted --info "echo %n; echo %wx%h" --geometry 750x450 ~/doc/pic
نکته مهم: این آدرس به صورت نسبی نسبت به آدرس هر عکس سنجیده میشود.
caption هر عکس را در صورت وجود، روی عکس نمایش دهید.
$ feh --geometry 750x450 --caption-path . ~/doc/pic
در جلوی این سوییچها دستور دلخواه کاربر میآید که در محیط sh اجرا میگردد. از جانگهدارها میتوان بسته به نوع هر دستور در این مکان استفاده کرد. سوییچ action-- با زدن دگمه 0 اجرا میشود. سوییچ action1-- باز زدن دگمه 1 و به همین ترتیب action های بعدی با کلیدهای همسان با شمارهشان اجرا میگردند.
با اجرا شدن هر اکشن به صورت پیش فرض عکس بعدی به نمایش در میآید. برای غیر فعال کردن این حالت قبل از دستور ; بگذارید.
دستور feh بنویسید که با زدن دگمه ۷ آدرس فایل عکس و عرض و ارتفاع عکس نمایش داده شده را در خروجی استاندارد (ترمینال) چاپ کند.
$ feh --geometry 750x450 --action7 "echo '%f ---> %wx%h'" ~/doc/pic
دستور feh بنویسید که با زدن دگمه ۹ آدرس دقیق عکس را در فایل images.txt/~ ذخیره کند. بعد از اجرا شدن دستور، عکس عوض نشود و همان عکسی که آدرسش در فایل قرار گرفته است نمایش داده شود.
$ feh --geometry 750x450 --action9 ';y=`realpath "%f"`; echo "$y" >>~/images.txt' ~/doc/pic
به ; که قبل از دستورات اکشن آمده است توجه کنید. این کاراکتر باعث میشود که پس از اجرای اکشن، عکس فعلی دوباره نمایش داده شود و نه عکس بعدی.
دستور feh بنویسید که با زدن دگمه ۸ عکس جاری را در دایرکتوری images/~ کپی کند. لطفا لیست اکشنها را در هر عکس نمایش دهید.
$ mkdir ~/images $ feh --draw-action --action8 ';cp "%f" ~/images' ~/doc/pic
نکته مهم: جانگهدار f% را بین "" محصور کردهایم تا فایلهایی که حاوی space در نامشان هستند درست quote شوند.
به جای استفاده از سوییچ draw-action--، میتوان هنگام نمایش عکس، دگمه a را زد. برای پنهان کردن اکشنها، مجددا هنگامی که فوکوس روی عکس است a را فشار دهید.
با استفاده از سیگنال SIGUSR1 عکسهای دایرکتوری doc/pic/~ را به صورت اسلاید نمایش دهید. مدت نمایش هر عکس ۳ ثانیه باشد.
$ feh --geometry 500x500 --scale-down ~/doc/pic & $ while pidof feh 1>/dev/null 2>&1 do kill -SIGUSR1 `pidof feh` sleep 3 done
در مثال فوق ابتدا feh در پس زمینه اجرا میکنیم تا خط فرمان برای پذیرش دستورات بعدی آزاد شود. سپس در حلقه while مداوما از وجود پروسس feh اطمینان حاصل میکنیم. اگر پروسس وجود داشت با استفاده از دستور kill سیگنال SIGUSR1 را به آن ارسال میکنیم.
استفاده از سیگنال SIGUSR2 برای نمایش عکس قبلی دقیقا مشابه سیگنال SIGUSR1 است.
عکسهای دایرکتوری فعلی را بر حسب حجم فایل به صورت نزولی مرتب کنید ولی با استفاده از سیگنال SIGUSR2 لیست عکسها را به صورت معکوس (از کمترین به بیشترین حجم) مرور کنید.
$ ls -S | feh --filelist - --geometry 500x500 --scale-down & $ while pidof feh 1>/dev/null 2>&1 do kill -SIGUSR2 `pidof feh` sleep 3 done
feh قابلیت نصب عکس زمینه در ۵ حالت مختلف را دارد. این حالتها را به صورت جداگانه در زیر مرور میکنیم. لطفا بعد از خواندن توضیحات سه عکس با این ابعاد انتخاب کنید: یکی بسیار بزرگ، دومی متوسط و سومی کوچک و ۵ سوییچ زیر را روی هر ۳ عکس اجرا کنید تا تفاوت سوییچها را بهتر متوجه شوید.
عکس doc/pic/5.jpg/~ را به عنوان عکس پس زمینه به حالت center استفاده کنید.
$ feh --bg-center ~/doc/pic/5.jpg
عکس doc/pic/5.jpg/~ را به عنوان عکس پس زمینه به حالت fill استفاده کنید.
$ feh --bg-fill ~/doc/pic/5.jpg
عکس doc/pic/5.jpg/~ را به عنوان عکس پس زمینه به حالت max استفاده کنید.
$ feh --bg-max ~/doc/pic/5.jpg
عکس doc/pic/5.jpg/~ را به عنوان عکس پس زمینه به حالت scale استفاده کنید.
$ feh --bg-scale ~/doc/pic/5.jpg
عکس doc/pic/5.jpg/~ را به عنوان عکس پس زمینه به حالت tile استفاده کنید.
$ feh --bg-tile ~/doc/pic/5.jpg
کلیه حقوق برای دارندهی سایت محفوظ است.