wayvncctl(1) General Commands Manual wayvncctl(1)

wayvncctl - یک کلاینت خط فرمان برای کنترل wayvnc(1)

wayvncctl [options] [command [--parameter value ...]]

-S, --socket=<path>

مسیر سوکت کنترلی wayvnc را تعیین می‌کند. پیش‌فرض: $XDG_RUNTIME_DIR/wayvncctl یا /tmp/wayvncctl-$UID

-w, --wait

اگر wayvnc هنوز در حال اجرا نیست، منتظر راه‌اندازی آن می‌ماند. پیش‌فرض: در صورت در حال اجرا نبودن wayvnc، بلافاصله با یک خطا خارج می‌شود.

-r, --reconnect

اگر هنگام انتظار برای رویدادها اتصال قطع شود، منتظر راه‌اندازی مجدد wayvnc می‌ماند و دوباره برای رویدادها ثبت‌نام می‌کند. پیش‌فرض: هنگام خروج wayvnc خارج می‌شود.

-j, --json

خروجی JSON را در stdout تولید می‌کند.

-V, --version

اطلاعات نسخه را نشان می‌دهد.

-v, --verbose

توضیحات و جزئیات بیشتری نمایش می‌دهد.

-h, --help

راهنمایی درباره خود دستور wayvncctl دریافت می‌کند (این گزینه‌ها را فهرست می‌کند). به سوکت کنترلی wayvncctl متصل نمی‌شود.

دستور wayvnc(1) امکان تعامل در زمان اجرا را از طریق سازوکار json-ipc سوکت یونیکس فراهم می‌کند. این ابزار خط فرمان، تعامل آسان با آن دستورها را میسر می‌سازد.

این دستور تا حد زیادی خودتوصیف‌گر (self-documenting) است:

  • اجرای wayvncctl --help تمامی دستورهای IPC پشتیبانی‌شده را فهرست می‌کند.
  • اجرای wayvncctl command-name --help توضیحی از دستور داده‌شده و پارامترهای دردسترس آن را بازمی‌گرداند.
  • اجرای wayvncctl event-receive --help فهرستی از تمام نام‌های رویدادهای پشتیبانی‌شده را ارائه می‌دهد.
  • اجرای wayvncctl event-receive --show=event-name توضیحی درباره رویداد داده‌شده و فیلدهای داده مورد انتظار بازمی‌گرداند.

در حالی که wayvncctl به طور معمول پس از ارسال یک درخواست و دریافت پاسخ مربوطه خاتمه می‌یابد، دستور event-receive به گونه دیگری عمل می‌کند. به جای خروج فوری، wayvncctl منتظر هرگونه رویدادی از سرور می‌ماند و با رسیدن هر کدام، آن را در stdout چاپ می‌کند. این حالت کاری تا زمانی که سیگنالی برای خاتمه دریافت کند، یا تا زمانی که سرور wayvnc متوقف شود، مسدود می‌ماند.

در حالت --json، برای تسهیل در اسکریپت‌نویسی، هر رویداد در یک خط همراه با یک نویسه خط جدید در انتها چاپ می‌شود:

$ wayvncctl --json event-receive
{"method":"client-connected","params":{"id":"0x10ef670","address":null,"username":null,"connection_count":1}}
{"method":"client-disconnected","params":{"id":"0x10ef670","address":null,"username":null,"connection_count":0}}

خروجی پیش‌فرض و قابل خواندن برای انسان، یک قالب چندخطی شبیه به YAML است که دو نویسه خط جدید میان هر رویداد قرار دارد:

$ wayvncctl event-receive
client-connected:
  id: 0x10ef670
  address: 192.168.1.18
  connection_count: 1
client-disconnected:
  id: 0x10ef670
  address: 192.168.1.18
  connection_count: 0

به‌ویژه هنگام استفاده از حالت --wait یا --reconnect، دستور wayvncctl دو رویداد اضافی تولید خواهد کرد که در wayvnc(1) مستند نشده‌اند:

wayvnc-startup

هنگامی ارسال می‌شود که یک اتصال کنترلی موفق به wayvnc برقرار شده و ثبت رویداد با موفقیت انجام گرفته باشد؛ چه هنگام راه‌اندازی اولیه و چه در ثبت‌های بعدی با --reconnect.

بدون پارامتر.

wayvnc-shutdown

هنگامی ارسال می‌شود که اتصال کنترلی wayvnc قطع شود، که معمولاً به دلیل خروج wayvnc رخ می‌دهد.

بدون پارامتر.

دریافت راهنما برای دستور IPC به نام "output-set":

$ wayvncctl output-set --help
Usage: wayvncctl [options] output-set <output-name> [params]
...

چرخش به خروجی فعال بعدی:

$ wayvncctl output-cycle

دریافت اطلاعات نسخه با قالب JSON:

$ wayvncctl --json version
{"wayvnc":"v0.5.0","neatvnc":"v0.5.1","aml":"v0.2.2"}

اسکریپتی که برای هر رویداد اتصال و قطع اتصال کلاینت، عملیاتی را انجام می‌دهد:

#!/bin/bash
connection_count_now() {
    echo "Total clients: $1"
}
while IFS= read -r EVT; do
    case "$(jq -r '.method' <<<"$EVT")" in
        client-*onnected)
            count=$(jq -r '.params.connection_count' <<<"$EVT")
            connection_count_now "$count"
            ;;
        wayvnc-shutdown)
            connection_count_now 0
            ;;
    esac
done < <(wayvncctl --wait --reconnect --json event-receive)

متغیرهای محیطی زیر بر wayvncctl تأثیر می‌گذارند:

XDG_RUNTIME_DIR

مکان پیش‌فرض را برای سوکت کنترلی wayvncctl مشخص می‌کند.

wayvnc(1)

2026-07-19