.\" Generated by scdoc 1.11.5 .\" Complete documentation for this program is not available as a GNU info page .ie \n(.g .ds Aq \(aq .el .ds Aq ' .nh .ad l .\" Begin generated content: .TH "UWSM\-APP" "1" "2026\-08\-24" .PP .SH "نام (NAME)" .PP \fBuwsm\-app\fR \- اجرای برنامه‌ها در قالب واحدهای systemd با استفاده از دیمن برنامه UWSM.\& .PP .SH "خلاصه دستور (SYNOPSIS)" .PP \fBuwsm\-app\fR [\-h] [\-s {\fBa\fR,\fBb\fR,\fBs\fR,\fIcustom\fR.\&slice}] [\-t {scope,service}] [\-a \fIapp_name\fR] [\-u \fIunit_name\fR] [\-d \fIunit_description\fR] [\-S ] [\-T] \-\- \fIapplication\fR [\fIargs\fR .\&.\&.\&] .PP .SH "توضیحات (DESCRIPTION)" .PP راه‌انداز برنامه در قالب واحد با پشتیبانی از Desktop Entry.\& این ابزار مشابه دستور \fBuwsm app\fR است و از آرگومان‌های یکسانی استفاده می‌کند، زیرا تجزیه آرگومان‌ها در سمت دیمن برنامه و با همان تجزیه‌گر انجام می‌شود.\& .PP .SH "گزینه‌ها (OPTIONS)" .PP .TS l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx. T{ \fB\-s\fR {\fBa\fR,\fBb\fR,\fBs\fR,\fIcustom\fR.\&slice} T} T{ انتخاب‌گر Slice (پیش‌فرض: \fBa\fR): T} T{ T} T{ \fBa\fR \- \fBapp\-graphical.\&slice\fR T} T{ T} T{ \fBb\fR \- \fBbackground\-graphical.\&slice\fR T} T{ T} T{ \fBs\fR \- \fBsession\-graphical.\&slice\fR T} T{ T} T{ هر slice با نام کامل T} T{ \fB\-t\fR {\fBscope\fR,\fBservice\fR} T} T{ نوع واحد برای راه‌اندازی (پیش‌فرض: \fBscope\fR، قابل تنظیم با متغیر محیطی \fBUWSM_APP_UNIT_TYPE\fR).\& T} T{ \fB\-a\fR \fIapp_name\fR T} T{ بازنویسی نام برنامه (زیررشته‌ای در نام واحد).\& T} T{ \fB\-u\fR \fIunit_name\fR T} T{ بازنویسی کامل نام واحدِ خودکار تولیدشده.\& T} T{ \fB\-d\fR \fIunit_description\fR T} T{ توضیحات واحد (Unit Description).\& T} T{ \fB\-S\fR {\fBout\fR,\fBerr\fR,\fBboth\fR} T} T{ بی‌صدا کردن stdout، stderr، یا هر دو.\& T} T{ \fB\-T\fR T} T{ اجرای برنامه در ترمینال.\& اجازه می‌دهد دستور خالی باشد تا صرفاً یک ترمینال اجرا شود.\& T} .TE .sp 1 برنامه می‌تواند به صورت یک دستور به همراه آرگومان‌های اختیاری، یا یک شناسه Desktop Entry که به صورت اختیاری با شناسه Action جداشده با «\fB:\fR» خاتمه می‌یابد مشخص شود.\& اگر یک Desktop Entry اجرا می‌شود، آرگومان‌ها باید با آن سازگار باشند.\& .PP همیشه از «\fB\-\-\fR» برای رفع ابهام در آرگومان‌های دارای خط تیره که متعلق به خود برنامه هستند استفاده کنید.\& .PP آرگومان‌های ویژه‌ای که مستقیماً به دیمن برنامه هدایت می‌شوند: .PP .PD 0 .IP \(bu 4 \fBping\fR بررسی دیمن برنامه؛ باید «\fBpong\fR» را برگرداند.\& .IP \(bu 4 \fBstop\fR متوقف کردن دیمن برنامه.\& .PD .PP .SH "عملکرد (OPERATION)" .PP کلاینت \fBuwsm\-app\fR آرگومان‌ها را از طریق یک pipe به دیمن برنامه uwsm ارسال می‌کند.\& با دریافت آرگومان‌ها، دیمن برنامه کد پوسته را به \fBuwsm\-app\fR برمی‌گرداند تا آن را به‌طور محلی اجرا کند.\& دستورهای منفرد با \fBexec\fR شروع می‌شوند، و دستورهای تکرارشونده با قرارگیری \fB&\fR در انتهای هر یک سرهم‌بندی شده و به دنبال آن‌ها \fBwait\fR می‌آید.\& .PP هدف از این ساختار، رد کردن تمام روال‌های سنگین راه‌اندازی و import در Python است که با هر بار فراخوانی «\fBuwsm app\fR» سرعت را کاهش می‌دهند.\& در عوض، دیمن این کار را تنها یک‌بار انجام داده و سپس به درخواست‌ها گوش می‌دهد، در حالی که یک اسکریپت شل ساده می‌تواند آرگومان‌ها را به یک pipe فرستاده و کد دریافت‌شده از پایپ دیگر را از طریق eval اجرا کند که بسیار سریع‌تر است.\& .PP .SH "همچنین ببینید (SEE ALSO)" .PP \fBuwsm\fR(1), \fBsystemd\-run\fR(1)