USER@.SERVICE(5)

الاسم
user@.service, user-runtime-dir@.service, systemd-user-runtime-dir - وحدات النظام لبدء مدير المستخدم

موجز

user@UID.service

user-runtime-dir@UID.service

/usr/lib/systemd/systemd-user-runtime-dir

user-UID.slice

الوصف

مدير النظام systemd(1) (PID 1) يبدأ مثيلات مدير المستخدم كـ user@UID.service، مع استخدام المعرف الرقمي للمستخدم (UID) كمعرف للمثيل. تستخدم هذه المثيلات نفس الملف التنفيذي لمدير النظام، ولكنها تعمل في وضع يبدأ مجموعة مختلفة من الوحدات. كل مثيل systemd --user يدير تسلسلاً هرمياً للوحدات الخاصة بذلك المستخدم. انظر systemd(1) لمناقشة الوحدات و systemd.special(7) للحصول على قائمة بالوحدات التي تشكل أساس التسلسلات الهرمية لوحدات النظام والمستخدم.

user@UID.service مصحوب بوحدة النظام user-runtime-dir@UID.service، التي تنشئ دليل وقت التشغيل للمستخدم /run/user/UID عند بدئها، وتزيله عند إيقافها. قد تطبق أيضًا إعدادات حصة وقت التشغيل على /tmp/ و/أو /dev/shm/ للمستخدم. user-runtime-dir@UID.service تنفذ الملف الثنائي systemd-user-runtime-dir للقيام بالعمل الفعلي.

عمليات المستخدم قد تبدأ بواسطة مثيل user@.service، وفي هذه الحالة ستكون جزءاً من تلك الوحدة في التسلسل الهرمي للنظام. قد تبدأ أيضًا في مكان آخر، على سبيل المثال بواسطة sshd(8) أو مدير عرض مثل gdm، وفي هذه الحالة تشكل وحدة .scope (انظر systemd.scope(5)). كل من user@UID.service ووحدات النطاق تُجمع تحت user-UID.slice.

شرائح user-UID.slice الفردية تُجمع تحت user.slice، انظر systemd.special(7).

التحكم في الموارد للمستخدمين المسجلين

الخيارات التي تتحكم في الموارد المتاحة للمستخدمين المسجلين يمكن تكوينها على عدة مستويات مختلفة. كما هو موصوف في القسم السابق، user.slice يحتوي على عمليات جميع المستخدمين، لذا أي حدود للموارد على تلك الشريحة تنطبق على جميع المستخدمين معاً. الطريقة المعتادة لتكوينها ستكون من خلال الإضافات، على سبيل المثال /etc/systemd/system/user.slice.d/resources.conf.

عمليات مستخدم واحد تُجمع تحت user-UID.slice. حدود الموارد لذلك المستخدم يمكن تكوينها من خلال الإضافات لتلك الوحدة، على سبيل المثال /etc/systemd/system/user-1000.slice.d/resources.conf. إذا كان ينبغي أن تنطبق الحدود على جميع المستخدمين بدلاً من ذلك، يمكن تكوينها من خلال الإضافات لاسم الوحدة المقتطع، user-.slice. على سبيل المثال، التكوين في /etc/systemd/system/user-.slice.d/resources.conf يُضمن في جميع وحدات user-UID.slice، انظر systemd.unit(5) لمناقشة آلية الإضافة.

عندما يسجل مستخدم الدخول وتُنشأ وحدة .scope للجلسة (انظر القسم السابق)، يمكن إدارة إنشاء النطاق من خلال pam_systemd(8). وحدة PAM هذه تتواصل مع systemd-logind(8) لإنشاء نطاق الجلسة وتوفير الوصول إلى موارد الأجهزة. حدود الموارد للنطاق يمكن تكوينها من خلال تكوين وحدة PAM، انظر pam_systemd(8). تكوينها من خلال تكوين الوحدة العادي ممكن أيضًا، ولكن نظراً لأن اسم وحدة الشريحة غير متوقع بشكل عام، فإن هذا أقل فائدة.

بشكل عام أي موارد تنطبق على الوحدات يمكن تعيينها لـ user@UID.service ووحدات الشريحة التي نوقشت أعلاه، انظر systemd.resource-control(5) للحصول على نظرة عامة.

أمثلة

مثال 1. التسلسل الهرمي لمجموعات التحكم مع مستخدمين مسجلين

    $ systemd-cgls
    Control group /:
    -.slice
    ├─user.slice
    │ ├─user-1000.slice
    │ │ ├─user@1000.service
    │ │ │ ├─pulseaudio.service
    │ │ │ │ └─2386 /usr/bin/pulseaudio --daemonize=no
    │ │ │ └─gnome-terminal-server.service
    │ │ │   └─init.scope
    │ │ │     ├─ 4127 /usr/libexec/gnome-terminal-server
    │ │ │     └─ 4198 zsh
    │ │ ...
    │ │ └─session-4.scope
    │ │   ├─ 1264 gdm-session-worker [pam/gdm-password]
    │ │   ├─ 2339 /usr/bin/gnome-shell
    │ │   ...
    │ │ ├─session-19.scope
    │ │   ├─6497 sshd: zbyszek [priv]
    │ │   ├─6502 sshd: zbyszek@pts/6
    │ │   ├─6509 -zsh
    │ │   └─6602 systemd-cgls --no-pager
    │ ...
    │ └─user-1001.slice
    │   ├─session-20.scope
    │   │ ├─6675 sshd: guest [priv]
    │   │ ├─6708 sshd: guest@pts/6
    │   │ └─6717 -bash
    │   └─user@1001.service
    │     ├─init.scope
    │     │ ├─6680 /usr/lib/systemd/systemd --user
    │     │ └─6688 (sd-pam)
    │     └─sleep.service
    │       └─6706 /usr/bin/sleep 30
    ...

المستخدم ذو UID 1000 مسجل الدخول باستخدام gdm (session-4.scope) و ssh(1) (session-19.scope)، ولديه أيضًا مثيل مدير مستخدم قيد التشغيل (user@1000.service). المستخدم ذو UID 1001 مسجل الدخول باستخدام ssh (session-20.scope) ولديه أيضًا مثيل مدير مستخدم قيد التشغيل (user@1001.service). هذه كلها وحدات نظام (طرفية)، وتشكل جزءاً من التسلسل الهرمي للشرائح، مع user-1000.slice و user-1001.slice أسفل user.slice. وحدات المستخدم مرئية أسفل مثيلات user@.service (pulseaudio.service, gnome-terminal-server.service, init.scope, sleep.service).

مثال 2. حدود الموارد المبدئية للمستخدم

    $ systemctl cat user-1000.slice
    # /usr/lib/systemd/system/user-.slice.d/10-defaults.conf
    # ...
    [Unit]
    Description=User Slice of UID %j
    After=systemd-user-sessions.service
    [Slice]
    TasksMax=33%

وحدات user-UID.slice بشكل مبدئي لا تملك ملف وحدة. حدود الموارد تُعيّن من خلال إضافة، والتي يمكن استبدالها أو توسيعها بسهولة باتباع آليات الإضافة القياسية التي نوقشت في القسم الأول.

انظر أيضًا

systemd(1), systemd.service(5), systemd.slice(5), systemd.resource-control(5), systemd.exec(5), systemd.special(7), capsule@.service(5), pam(8)

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.