.\" 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 "GDBUS" "1" "مه ۲۰۲۵" "glib2" "دستورهای کاربری" .SH "نام (NAME)" gdbus \- ابزاری برای کار با اشیاء D-Bus .\" This has to be duplicated from above to make it machine-readable by `reuse`: .\" SPDX-FileCopyrightText: 2010, 2011, 2012, 2020 Red Hat, Inc. .\" SPDX-FileCopyrightText: 2015 Collabora, Ltd. .\" SPDX-FileCopyrightText: 2021 Endless OS Foundation, LLC .\" SPDX-License-Identifier: LGPL-2.1-or-later . .SH "خلاصه دستور (SYNOPSIS)" .nf \fBgdbus\fP introspect [\-\-system | \-\-session | \-\-address \fIaddress\fP] \-\-dest \fIbus_name\fP \-\-object\-path \fI/path/to/object\fP [\-\-xml] [\-\-recurse] [\-\-only\-properties] \fBgdbus\fP monitor [\-\-system | \-\-session | \-\-address \fIaddress\fP] \-\-dest \fIbus_name\fP [\-\-object\-path \fI/path/to/object\fP] \fBgdbus\fP call [\-\-system | \-\-session | \-\-address \fIaddress\fP] \-\-dest \fIbus_name\fP \-\-object\-path \fI/path/to/object\fP \-\-method \fIorg.project.InterfaceName.MethodName\fP [\-\-timeout \fIseconds\fP | \-\-interactive] [\fIARG\fP…] \fBgdbus\fP emit [\-\-system | \-\-session | \-\-address \fIaddress\fP] \-\-object\-path \fI/path/to/object\fP \-\-signal \fIorg.project.InterfaceName.SignalName\fP [\-\-dest \fIunique_bus_name\fP] [\fIARG\fP…] \fBgdbus\fP wait [\-\-system | \-\-session | \-\-address \fIaddress\fP] \-\-activate \fIbus_name\fP [\-\-timeout \fIseconds\fP] \fIbus_name\fP \fBgdbus\fP help .fi .sp .SH "توضیحات (DESCRIPTION)" .sp دستور \fBgdbus\fP ابزاری ساده برای کار با اشیاء D\-Bus است. .SH "دستورها (COMMANDS)" .sp \fBintrospect\fP .INDENT 0.0 .INDENT 3.5 رابط‌ها و مقادیر ویژگی‌های یک شیء دوردست را چاپ می‌کند. برای کارکرد این قابلیت، مالک شیء باید رابط \fBorg.freedesktop.DBus.Introspectable\fP را پیاده‌سازی کرده باشد. اگر از گزینه \fB\-\-xml\fP استفاده شود، پرونده XML بازگردانده‌شده از درون‌نگری (introspection) چاپ می‌شود؛ در غیر این صورت، نمای بازشده و مرتب‌شدهٔ آن نمایش داده می‌شود. از گزینه \fB\-\-recurse\fP می‌توان برای درون‌نگری فرزندان شیء (و فرزندان آن‌ها و به همین ترتیب) استفاده کرد و گزینه \fB\-\-only\-properties\fP می‌تواند برای نمایش تنها رابط‌های دارای ویژگی به کار رود. .UNINDENT .UNINDENT .sp \fBmonitor\fP .INDENT 0.0 .INDENT 3.5 یک یا تمام اشیاء تحت مالکیت دارندهٔ \fBbus_name\fP را پایش می‌کند. .UNINDENT .UNINDENT .sp \fBcall\fP .INDENT 0.0 .INDENT 3.5 یک متد را روی یک شیء دوردست فراخوانی می‌کند. هر آرگومان ارسالی به متد باید به صورت یک \fBGVariant\fP سریال‌سازی‌شده مشخص شود، مگر این‌که رشته‌ها نیازی به نقل‌قول‌های صریح نداشته باشند. مقادیر بازگشتی به عنوان مقادیر \fBGVariant\fP سریال‌سازی‌شده چاپ می‌شوند. .UNINDENT .UNINDENT .sp \fBemit\fP .INDENT 0.0 .INDENT 3.5 یک سیگنال ارسال می‌کند. هر آرگومان ارسالی در سیگنال باید به صورت یک \fBGVariant\fP سریال‌سازی‌شده مشخص شود، مگر این‌که رشته‌ها نیازی به نقل‌قول‌های صریح نداشته باشند. .UNINDENT .UNINDENT .sp \fBwait\fP .INDENT 0.0 .INDENT 3.5 تا زمانی که \fBbus_name\fP توسط فرایندی در گذرگاه تصاحب شود، منتظر می‌ماند. اگر \fB\-\-activate\fP مشخص شده باشد، آن نام گذرگاه ابتدا به طور خودکار راه‌اندازی می‌شود. این نام ممکن است همان نام گذرگاه مورد انتظار باشد یا نامی متفاوت. .UNINDENT .UNINDENT .sp \fBhelp\fP .INDENT 0.0 .INDENT 3.5 پیام راهنما را چاپ کرده و خارج می‌شود. .UNINDENT .UNINDENT .SH "تکمیل خودکار در بش (BASH COMPLETION)" .sp دستور \fBgdbus\fP به همراه یک اسکریپت تکمیل خودکار بش (bash completion) عرضه می‌شود تا دستورها، مقصدها، نام‌های گذرگاه، مسیرهای شیء و نام‌های رابط و متد را تکمیل کند. .SH "مثال‌ها (EXAMPLES)" .sp این مثال نحوهٔ درون‌نگری یک شیء را نشان می‌دهد — توجه داشته باشید که مقدار هر ویژگی نمایش داده می‌شود: .INDENT 0.0 .INDENT 3.5 .sp .EX $ gdbus introspect \-\-system \e \-\-dest org.freedesktop.NetworkManager \e \-\-object\-path /org/freedesktop/NetworkManager/Devices/0 node /org/freedesktop/NetworkManager/Devices/0 { interface org.freedesktop.DBus.Introspectable { methods: Introspect(out s data); }; interface org.freedesktop.DBus.Properties { methods: Get(in s interface, in s propname, out v value); Set(in s interface, in s propname, in v value); GetAll(in s interface, out a{sv} props); }; interface org.freedesktop.NetworkManager.Device.Wired { signals: PropertiesChanged(a{sv} arg_0); properties: readonly b Carrier = false; readonly u Speed = 0; readonly s HwAddress = \(aq00:1D:72:88:BE:97\(aq; }; interface org.freedesktop.NetworkManager.Device { methods: Disconnect(); signals: StateChanged(u arg_0, u arg_1, u arg_2); properties: readonly u DeviceType = 1; readonly b Managed = true; readwrite o Ip6Config = \(aq/\(aq; readwrite o Dhcp4Config = \(aq/\(aq; readwrite o Ip4Config = \(aq/\(aq; readonly u State = 2; readwrite u Ip4Address = 0; readonly u Capabilities = 3; readonly s Driver = \(aqe1000e\(aq; readwrite s Interface = \(aqeth0\(aq; readonly s Udi = \(aq/sys/devices/pci0000:00/0000:00:19.0/net/eth0\(aq; }; }; .EE .UNINDENT .UNINDENT .sp گزینه‌های \fB\-\-recurse\fP و \fB\-\-only\-properties\fP هنگامی که قصد بازبینی تمامی اشیاء متعلق به یک فرایند خاص را دارید مفید هستند: .INDENT 0.0 .INDENT 3.5 .sp .EX $ gdbus introspect \-\-system \-\-dest org.freedesktop.UPower \-\-object\-path / \-\-recurse \-\-only\-properties node / { node /org { node /org/freedesktop { node /org/freedesktop/UPower { interface org.freedesktop.UPower { properties: readonly b IsDocked = true; readonly b LidForceSleep = false; readonly b LidIsPresent = false; readonly b LidIsClosed = false; readonly b OnLowBattery = false; readonly b OnBattery = false; readonly b CanHibernate = true; readonly b CanSuspend = true; readonly s DaemonVersion = \(aq0.9.10\(aq; }; node /org/freedesktop/UPower/Policy { }; node /org/freedesktop/UPower/Wakeups { interface org.freedesktop.UPower.Wakeups { properties: readonly b HasCapability = true; }; }; }; }; }; }; .EE .UNINDENT .UNINDENT .sp به همین ترتیب، از دستور \fBintrospect\fP می‌توان برای آگاهی از جزئیات متد \fBNotify\fP استفاده کرد: .INDENT 0.0 .INDENT 3.5 .sp .EX […] interface org.freedesktop.Notifications { methods: GetServerInformation(out s return_name, out s return_vendor, out s return_version, out s return_spec_version); GetCapabilities(out as return_caps); CloseNotification(in u id); Notify(in s app_name, in u id, in s icon, in s summary, in s body, in as actions, in a{sv} hints, in i timeout, out u return_id); }; […] .EE .UNINDENT .UNINDENT .sp با داشتن این اطلاعات، استفاده از دستور \fBcall\fP برای نمایش یک اعلان به سادگی امکان‌پذیر است: .INDENT 0.0 .INDENT 3.5 .sp .EX $ gdbus call \-\-session \e \-\-dest org.freedesktop.Notifications \e \-\-object\-path /org/freedesktop/Notifications \e \-\-method org.freedesktop.Notifications.Notify \e my_app_name \e 42 \e gtk\-dialog\-info \e \(dqThe Summary\(dq \e \(dqHere’s the body of the notification\(dq \e [] \e {} \e 5000 (uint32 12,) .EE .UNINDENT .UNINDENT .sp فراخوانی یک متد با آرگومان دستگیره فایل (file handle): .INDENT 0.0 .INDENT 3.5 .sp .EX $ gdbus call \-\-session \e \-\-dest org.example.foo \e \-\-object\-path /org/example/foo \e \-\-method SendFDs \e 1 \e 10 \e 10},) /org/freedesktop/NetworkManager/AccessPoint/4141: org.freedesktop.NetworkManager.AccessPoint.PropertiesChanged ({\(aqStrength\(aq: },) /org/freedesktop/NetworkManager/AccessPoint/4141: org.freedesktop.NetworkManager.AccessPoint.PropertiesChanged ({\(aqStrength\(aq: },) /org/freedesktop/NetworkManager/AccessPoint/4141: org.freedesktop.NetworkManager.AccessPoint.PropertiesChanged ({\(aqStrength\(aq: },) .EE .UNINDENT .UNINDENT .sp ارسال یک سیگنال: .INDENT 0.0 .INDENT 3.5 .sp .EX $ gdbus emit \-\-session \-\-object\-path /foo \-\-signal org.bar.Foo \(dq[\(aqfoo\(aq, \(aqbar\(aq, \(aqbaz\(aq]\(dq .EE .UNINDENT .UNINDENT .sp ارسال یک سیگنال به فرایندی مشخص: .INDENT 0.0 .INDENT 3.5 .sp .EX $ gdbus emit \-\-session \-\-object\-path /bar \-\-signal org.bar.Bar someString \-\-dest :1.42 .EE .UNINDENT .UNINDENT .sp انتظار برای تصاحب یک نام شناخته‌شده روی گذرگاه؛ این دستور سرویس را به طور خودکار راه‌اندازی \fIنخواهد\fP کرد: .INDENT 0.0 .INDENT 3.5 .sp .EX $ gdbus wait \-\-session org.bar.SomeName .EE .UNINDENT .UNINDENT .sp راه‌اندازی خودکار و سپس انتظار برای تصاحب یک نام شناخته‌شده روی گذرگاه: .INDENT 0.0 .INDENT 3.5 .sp .EX $ gdbus wait \-\-session \-\-activate org.bar.SomeName .EE .UNINDENT .UNINDENT .sp راه‌اندازی خودکار یک سرویس دیگر و سپس انتظار برای تصاحب یک نام شناخته‌شده روی گذرگاه. این حالت در شرایطی که \fBSomeName\fP مستقیماً قابل فعال‌سازی نیست مفید است: .INDENT 0.0 .INDENT 3.5 .sp .EX $ gdbus wait \-\-session \-\-activate org.bar.PrerequisiteName org.bar.SomeName .EE .UNINDENT .UNINDENT .sp انتظار برای یک نام شناخته‌شده و انصراف پس از ۳۰ ثانیه. به صورت پیش‌فرض، مهلت زمانی غیرفعال است؛ یا می‌توان \fB\-\-timeout\fP را برابر با \fB0\fP تنظیم کرد تا غیرفعال شود: .INDENT 0.0 .INDENT 3.5 .sp .EX $ gdbus wait \-\-session \-\-timeout 30 org.bar.SomeName .EE .UNINDENT .UNINDENT .SH "گزارش باگ‌ها (REPORTING BUGS)" .sp لطفاً گزارش باگ‌ها را به سامانه پیگیری اشکالات توزیع یا سامانه پیگیری اشکالات بالادست ارسال کنید: .SH "همچنین ببینید (SEE ALSO)" .sp \fBdbus\-send\fP(1) \% .\" End of generated man page.