.\" Man page generated from reStructuredText .\" by the Docutils 0.23 manpage writer. . . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .TH "WPEXEC" "1" "Sep 03, 2026" "0.5.17" "WirePlumber" .SH "نام (NAME)" wpexec \- مفسر اسکریپت WirePlumber .SH "خلاصه دستور (SYNOPSIS)" .sp \fBwpexec\fP \fISCRIPT\fP [\fIARGUMENTS\fP] .SH "توضیحات (DESCRIPTION)" .sp دستور \fBwpexec\fP مفسر اسکریپت WirePlumber است. این دستور یک اسکریپت منفرد Lua را در برابر یک دیمن در حال اجرای PipeWire، بدون راه‌اندازی یک مدیر نشست کامل، اجرا می‌کند. .sp این ویژگی آن را به ابزاری ایده‌آل برای توسعه و آزمایش اسکریپت‌ها، پرس‌وجوهای یک‌باره و اسکریپت‌های خط‌مشی مستقل و کوچک که در کنار نمونه اصلی WirePlumber اجرا می‌شوند، تبدیل می‌کند. .sp هنگام فراخوانی، \fBwpexec\fP به PipeWire متصل می‌شود، افزونه‌های مورد نیاز اسکریپت را از طریق \fBCore.require_api()\fP \%<#\:Core\:.require_api> فعال می‌کند و سپس اسکریپت را اجرا می‌نماید. این ابزار تا زمانی به اجرا ادامه می‌دهد که اسکریپت دستور \fBCore.quit()\fP \%<#\:Core\:.quit> را فراخوانی کند، اتصال به PipeWire قطع شود، یا با سیگنال‌های SIGINT، SIGTERM یا SIGHUP متوقف گردد. .sp اسکریپت‌هایی که تحت \fBwpexec\fP اجرا می‌شوند، به همان Lua API \%<#\:scripting-lua-api> دسترسی دارند که اسکریپت‌های بارگذاری‌شده توسط دیمن دارند؛ به استثنای چند تابع که فقط در داخل دیمن کاربرد دارند. .SH "آرگومان‌ها (ARGUMENTS)" .INDENT 0.0 .TP .B \fISCRIPT\fP مسیر اسکریپت Lua برای اجرا. .TP .B \fIARGUMENTS\fP یک \fBobject\fP اختیاری از نوع SPA\-JSON که به‌عنوان آرگومان (\fB\&...\fP) به اسکریپت ارسال می‌شود. ارسال هر چیزی غیر از یک شیء JSON یک خطا محسوب می‌شود. .UNINDENT .SH "مثال‌ها (EXAMPLES)" .sp اجرای یک اسکریپت: .INDENT 0.0 .INDENT 3.5 .sp .EX $ wpexec ./get\-default\-sink\-volume.lua .EE .UNINDENT .UNINDENT .sp اجرای یک اسکریپت با آرگومان‌ها: .INDENT 0.0 .INDENT 3.5 .sp .EX $ wpexec ./interactive.lua \(aq{ option1 = \(dqvalue1\(dq, option2 = \(dqvalue2\(dq }\(aq .EE .UNINDENT .UNINDENT .sp اجرای یک اسکریپت از درخت ساخت (build tree)، بدون نیاز به نصب: .INDENT 0.0 .INDENT 3.5 .sp .EX $ ./wp\-uninstalled.sh wpexec tests/examples/interactive.lua .EE .UNINDENT .UNINDENT .sp یک اسکریپت همچنین می‌تواند با درج خط شه‌بنگ (shebang) مناسب مستقیماً قابل اجرا شود، همان‌طور که در مثال‌های \fBtests/examples\fP انجام شده است: .INDENT 0.0 .INDENT 3.5 .sp .EX #!/usr/bin/wpexec .EE .UNINDENT .UNINDENT .SH "محیط (ENVIRONMENT)" .sp دستور \fBwpexec\fP از همان متغیرهای محیطی \fBwireplumber\fP(1) پیروی می‌کند، که کاربردی‌ترین آن‌ها \fBWIREPLUMBER_DEBUG\fP است؛ به بخش ثبت گزارش اشکال‌زدایی (Debug Logging) \%<#\:daemon-logging>\& مراجعه کنید. .SH "وضعیت خروج (EXIT STATUS)" .sp کدهای خروج از قراردادهای \fBsysexits.h\fP(3head) پیروی می‌کنند: .INDENT 0.0 .TP \fB0\fP (\fIEX_OK\fP) موفقیت. .TP \fB64\fP (\fIEX_USAGE\fP) خطای نحوه استفاده در خط فرمان، شامل شیء ناصحیح \fIARGUMENTS\fP. .TP \fB69\fP (\fIEX_UNAVAILABLE\fP) عدم امکان اتصال به PipeWire. .TP \fB70\fP (\fIEX_SOFTWARE\fP) خطای نرم‌افزاری داخلی، شامل خطای ایجاد شده توسط اسکریپت. .UNINDENT .SH "همچنین ببینید (SEE ALSO)" .sp \fBwireplumber\fP(1), \fBwpctl\fP(1), \fBpipewire\fP(1), \fBsysexits.h\fP(3head) .sp مستندات WirePlumber: \% .SH "نویسندگان (AUTHORS)" توسعه‌دهندگان WirePlumber .SH "حق نشر (COPYRIGHT)" 2020-2025، Collabora و مشارکت‌کنندگان .\" End of generated man page.