lcdexec(1) LCDproc suite lcdexec(1)

lcdexec - کلاینت LCDproc برای اجرای دستورات از طریق منوی LCDd

lcdexec [-hf] [-c config] [-a addr] [-p port] [-r level] [-s bool]

برنامه lcdexec به LCDd (کارساز LCDproc) متصل شده و یک زیرمنو به منوی اصلی LCDd اضافه می‌کند که به کاربر امکان می‌دهد دستورات مورد نظر خود را برای اجرا انتخاب کند. می‌توانید با فشردن کلید منوی پیکربندی‌شده برای LCDd، به این منو دسترسی پیدا کنید.

دستور lcdexec گزینه‌های خط فرمان زیر را می‌پذیرد که بر گزینه‌های متناظر مشخص‌شده در فایل پیکربندی ارجحیت دارند:

تنظیم نام فایل پیکربندی برای خواندن؛ پیش‌فرض /etc/lcdexec.conf است.
تنظیم نشانی میزبانی که LCDd روی آن در حال اجرا است؛ پیش‌فرض localhost است.
تنظیم درگاهی (پورت) که LCDd روی آن اتصالات را می‌پذیرد؛ پیش‌فرض 13666 است.
اجرا در پیش‌زمینه (foreground).
تنظیم سطح گزارش‌دهی به level، که یک عدد صحیح از 0 (تنها خطاهای حیاتی) تا 5 (پیام‌های اشکال‌زدایی) است. پیش‌فرض 2 است (تنها خطاها و هشدارها).
گزارش‌دهی به syslog (مقدار 1) یا به stdout (مقدار 0، پیش‌فرض).

علاوه بر گزینه‌های خط فرمان ذکر شده در بالا، lcdexec گزینه‌ها را از یک فایل پیکربندی نیز دریافت می‌کند.

انتظار می‌رود این فایل قالبی مشابه با «فایل‌های INI» داشته باشد که بخش‌های آن با سرآیندهای بخش داخل براکت مشخص شده و خطوط گزینه‌ها از جفت‌های کلید=مقدار (key=value) تشکیل شده‌اند.

نام‌های بخش و گزینه‌ها تنها می‌توانند شامل نویسه‌های دامنه [a-zA-Z0-9_] باشند، در حالی که رشته‌های مقادیر می‌توانند شامل هر نویسه قابل چاپی باشند. رشته‌های مقادیری که نویسه‌هایی خارج از دامنه [a-zA-Z0-9_] دارند باید با علامت نقل‌قول دوتایی (کوتیشن) محصور شوند. برای درج علامت نقل‌قول دوتایی یا بک‌اسلش در رشته، باید قبل از آن‌ها یک بک‌اسلش قرار گیرد تا اسکیپ شوند.

فایل پیکربندی lcdexec دست‌کم به دو بخش نیاز دارد:

[lcdexec]
برای گزینه‌های عمومی
[MainMenu]
برای بالاترین سطح از سلسله‌مراتب منو که باید نمایش داده شود.

بخش [lcdexec] از گزینه‌های زیر پشتیبانی می‌کند:

نام میزبان یا نشانی IP سرور LCDd برای اتصال به آن. اگر مشخص نشود، server به طور پیش‌فرض localhost خواهد بود.
درگاه (پورت) سرور برای اتصال به آن. مقدار پیش‌فرض برای port برابر 13666 (درگاه LCDproc) است.
تنظیم سطح گزارش‌دهی به level، که یک عدد صحیح از 0 (تنها خطاهای حیاتی) تا 5 (پیام‌های اشکال‌زدایی) است. پیش‌فرض 2 است (تنها خطاها و هشدارها).
مشخص می‌کند که گزارش‌ها به syslog ارسال شوند (TRUE) یا به stderr (مقدار FALSE).
مشخص می‌کند که برنامه در پیش‌زمینه اجرا شود (TRUE) یا در پس‌زمینه (FALSE). اگر مشخص نشود، پیش‌فرض FALSE برای حالت دیمن (daemon) خواهد بود.
تنظیم نام نمایشی برای منوی اصلی. اگر مشخص نشود، به طور پیش‌فرض lcdexec HOST خواهد بود که در آن HOST نام میزبان سیستمی است که lcdexec روی آن اجرا می‌شود.
تنظیم پوسته‌ای که هنگام اجرای برنامه‌ها استفاده می‌شود. اگر مشخص نشود، lcdexec تلاش می‌کند متغیر محیطی SHELL را بخواند. اگر ناموفق باشد، به طور پیش‌فرض از /bin/sh استفاده می‌کند. توجه داشته باشید که پوسته داده‌شده در اینجا باید گزینه -c و به دنبال آن خط فرمان اجرایی را درک کند.

