| UWSM-APP(1) | General Commands Manual | UWSM-APP(1) |
نام (NAME)
uwsm-app - اجرای برنامهها در قالب واحدهای systemd با استفاده از دیمن برنامه UWSM.
خلاصه دستور (SYNOPSIS)
uwsm-app [-h] [-s {a,b,s,custom.slice}] [-t {scope,service}] [-a app_name] [-u unit_name] [-d unit_description] [-S ] [-T] -- application [args ...]
توضیحات (DESCRIPTION)
راهانداز برنامه در قالب واحد با پشتیبانی از Desktop Entry. این ابزار مشابه دستور uwsm app است و از آرگومانهای یکسانی استفاده میکند، زیرا تجزیه آرگومانها در سمت دیمن برنامه و با همان تجزیهگر انجام میشود.
گزینهها (OPTIONS)
| -s {a,b,s,custom.slice} | انتخابگر Slice (پیشفرض: a): |
| a - app-graphical.slice | |
| b - background-graphical.slice | |
| s - session-graphical.slice | |
| هر slice با نام کامل | |
| -t {scope,service} | نوع واحد برای راهاندازی (پیشفرض: scope، قابل تنظیم با متغیر محیطی UWSM_APP_UNIT_TYPE). |
| -a app_name | بازنویسی نام برنامه (زیررشتهای در نام واحد). |
| -u unit_name | بازنویسی کامل نام واحدِ خودکار تولیدشده. |
| -d unit_description | توضیحات واحد (Unit Description). |
| -S {out,err,both} | بیصدا کردن stdout، stderr، یا هر دو. |
| -T | اجرای برنامه در ترمینال. اجازه میدهد دستور خالی باشد تا صرفاً یک ترمینال اجرا شود. |
برنامه میتواند به صورت یک دستور به همراه آرگومانهای اختیاری، یا یک شناسه Desktop Entry که به صورت اختیاری با شناسه Action جداشده با «:» خاتمه مییابد مشخص شود. اگر یک Desktop Entry اجرا میشود، آرگومانها باید با آن سازگار باشند.
همیشه از «--» برای رفع ابهام در آرگومانهای دارای خط تیره که متعلق به خود برنامه هستند استفاده کنید.
آرگومانهای ویژهای که مستقیماً به دیمن برنامه هدایت میشوند:
- ping بررسی دیمن برنامه؛ باید «pong» را برگرداند.
- stop متوقف کردن دیمن برنامه.
عملکرد (OPERATION)
کلاینت uwsm-app آرگومانها را از طریق یک pipe به دیمن برنامه uwsm ارسال میکند. با دریافت آرگومانها، دیمن برنامه کد پوسته را به uwsm-app برمیگرداند تا آن را بهطور محلی اجرا کند. دستورهای منفرد با exec شروع میشوند، و دستورهای تکرارشونده با قرارگیری & در انتهای هر یک سرهمبندی شده و به دنبال آنها wait میآید.
هدف از این ساختار، رد کردن تمام روالهای سنگین راهاندازی و import در Python است که با هر بار فراخوانی «uwsm app» سرعت را کاهش میدهند. در عوض، دیمن این کار را تنها یکبار انجام داده و سپس به درخواستها گوش میدهد، در حالی که یک اسکریپت شل ساده میتواند آرگومانها را به یک pipe فرستاده و کد دریافتشده از پایپ دیگر را از طریق eval اجرا کند که بسیار سریعتر است.
همچنین ببینید (SEE ALSO)
| 2026-08-24 |