| WPEXEC(1) | WirePlumber | WPEXEC(1) |
نام (NAME)
wpexec - مفسر اسکریپت WirePlumber
خلاصه دستور (SYNOPSIS)
wpexec SCRIPT [ARGUMENTS]
توضیحات (DESCRIPTION)
دستور wpexec مفسر اسکریپت WirePlumber است. این دستور یک اسکریپت منفرد Lua را در برابر یک دیمن در حال اجرای PipeWire، بدون راهاندازی یک مدیر نشست کامل، اجرا میکند.
این ویژگی آن را به ابزاری ایدهآل برای توسعه و آزمایش اسکریپتها، پرسوجوهای یکباره و اسکریپتهای خطمشی مستقل و کوچک که در کنار نمونه اصلی WirePlumber اجرا میشوند، تبدیل میکند.
هنگام فراخوانی، wpexec به PipeWire متصل میشود، افزونههای مورد نیاز اسکریپت را از طریق Core.require_api() <#Core.require_api> فعال میکند و سپس اسکریپت را اجرا مینماید. این ابزار تا زمانی به اجرا ادامه میدهد که اسکریپت دستور Core.quit() <#Core.quit> را فراخوانی کند، اتصال به PipeWire قطع شود، یا با سیگنالهای SIGINT، SIGTERM یا SIGHUP متوقف گردد.
اسکریپتهایی که تحت wpexec اجرا میشوند، به همان Lua API <#scripting-lua-api> دسترسی دارند که اسکریپتهای بارگذاریشده توسط دیمن دارند؛ به استثنای چند تابع که فقط در داخل دیمن کاربرد دارند.
آرگومانها (ARGUMENTS)
مثالها (EXAMPLES)
اجرای یک اسکریپت:
$ wpexec ./get-default-sink-volume.lua
اجرای یک اسکریپت با آرگومانها:
$ wpexec ./interactive.lua '{ option1 = "value1", option2 = "value2" }'
اجرای یک اسکریپت از درخت ساخت (build tree)، بدون نیاز به نصب:
$ ./wp-uninstalled.sh wpexec tests/examples/interactive.lua
یک اسکریپت همچنین میتواند با درج خط شهبنگ (shebang) مناسب مستقیماً قابل اجرا شود، همانطور که در مثالهای tests/examples انجام شده است:
#!/usr/bin/wpexec
محیط (ENVIRONMENT)
دستور wpexec از همان متغیرهای محیطی wireplumber(1) پیروی میکند، که کاربردیترین آنها WIREPLUMBER_DEBUG است؛ به بخش ثبت گزارش اشکالزدایی (Debug Logging) <#daemon-logging> مراجعه کنید.
وضعیت خروج (EXIT STATUS)
کدهای خروج از قراردادهای sysexits.h(3head) پیروی میکنند:
- 0 (EX_OK)
- موفقیت.
- 64 (EX_USAGE)
- خطای نحوه استفاده در خط فرمان، شامل شیء ناصحیح ARGUMENTS.
- 69 (EX_UNAVAILABLE)
- عدم امکان اتصال به PipeWire.
- 70 (EX_SOFTWARE)
- خطای نرمافزاری داخلی، شامل خطای ایجاد شده توسط اسکریپت.
همچنین ببینید (SEE ALSO)
wireplumber(1), wpctl(1), pipewire(1), sysexits.h(3head)
مستندات WirePlumber: https://pipewire.pages.freedesktop.org/wireplumber
نویسندگان (AUTHORS)
توسعهدهندگان WirePlumber
حق نشر (COPYRIGHT)
2020-2025، Collabora و مشارکتکنندگان
| September 3, 2026 | 0.5.17 |