UWSM-APP(1) General Commands Manual UWSM-APP(1)

uwsm-app - اجرای برنامه‌ها در قالب واحدهای systemd با استفاده از دیمن برنامه UWSM.

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 ...]

راه‌انداز برنامه در قالب واحد با پشتیبانی از Desktop Entry. این ابزار مشابه دستور uwsm app است و از آرگومان‌های یکسانی استفاده می‌کند، زیرا تجزیه آرگومان‌ها در سمت دیمن برنامه و با همان تجزیه‌گر انجام می‌شود.

-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 متوقف کردن دیمن برنامه.

کلاینت uwsm-app آرگومان‌ها را از طریق یک pipe به دیمن برنامه uwsm ارسال می‌کند. با دریافت آرگومان‌ها، دیمن برنامه کد پوسته را به uwsm-app برمی‌گرداند تا آن را به‌طور محلی اجرا کند. دستورهای منفرد با exec شروع می‌شوند، و دستورهای تکرارشونده با قرارگیری & در انتهای هر یک سرهم‌بندی شده و به دنبال آن‌ها wait می‌آید.

هدف از این ساختار، رد کردن تمام روال‌های سنگین راه‌اندازی و import در Python است که با هر بار فراخوانی «uwsm app» سرعت را کاهش می‌دهند. در عوض، دیمن این کار را تنها یک‌بار انجام داده و سپس به درخواست‌ها گوش می‌دهد، در حالی که یک اسکریپت شل ساده می‌تواند آرگومان‌ها را به یک pipe فرستاده و کد دریافت‌شده از پایپ دیگر را از طریق eval اجرا کند که بسیار سریع‌تر است.

uwsm(1), systemd-run(1)

2026-08-24