بخش [MainMenu] و بخش‌هایی که به آن‌ها ارجاع می‌دهد، سلسله‌مراتب منوی نمایشی را تعریف می‌کنند. هر منو و هر مدخل منو در سلسله‌مراتب منو به صورت یک بخش جداگانه تعریف می‌شود. این‌که یک بخش معین یک زیرمنو است یا یک مدخل دستور، بر اساس کلیدهای گزینه‌های موجود در آن بخش تعیین می‌شود.

بخش‌های منو / مدخل منو می‌توانند شامل گزینه‌های زیر باشند:

یک مدخل منو با نام entry را تعریف می‌کند که مشخصات بیشتر آن در بخش [entry] تعیین می‌شود.

بخش‌هایی که شامل یک یا چند گزینه Entry= باشند، منو هستند.

دستور سیستمی command را تعریف می‌کند که هنگام انتخاب این مدخل باید اجرا شود.

بخش‌هایی که شامل گزینه Exec= باشند، مدخل‌های دستور هستند.

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

/etc/lcdexec.conf
فایل پیکربندی پیش‌فرض سیستم.

در فایل پیکربندی:

## general options for lcdexec ##
[lcdexec]
# address of the LCDd server to connect to
Address=localhost
# Port of the server to connect to
Port=13666
# set reporting level
ReportLevel=2
# report to to syslog ?
ReportToSyslog=false
# run in foreground [default: false; legal: true, false]
Foreground=false
# display name for the main menu [default: lcdexec HOST]
#DisplayName=lcdexec
# main menu definition
[MainMenu]
# the Entry=... lines (one for each menu entry) tell it is a menu definition
Entry=EjectCD
Entry=ShutdownMenu
# definition of a command
[EjectCD]
# name to display in the menu instead of the section name
DisplayName="Eject CD-ROM"
# the Exec=... line tells that it is a command
Exec="umount /cdrom; cdeject"
# definition of a menu
[ShutdownMenu]
DisplayName="Shutdown menu"
# a menu contains an Entry=... line for each menu entry
Entry=Shutdown5min
Entry=Reboot5min
Entry=CancelShutdown
Entry=ShutdownNow
Entry=RebootNow
[Shutdown5min]
DisplayName="Shutdown in 5 minutes"
Exec="shutdown -h +5"
Feedback=yes
[Reboot5min]
DisplayName="Reboot in 5 minutes"
Exec="shutdown -r +5"
Feedback=yes
[CancelShutdown]
DisplayName="Cancel shutdown/reboot"
Exec="shutdown -c"
Feedback=yes
[ShutdownNow]
DisplayName="Shutdown now"
Exec="shutdown -h now"
[RebootNow]
DisplayName="Reboot now"
Exec="shutdown -r now"

اجرای lcdexec با دستور:

lcdexec -c /usr/local/etc/lcdexec.conf

این پیکربندی به شما امکان می‌دهد تا با باز کردن منوی LCDd، انتخاب «lcdexec» و سپس انتخاب «Eject CD-ROM»، دیسک CD-ROM را خارج کنید. همچنین امکان اجرای خاموش‌سازی‌های مختلف را فراهم می‌سازد؛ از جمله گزینه «Shutdown in 5 minutes» با باز کردن منوی LCDd، انتخاب «lcdexec»، انتخاب «Shutdown menu» و در نهایت انتخاب «Shutdown in 5 minutes».

LCDd(8)

ابزار lcdexec توسط Joris Robijn و Peter Marschall نوشته شده است. این ابزار بخشی از مجموعه LCDproc است.

جدیدترین نسخه LCDproc باید از این نشانی در دسترس باشد:

http://www.lcdproc.org

نرم‌افزار LCDproc به صورت «WorksForMe-Ware» منتشر شده است. به عبارت دیگر، این نرم‌افزار آزاد و کاربردی است و ما تضمین نمی‌کنیم که روی هیچ دستگاهی به جز سیستم‌هایی که روی آن‌ها توسعه یافته است کار خاصی انجام دهد.

این برنامه از نظر فنی تحت مجوز GNU GPL منتشر شده است (شما باید پرونده «COPYING» را همراه با LCDproc دریافت کرده باشید؛ همچنین برای اطلاعات بیشتر به نشانی http://www.fsf.org مراجعه کنید)، بنابراین می‌توانید آن را آزادانه توزیع کرده و استفاده نمایید — اما باید کد منبع آن را به صورت آزاد و رایگان در دسترس هر کسی که خواهان آن است قرار دهید.

برای مطالعه اطلاعات حقوقی دقیق، مجوز عمومی همگانی گنو (GNU GPL) را مطالعه فرمایید. این متن ارزش خواندن دارد.

24 March 2011 LCDproc