table of contents
| VARLINKCTL(1) | varlinkctl | VARLINKCTL(1) |
الاسم¶
varlinkctl - استكشف واستدعِ خدمات Varlink
موجز¶
varlinkctl [خيارات...] معلومات العنوان
varlinkctl [خيارات...] قائمة-الواجهات العنوان
varlinkctl [خيارات...] قائمة-الطرق العنوان [الواجهة...]
varlinkctl [خيارات...] استكشف العنوان [الواجهة...]
varlinkctl [خيارات...] استدعِ العنوان الطريقة [الوسائط]
varlinkctl [خيارات...] --exec استدعِ استدعِ العنوان الطريقة الوسائط -- سطر الأوامر
varlinkctl [خيارات...] تحقق-من-idl [الملف]
الوصف¶
يمكن استخدام varlinkctl لاستكشاف واستدعاء خدمات Varlink[1].
يتم الإشارة إلى الخدمات بواحد مما يلي:
للتسهيل، يتم دعم هاتين الصيغتين الأبسط (المكررة) لعنوان الخدمة أيضًا:
الأوامر¶
الأوامر التالية مفهومة:
info العنوان
أُضيف في الإصدار 255.
list-interfaces العنوان
أُضيف في الإصدار 255.
list-methods ADDRESS [INTERFACE...]
أُضيف في الإصدار 257.
introspect ADDRESS [INTERFACE...]
أُضيف في الإصدار 255.
call ADDRESS METHOD [ARGUMENTS]
تتم كتابة معاملات الرد ككائنات JSON إلى STDOUT.
أُضيف في الإصدار 255.
list-registry
أُضيف في الإصدار 260.
validate-idl [FILE]
أُضيف في الإصدار 255.
help
أُضيف في الإصدار 255.
الخيارات¶
الخيارات التالية مفهومة:
--more
إذا تم تمكين هذا الوضع، يتم تحويل الإخراج آلياً إلى وضع JSON-SEQ، بحيث يمكن تمييز كائنات الرد الفردية بسهولة.
ليس لهذا المفتاح أي تأثير على مهلة استدعاء الطريقة المطبقة مبدئياً. بغض النظر عما إذا تم تحديد --more أم لا، ستكون المهلة المبدئية 45 ثانية. استخدم --timeout= (انظر أدناه) لتغيير أو تعطيل المهلة. عند استدعاء استدعاء طريقة يعيد التحديثات باستمرار، من المرغوب عادةً تعطيل المهلة باستخدام --timeout=infinity. من ناحية أخرى، عند استدعاء استدعاء طريقة --more لغرض تعداد الكائنات (والذي من المحتمل أن يكتمل بسرعة)، من المفيد عادةً ترك منطق المهلة ممكناً، لأسباب تتعلق بالمتانة.
أُضيف في الإصدار 255.
-E
أُضيف في الإصدار 257.
--collect
أُضيف في الإصدار 256.
--oneway
أُضيف في الإصدار 255.
--json=وضع
أُضيف في الإصدار 255.
-j
أُضيف في الإصدار 255.
--quiet، -q
أُضيف في الإصدار 257.
--graceful=
أُضيف في الإصدار 257.
--timeout=
أُضيف في الإصدار 257.
--exec
الآن إذا تم تحديد --exec، فإن المعامل الثالث لـ call ليس اختيارياً (أي معاملات استدعاء الطريقة).
أُضيف في الإصدار 258.
--push-fd=
أُضيف في الإصدار 258.
--system، --user
أُضيف في الإصدار 260.
--no-ask-password
--no-pager
-h، --help
--version
الملفات والأدلة¶
/run/varlink/registry/
استخدم varlinkctl list-registry لعرض محتويات هذا الدليل.
(سيتم تجاهل العقد التي لا تعتبر عقد مقبس ولا روابط رمزية لها. قد يقدم امتداد مستقبلي ملفات وأدلة عادية لتعزيز وظيفة السجل.)
أُضيف في الإصدار 260.
أمثلة¶
مثال 1. التحقيق في خدمة
تفحص الأوامر الثلاثة التالية خدمة "io.systemd.Resolve" المنفذة بواسطة systemd-resolved.service(8)، وتسرد معلومات الخدمة العامة والواجهات المنفذة، ثم تعرض تعريف الواجهة للواجهة الرئيسية الخاصة بها:
$ varlinkctl info /run/systemd/resolve/io.systemd.Resolve
Vendor: The systemd Project
Product: systemd (systemd-resolved)
Version: 254 (254-1522-g4790521^)
URL: https://systemd.io/ Interfaces: io.systemd
io.systemd.Resolve
org.varlink.service $ varlinkctl list-interfaces /run/systemd/resolve/io.systemd.Resolve io.systemd io.systemd.Resolve org.varlink.service $ varlinkctl introspect /run/systemd/resolve/io.systemd.Resolve io.systemd.Resolve interface io.systemd.Resolve type ResolvedAddress(
ifindex: ?int,
...
(تم اقتطاع تعريف الواجهة في المثال أعلاه، من أجل الإيجاز.)
مثال 2. استدعاء طريقة
الأمر التالي يحل اسم مضيف عبر استدعاء الأسلوب ResolveHostname الخاص بـ systemd-resolved.service(8).
$ varlinkctl call /run/systemd/resolve/io.systemd.Resolve io.systemd.Resolve.ResolveHostname '{"name":"systemd.io","family":2}' -j
{
"addresses" : [
{
"ifindex" : 2,
"family" : 2,
"address" : [
185,
199,
111,
153
]
}
],
"name" : "systemd.io",
"flags" : 1048577
}
مثال 3. التحقيق في ملف تنفيذي لخدمة
الأمر التالي يفحص الملف التنفيذي /usr/lib/systemd/systemd-pcrextend وواجهات برمجة التطبيقات IPC التي يوفرها. ثم يستدعي أسلوبًا عليه:
# varlinkctl info /usr/lib/systemd/systemd-pcrextend
Vendor: The systemd Project
Product: systemd (systemd-pcrextend)
Version: 254 (254-1536-g97734fb)
URL: https://systemd.io/ Interfaces: io.systemd
io.systemd.PCRExtend
org.varlink.service # varlinkctl introspect /usr/lib/systemd/systemd-pcrextend io.systemd.PCRExtend interface io.systemd.PCRExtend method Extend(
pcr: int,
text: ?string,
data: ?string ) -> () # varlinkctl call /usr/lib/systemd/systemd-pcrextend io.systemd.PCRExtend.Extend '{"pcr":15,"text":"foobar"}' {}
مثال 4. استدعاء أسلوب عن بُعد عبر SSH
الأمر التالي يحصل على تقرير حول هوية مضيف بعيد "somehost" من systemd-hostnamed.service(8) عبر الاتصال عبر SSH بمقبس AF_UNIX الذي تستمع عليه الخدمة:
# varlinkctl call ssh-unix:somehost:/run/systemd/io.systemd.Hostname io.systemd.Hostname.Describe '{}'
لاستدعاء ملف ثنائي لخدمة Varlink مباشرة على المضيف البعيد، بدلاً من التحدث إلى خدمة عبر AF_UNIX، يمكن القيام بذلك كالتالي:
# varlinkctl call ssh-exec:somehost:systemd-creds org.varlink.service.GetInfo '{}'
انظر أيضًا¶
busctl(1), Varlink[1]
ملاحظات¶
- 1.
- Varlink
ترجمة¶
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.
| systemd 260.1 |