| LIRCMD(8) | System Administration Utilities | LIRCMD(8) |
نام (NAME)
lircmd - دیمن شبیهساز ماوس مادون قرمز LIRC
خلاصه دستور (SYNOPSIS)
lircmd [گزینهها] [فایل-پیکربندی]
توضیحات (DESCRIPTION)
دستور lircmd رویدادهای رمزگشاییشده فشردن کلید را از سوکت خروجی lircd(8) میخواند و آنها را به رویدادهای ماوس تبدیل میکند. این رویدادها یا روی سوکت خروجی lircmd (بهطور پیشفرض /var/run/lirc/lircmd ) یا با استفاده از گزینه --uinput روی یک دستگاه /dev/input مانند /dev/input/event12 در دسترس قرار میگیرند.
این دیمن میتواند ماوسهایی از نوع MouseSystems، IntelliMouse یا IMPS/2 را شبیهسازی کند. عملکرد آن به یک فایل پیکربندی بستگی دارد که بهطور پیشفرض /etc/lirc/lircmd.conf است. این فایل مشخص میکند که کدام کلید از کدام کنترل از راه دور موجب حرکت ماوس یا کلیک دکمه ماوس شود. همچنین میتوان کلید ویژهای را تعریف کرد که حالت ماوس را فعال یا غیرفعال کند.
کاربرد عادی این است که X11 پیکربندی شود تا از رویدادهای تولیدشده توسط lircmd بهعنوان یک منبع ورودی استفاده کند. بخش «همچنین ببینید» را مشاهده کنید.
با استفاده از گزینه --uinput دستگاه کاربری ایجادشده توسط هسته نامی پویا دارد که معمولاً پس از راهاندازی مجدد تغییر میکند. توزیع lirc شامل یک قاعده udev است که در صورت نصب، یک پیوند ثابت به نام /dev/lircmd ایجاد میکند که همیشه قابل استفاده است.
بهطور پیشفرض، استفاده از گزینه --uinput مستلزم اجرای lircmd با دسترسی ریشه است زیرا دستگاه /dev/uinput فقط توسط کاربر ریشه قابل دسترسی است. توزیع lirc شامل نمونه قواعد udev و پیکربندیهای lircd-setup(8) است که میتوان از آنها برای در دسترس قرار دادن دستگاه برای سایر کاربران استفاده کرد. به این ترتیب، lircmd میتواند بهعنوان یک کاربر عادی اجرا شود.
گزینهها (OPTIONS)
- -h --help
- نمایش پیام راهنما.
- -v --version
- نمایش نسخه.
- -n --nodaemon
- عدم انتقال به پسزمینه (عدم fork).
- -s --socket <مسیر سوکت>
- استفاده از مسیر سوکت جایگزین lircd (منبع ورودی lircmd). پیشفرض کلید output در بخش [lircd] از فایل پیکربندی lirc_options.conf است که در صورت نبود، به /var/run/lirc/lircd بازمیگردد.
- -O --options-file=فایل
- فایل گزینههای پیشفرض جایگزین، معمولاً پیشفرض آن /etc/lirc/lirc_options.conf است.
- -u --uinput
- در سیستمهای لینوکس گزینه --uinput تولید خودکار رویدادهای ورودی لینوکس را فعال میکند. lircmd مسیر /dev/input/uinput را باز کرده و رویدادهای ماوس شبیهسازیشده را به جای ایجاد دستگاه /dev/lircm به هسته لینوکس تزریق میکند. هسته این رویدادها را درست مانند هر دستگاه ورودی دیگر هسته، روی یک دستگاه /dev/input در دسترس سایر برنامهها قرار میدهد.
- -D --loglevel=[سطح]
- تعیین میزان اطلاعات ثبت وقایع (لاگ). [سطح] میتواند یک سطح نمادین syslog باشد: همچنین lircd سه سطح اضافی 'trace'، 'trace1' و 'trace2' را تعریف میکند که پیامهای بیشتری ارائه میدهند ('trace2' بیشترین پیام را دارد). با این حال، در گزارش وقایع این پیامها با عنوان 'debug' علامتگذاری میشوند.
پروتکل سوکت (SOCKET PROTOCOL)
پروتکل سوکت شامل بخشهای مستندنشده است. دادهها روی سوکت خروجی به شرح زیر است:
- MouseSystems
- بستههای ۵ بایتی:
- بایت ۱: اطلاعات دکمه.
- بایت ۲: تغییر محور X.
- بایت ۳: تغییر محور Y.
- بایت ۴ و ۵: 0.
- IMPS/2
- بستههای ۴ بایتی. لطفاً برای جزئیات به کد منبع lircmd مراجعه کنید.
- IntelliMouse
- بستههای ۴ بایتی. لطفاً برای جزئیات به کد منبع lircmd مراجعه کنید.
فایلها (FILES)
دستور lircmd برای خروجی دادن پیامهای خطا از syslogd استفاده خواهد کرد. این که پیامها در کجا نمایش داده شوند به پیکربندی سیستم شما بستگی دارد.
فایل گزینهها بهطور پیشفرض /etc/lirc/lirc_options.conf است؛ lircmd مقادیر موجود در بخش [lircmd] در این فایل را مدیریت میکند. محل این فایل را میتوان با استفاده از گزینه خط فرمان -O/--options-file یا با استفاده از متغیر محیطی LIRC_OPTIONS_PATH تغییر داد. مقادیر موجود در اینجا بهعنوان پیشفرض برای هر گزینهای که در خط فرمان ذکر نشده باشد استفاده میشوند.
دیمنها (DAEMONS)
دستور lircmd یک دیمن است. باید در یک اسکریپت راهاندازی (init script) وابسته به سیستم شروع شود. علاوه بر راهاندازی systemd که بهطور پیشفرض نصب میشود، اسکریپتهای نمونه برای سایر توزیعها و سیستمهای init در دایرکتوری contrib وجود دارند. دستور lircmd باید پس از lircd اجرا شود زیرا به سوکتی که lircd فراهم میکند متصل میشود.
اشکالات (BUGS)
از آنجا که نام دستگاه استفادهشده هنگام ثبت دستگاه --uinput ثابت است، در یک سیستم مشخص فقط یک نمونه از lircmd با استفاده از این گزینه میتواند اجرا شود.
پروتکل سوکت از نظر مستندات وضعیت آشفتهای دارد.
همچنین ببینید (SEE ALSO)
http://lirc.org/html/configure.html#lircmd.conf
lircd(8)
lircd-setup(8)
| Last change: Aug 2016 | lircmd 0.10.2 |