man(8) malcontent-client man page man(8) نام (NAME) malcontent-client - ابزار دسترسی به کنترل‌های والدین خلاصه دستور (SYNOPSIS) malcontent-client get-app-filter [-q] [-n] [USER] malcontent-client check-app-filter [-q] [-n] [USER] ARG malcontent-client set-app-filter [-q] [-n] [USER] ARG malcontent-client oars-section [-q] [-n] [USER] SECTION malcontent-client get-session-limits [-q] [-n] [USER] malcontent-client set-session-limits [-q] [-n] [USER] LIMIT-TYPE malcontent-client monitor [-q] [USER] malcontent-client record-usage [-q] USAGE-ENTRIES malcontent-client query-usage [-q] USER RECORD-TYPE IDENTIFIER malcontent-client get-estimated-times [-q] RECORD-TYPE malcontent-client request-extension [-q] RECORD-TYPE IDENTIFIER [DURATION] malcontent-client get-web-filter [-q] [-n] [USER] malcontent-client set-web-filter [-q] [-n] [USER] ARG malcontent-client update-web-filters [-q] [-n] [USER] malcontent-client dump-web-filters [-q] [-n] [USER] توضیحات (DESCRIPTION) malcontent-client ابزاری برای پرس‌وجو و به‌روزرسانی تنظیمات کنترل‌های والدین برای کاربران سیستم است. انجام هر کاری فراتر از بررسی کنترل‌های والدینِ کاربر فعلی، معمولاً نیازمند دسترسی مدیر سیستم (administrator) است. این ابزار با accounts-service که داده‌های کنترل‌های والدین را ذخیره می‌کند، ارتباط برقرار می‌کند. نخستین آرگومان آن، دستوری است که باید اجرا شود. دستورهای پشتیبانی‌شده در ادامه مستند شده‌اند. رابط خط فرمان (API) و قالب خروجی ناپایدار بوده و احتمالاً در نسخه‌های آیندهٔ malcontent-client تغییر خواهند کرد. گزینه‌های get-app-filter (get-app-filter OPTIONS) دریافت فیلتر برنامه برای یک کاربر. برای مثال: # malcontent-client get-app-filter timmy USER نام کاربری یا شناسهٔ کاربری (ID) کاربری که فیلتر برنامه برای او دریافت می‌شود. در صورت مشخص نشدن، به‌طور پیش‌فرض از کاربر فعلی استفاده خواهد شد. -q، --quiet با پیشرفت عملیات، تنها پیام‌های خطا نمایش داده شوند و هیچ پیام اطلاع‌رسانی ارائه نشود. (پیش‌فرض: نمایش پیام‌های اطلاع‌رسانی.) -n، --no-interactive اجازه احراز هویت تعاملی از طریق polkit داده نشود. اگر برای تکمیل عملیات به این مورد نیاز باشد، عملیات با شکست مواجه خواهد شد. (پیش‌فرض: اجازه احراز هویت تعاملی داده می‌شود.) گزینه‌های check-app-filter (check-app-filter OPTIONS) بررسی اینکه آیا یک برنامه، نوع محتوا یا ارجاع flatpak مشخص بر اساس فیلتر برنامهٔ فعلی کاربر، مجاز به استفاده توسط او هست یا خیر. برای مثال: # malcontent-client check-app-filter timmy $(which gnome-calculator) # malcontent-client check-app-filter timmy x-scheme-handler/http # malcontent-client check-app-filter timmy app/com.realm667.WolfenDoom_Blade_of_Agony/x86_64/stable USER نام کاربری یا شناسهٔ کاربری (ID) کاربری که فیلتر برنامه برای او بررسی می‌شود. در صورت مشخص نشدن، به‌طور پیش‌فرض از کاربر فعلی استفاده خواهد شد. ARG مسیر یک برنامه، نوع محتوا یا ارجاع flatpak جهت بررسی در برابر فیلتر برنامه، برای مشخص شدن اینکه آیا برای کاربر مشخص‌شده مجاز است یا خیر. -q، --quiet با پیشرفت عملیات، تنها پیام‌های خطا نمایش داده شوند و هیچ پیام اطلاع‌رسانی ارائه نشود. (پیش‌فرض: نمایش پیام‌های اطلاع‌رسانی.) -n، --no-interactive اجازه احراز هویت تعاملی از طریق polkit داده نشود. اگر برای تکمیل عملیات به این مورد نیاز باشد، عملیات با شکست مواجه خواهد شد. (پیش‌فرض: اجازه احراز هویت تعاملی داده می‌شود.) گزینه‌های set-app-filter (set-app-filter OPTIONS) تنظیم فیلتر برنامه برای یک کاربر و جایگزینی تمام مقادیر قبلی موجود در آن. برای مثال: # malcontent-client set-app-filter timmy \ --disallow-user-installation \ $(which gnome-calculator) \ x-scheme-handler/http \ app/com.realm667.WolfenDoom_Blade_of_Agony/x86_64/stable USER نام کاربری یا شناسهٔ کاربری (ID) کاربری که فیلتر برنامه برای او تنظیم می‌شود. در صورت مشخص نشدن، به‌طور پیش‌فرض از کاربر فعلی استفاده خواهد شد. ARG موردی که باید در فیلتر برنامهٔ کاربر فیلتر شود. این مورد می‌تواند یک مسیر مطلق یا یک ارجاع flatpak از یک برنامه جهت مسدودسازی باشد؛ یک نوع محتوا برای مسدود کردن تمام برنامه‌هایی که آن نوع را مدیریت می‌کنند؛ یا یک جفت section=value مربوط به OARS جهت مسدود کردن نصب برنامه‌هایی با رده‌بندی شدیدتر در آن بخش OARS. می‌توان چندین مورد را مشخص کرد، و آنها به‌طور کامل جایگزین فیلتر برنامهٔ فعلی کاربر خواهند شد. در صورت مشخص نشدن هیچ موردی (صفر مورد)، فیلتر برنامه پاک خواهد شد. --allow-user-installation به کاربر اجازه نصب flatpakها در مخزن کاربری داده شود. --disallow-user-installation کاربر از نصب flatpakها در مخزن کاربری منع شود. --allow-system-installation به کاربر اجازه نصب flatpakها در مخزن سیستمی داده شود. --disallow-system-installation کاربر از نصب flatpakها در مخزن سیستمی منع شود. -q، --quiet با پیشرفت عملیات، تنها پیام‌های خطا نمایش داده شوند و هیچ پیام اطلاع‌رسانی ارائه نشود. (پیش‌فرض: نمایش پیام‌های اطلاع‌رسانی.) -n، --no-interactive اجازه احراز هویت تعاملی از طریق polkit داده نشود. اگر برای تکمیل عملیات به این مورد نیاز باشد، عملیات با شکست مواجه خواهد شد. (پیش‌فرض: اجازه احراز هویت تعاملی داده می‌شود.) گزینه‌های oars-section (oars-section OPTIONS) دریافت مقدار تنظیم‌شده برای یک بخش مشخص از OARS از فیلتر برنامهٔ کاربر داده‌شده. برای مثال: # malcontent-client oars-section timmy language-profanity USER نام کاربری یا شناسهٔ کاربری (ID) کاربری که فیلتر OARS برای او دریافت می‌شود. در صورت مشخص نشدن، به‌طور پیش‌فرض از کاربر فعلی استفاده خواهد شد. SECTION بخش OARS که سطح محدودیت کاربر مورد نظر باید برای آن دریافت شود. برای مثال، language-profanity. -q، --quiet با پیشرفت عملیات، تنها پیام‌های خطا نمایش داده شوند و هیچ پیام اطلاع‌رسانی ارائه نشود. (پیش‌فرض: نمایش پیام‌های اطلاع‌رسانی.) -n، --no-interactive اجازه احراز هویت تعاملی از طریق polkit داده نشود. اگر برای تکمیل عملیات به این مورد نیاز باشد، عملیات با شکست مواجه خواهد شد. (پیش‌فرض: اجازه احراز هویت تعاملی داده می‌شود.) گزینه‌های get-session-limits (get-session-limits OPTIONS) دریافت محدودیت‌های نشست تنظیم‌شده برای یک کاربر. برای مثال: # malcontent-client get-session-limits timmy USER نام کاربری یا شناسهٔ کاربری (ID) کاربری که محدودیت‌های نشست برای او دریافت می‌شود. در صورت مشخص نشدن، به‌طور پیش‌فرض از کاربر فعلی استفاده خواهد شد. -q، --quiet با پیشرفت عملیات، تنها پیام‌های خطا نمایش داده شوند و هیچ پیام اطلاع‌رسانی ارائه نشود. (پیش‌فرض: نمایش پیام‌های اطلاع‌رسانی.) -n، --no-interactive اجازه احراز هویت تعاملی از طریق polkit داده نشود. اگر برای تکمیل عملیات به این مورد نیاز باشد، عملیات با شکست مواجه خواهد شد. (پیش‌فرض: اجازه احراز هویت تعاملی داده می‌شود.) --now yyyy-mm-ddThh:mm:ssZ بررسی محدودیت‌های نشست (به‌ویژه زمان انقضای نشست) در برابر تاریخ/زمان مشخص‌شده که در قالب ISO 8601 ارائه می‌شود. (پیش‌فرض: تاریخ/زمان فعلی.) گزینه‌های set-session-limits (set-session-limits OPTIONS) تنظیم محدودیت‌های نشست برای یک کاربر و جایگزینی کامل مقادیر قبلی آن. برای مثال: # malcontent-client set-session-limits timmy \ daily-schedule \ --start-time 16:00 --end-time 18:00 USER نام کاربری یا شناسهٔ کاربری (ID) کاربری که محدودیت‌های نشست برای او تنظیم می‌شود. در صورت مشخص نشدن، به‌طور پیش‌فرض از کاربر فعلی استفاده خواهد شد. LIMIT-TYPE نوع محدودیت نشست برای استفاده در مورد این کاربر. مقادیر ممکن عبارتند از: none - بدون محدودیت نشست. daily-schedule --start-time HH[:MM[:SS]] --end-time HH[:MM[:SS]] - برنامهٔ زمان‌بندی روزانه با زمان‌های شروع و پایان مشخص. این مقادیر باید به‌صورت دو آرگومان ارائه شوند که زمان شروع و پایان برنامه در طول شبانه‌روز را مشخص می‌کنند. daily-limit --daily-limit SECONDS - محدودیت روزانه بر کل مدت‌زمان فعال استفاده از رایانه در طول روز. این مقدار باید به‌صورت یک محدودیت زمانی بر حسب ثانیه ارائه شود. -q، --quiet با پیشرفت عملیات، تنها پیام‌های خطا نمایش داده شوند و هیچ پیام اطلاع‌رسانی ارائه نشود. (پیش‌فرض: نمایش پیام‌های اطلاع‌رسانی.) -n، --no-interactive اجازه احراز هویت تعاملی از طریق polkit داده نشود. اگر برای تکمیل عملیات به این مورد نیاز باشد، عملیات با شکست مواجه خواهد شد. (پیش‌فرض: اجازه احراز هویت تعاملی داده می‌شود.) گزینه‌های monitor (monitor OPTIONS) پایش تغییرات مربوط به هر یک از تنظیمات کنترل‌های والدین برای یک کاربر مشخص. برای مثال: # malcontent-client monitor timmy USER نام کاربری یا شناسهٔ کاربری (ID) کاربری که کنترل‌های والدین او پایش می‌شوند. در صورت مشخص نشدن، به‌طور پیش‌فرض از کاربر فعلی استفاده خواهد شد. -q، --quiet با پیشرفت عملیات، تنها پیام‌های خطا نمایش داده شوند و هیچ پیام اطلاع‌رسانی ارائه نشود. (پیش‌فرض: نمایش پیام‌های اطلاع‌رسانی.) گزینه‌های record-usage (record-usage OPTIONS) ثبت زمان‌های استفاده از نشست یا برنامه برای کاربر فعلی. برای مثال: # malcontent-client record-usage 2025-04-22T08:00:00Z 2025-04-22T16:00:00Z login-session # malcontent-client record-usage 2025-04-22T08:00:00Z 2025-04-22T16:00:00Z app "org.gnome.gedit" USAGE-ENTRIES یک یا چند مدخل استفاده برای افزودن. هر مدخل مجموعه‌ای از چهار آرگومان است: • تاریخ و زمان شروع دورهٔ استفاده (در قالب ISO 8601)، • تاریخ و زمان پایان دورهٔ استفاده (همچنین در قالب ISO 8601)، • نوع رکورد (login-session یا app) و • شناسهٔ رکورد (این مورد برای رکوردهای login-session باید یک رشتهٔ خالی باشد، و برای رکوردهای app شناسهٔ برنامه است). در صورتی که آخرین شناسهٔ رکورد در فهرست آرگومان‌ها خالی باشد، می‌توان آن را حذف کرد. -q، --quiet با پیشرفت عملیات، تنها پیام‌های خطا نمایش داده شوند و هیچ پیام اطلاع‌رسانی ارائه نشود. (پیش‌فرض: نمایش پیام‌های اطلاع‌رسانی.) گزینه‌های query-usage (query-usage OPTIONS) پرس‌وجوی زمان‌های استفاده از نشست یا برنامه برای یک کاربر مشخص. برای مثال: # malcontent-client query-usage bob login-session "" # malcontent-client query-usage bob app "org.gnome.gedit" USER نام کاربری یا شناسهٔ کاربری (ID) کاربری که اطلاعات استفاده برای او دریافت می‌شود. RECORD-TYPE IDENTIFIER نوع رکورد و شناسه‌ای که رکوردهای آن باید مورد پرس‌وجو قرار گیرند. برای مشاهدهٔ مقادیر معتبر، مستندات دستور record-usage را ببینید. -q، --quiet با پیشرفت عملیات، تنها پیام‌های خطا نمایش داده شوند و هیچ پیام اطلاع‌رسانی ارائه نشود. (پیش‌فرض: نمایش پیام‌های اطلاع‌رسانی.) -n، --no-interactive اجازه احراز هویت تعاملی از طریق polkit داده نشود. اگر برای تکمیل عملیات به این مورد نیاز باشد، عملیات با شکست مواجه خواهد شد. (پیش‌فرض: اجازه احراز هویت تعاملی داده می‌شود.) گزینه‌های get-estimated-times (get-estimated-times OPTIONS) پرس‌وجوی محدودیت‌های استفاده و نشست برای کاربر فعلی، جهت محاسبهٔ میزان زمان باقی‌مانده در نشست آنها یا زمان باقی‌مانده برای استفاده از برنامه‌ها. برای مثال: # malcontent-client get-estimated-times login-session RECORD-TYPE نوع رکورد استفاده برای پرس‌وجو. این مقدار می‌تواند login-session یا app باشد. -q، --quiet با پیشرفت عملیات، تنها پیام‌های خطا نمایش داده شوند و هیچ پیام اطلاع‌رسانی ارائه نشود. (پیش‌فرض: نمایش پیام‌های اطلاع‌رسانی.) گزینه‌های request-extension (request-extension OPTIONS) درخواست تمدید محدودیت زمان استفاده از رایانه (screen time) برای کاربر فعلی، برای نشست آنها یا برنامهٔ مشخص‌شده. برای مثال: # malcontent-client request-extension login-session "" RECORD-TYPE IDENTIFIER نوع رکورد و شناسه‌ای که درخواست تمدید برای آن ثبت می‌شود. برای مشاهدهٔ مقادیر معتبر، مستندات دستور record-usage را ببینید. DURATION مدت زمان درخواستی برای تمدید (بر حسب ثانیه)، یا صفر تا به والدین اجازه داده شود مدت زمان را انتخاب کنند (معمولاً این به معنای تمدید تا پایان امروز است). (پیش‌فرض: صفر.) -q، --quiet با پیشرفت عملیات، تنها پیام‌های خطا نمایش داده شوند و هیچ پیام اطلاع‌رسانی ارائه نشود. (پیش‌فرض: نمایش پیام‌های اطلاع‌رسانی.) گزینه‌های get-web-filter (get-web-filter OPTIONS) دریافت فیلتر وب برای یک کاربر. برای مثال: # malcontent-client get-web-filter timmy USER نام کاربری یا شناسهٔ کاربری (ID) کاربری که فیلتر وب برای او دریافت می‌شود. در صورت مشخص نشدن، به‌طور پیش‌فرض از کاربر فعلی استفاده خواهد شد. -q، --quiet با پیشرفت عملیات، تنها پیام‌های خطا نمایش داده شوند و هیچ پیام اطلاع‌رسانی ارائه نشود. (پیش‌فرض: نمایش پیام‌های اطلاع‌رسانی.) -n، --no-interactive اجازه احراز هویت تعاملی از طریق polkit داده نشود. اگر برای تکمیل عملیات به این مورد نیاز باشد، عملیات با شکست مواجه خواهد شد. (پیش‌فرض: اجازه احراز هویت تعاملی داده می‌شود.) گزینه‌های set-web-filter (set-web-filter OPTIONS) تنظیم فیلتر وب برای یک کاربر و جایگزینی تمام مقادیر قبلی موجود در آن. برای مثال: # malcontent-client set-web-filter timmy \ --force-safe-search \ --filter-type block-list \ adult=https://v.firebog.net/hosts/Prigent-Adult.txt \ advertising=https://v.firebog.net/hosts/Prigent-Ads.txt \ reddit.com \ ~mastodon.social USER نام کاربری یا شناسهٔ کاربری (ID) کاربری که فیلتر وب برای او تنظیم می‌شود. در صورت مشخص نشدن، به‌طور پیش‌فرض از کاربر فعلی استفاده خواهد شد. ARG موردی که باید در فیلتر وب کاربر فیلتر شود. این مورد می‌تواند یک جفت id=filter-URI یا یک نام میزبان (hostname) جداگانه جهت مسدودسازی باشد. برای هر دو نوع مورد می‌توان از پیشوند ~ (تیلدا) استفاده کرد تا به جای مسدود شدن، مجاز دانسته شوند. شناسهٔ منبع فیلتر (filter URI) باید به یک فایل متنی با همان قالب /etc/hosts اشاره کند که وب‌سایت‌های مشمول فیلتر در آن فهرست شده‌اند. شناسهٔ (ID) مرتبط، یک رشتهٔ الفبایی-عددی دلخواه است که برای ردیابی فیلتر در طول زمان به کار می‌رود، حتی اگر URI اصلی آن تغییر کند. می‌توان چندین مورد را مشخص کرد، و آنها به‌طور کامل جایگزین فیلتر وب فعلی کاربر خواهند شد. در صورت مشخص نشدن هیچ موردی (صفر مورد)، فیلتر وب پاک خواهد شد. --force-safe-search اجبار به فعال‌سازی حالت «جستجوی ایمن» (safe search) برای موتورهای جستجوی شناخته‌شده و وب‌سایت‌های پرطرفدار. --filter-type نوع فیلتر وب مورد استفاده برای این کاربر. مقادیر ممکن عبارتند از: none - بدون فیلتر وب. block-list - وب‌سایت‌ها به‌طور پیش‌فرض مجاز هستند، مگر اینکه در یکی از فهرست‌های مسدودسازی (block lists) آمده باشند. وب‌سایت‌های موجود در فهرست‌های مجاز (allow lists) همواره مجاز هستند. allow-list - وب‌سایت‌ها به‌طور پیش‌فرض مسدود هستند، مگر اینکه در یکی از فهرست‌های مجاز آمده باشند. فهرست‌های مسدودسازی نادیده گرفته می‌شوند. -q، --quiet با پیشرفت عملیات، تنها پیام‌های خطا نمایش داده شوند و هیچ پیام اطلاع‌رسانی ارائه نشود. (پیش‌فرض: نمایش پیام‌های اطلاع‌رسانی.) -n، --no-interactive اجازه احراز هویت تعاملی از طریق polkit داده نشود. اگر برای تکمیل عملیات به این مورد نیاز باشد، عملیات با شکست مواجه خواهد شد. (پیش‌فرض: اجازه احراز هویت تعاملی داده می‌شود.) گزینه‌های update-web-filters (update-web-filters OPTIONS) بارگیری و به‌روزرسانی فیلترهای وب کامپایل‌شده برای یک کاربر خاص یا برای تمام کاربران. این دستور، پیکربندی فعلی فیلتر وب کاربر را خوانده و پایگاه دادهٔ فیلتر کامپایل‌شده را با استفاده از آن پیکربندی به‌روزرسانی می‌کند. برای مثال: # malcontent-client update-web-filters timmy برای به‌روزرسانی پیکربندی فیلتر وب یک کاربر، از malcontent-client set-web-filter استفاده کنید. USER نام کاربری یا شناسهٔ کاربری (ID) کاربری که فیلترهای وب برای او به‌روزرسانی می‌شوند. در صورت مشخص نشدن، فیلترهای وب برای تمام کاربرانی که این فیلترها را تنظیم کرده‌اند به‌روزرسانی خواهد شد. -q، --quiet با پیشرفت عملیات، تنها پیام‌های خطا نمایش داده شوند و هیچ پیام اطلاع‌رسانی ارائه نشود. (پیش‌فرض: نمایش پیام‌های اطلاع‌رسانی.) -n، --no-interactive اجازه احراز هویت تعاملی از طریق polkit داده نشود. اگر برای تکمیل عملیات به این مورد نیاز باشد، عملیات با شکست مواجه خواهد شد. (پیش‌فرض: اجازه احراز هویت تعاملی داده می‌شود.) گزینه‌های dump-web-filters (dump-web-filters OPTIONS) تخلیه و نمایش (Dump) فیلترهای وب کامپایل‌شده برای یک کاربر خاص یا برای تمام کاربران. این‌ها همان قواعد فیلتری هستند که در حال حاضر مورد استفاده قرار می‌گیرند. برای مثال: # malcontent-client dump-web-filters timmy USER نام کاربری یا شناسهٔ کاربری (ID) کاربری که فیلترهای وب برای او تخلیه می‌شوند. در صورت مشخص نشدن، فیلترهای وب برای تمام کاربرانی که این فیلترها را تنظیم کرده‌اند تخلیه خواهد شد. -q، --quiet با پیشرفت عملیات، تنها پیام‌های خطا نمایش داده شوند و هیچ پیام اطلاع‌رسانی ارائه نشود. (پیش‌فرض: نمایش پیام‌های اطلاع‌رسانی.) -n، --no-interactive اجازه احراز هویت تعاملی از طریق polkit داده نشود. اگر برای تکمیل عملیات به این مورد نیاز باشد، عملیات با شکست مواجه خواهد شد. (پیش‌فرض: اجازه احراز هویت تعاملی داده می‌شود.) محیط (ENVIRONMENT) malcontent-client از متغیرهای محیطی استاندارد GLib برای اشکال‌زدایی پشتیبانی می‌کند. این متغیرها برای استفاده در محیط عملیاتی (production) در نظر گرفته نشده‌اند: $G_MESSAGES_DEBUG این متغیر می‌تواند شامل یک یا چند نام دامنهٔ اشکال‌زدایی برای نمایش خروجی اشکال‌زدایی باشد. مقدار all تمام خروجی‌های اشکال‌زدایی را فعال می‌کند. به‌طور پیش‌فرض، هیچ خروجی اشکال‌زدایی فعال نیست. وضعیت خروج (EXIT STATUS) malcontent-client در صورت مواجهه با مشکل، ممکن است یکی از کدهای خطای زیر را بازگرداند. 0 هیچ مشکلی رخ نداد. این ابزار اجرا شد و فیلتر برنامه را با موفقیت بررسی کرد. در صورت اجرای دستور check-app-filter، مسیر، نوع محتوا یا ارجاع flatpak داده‌شده برای کاربر مورد نظر مجاز بوده است. 1 هنگام راه‌اندازی، یک گزینهٔ نامعتبر به malcontent-client داده شد. 2 کاربر فعلی مجوز لازم برای پرس‌وجوی فیلتر برنامه را برای کاربر مورد نظر نداشت. 3 در صورت اجرای دستور check-app-filter، مسیر، نوع محتوا یا ارجاع flatpak داده‌شده برای کاربر مورد نظر مجاز نبود. 4 قابلیت Malcontent در سطح سیستم غیرفعال است و بنابراین کنترل‌های والدین فعال نبوده و اعمال نمی‌شود. 5 عملیات ناموفق بود و اطلاعات خطای مشخص‌تری در دسترس نیست. 6 سرویس مشغول بود؛ کمی بعد دوباره تلاش کنید. اشکالات (BUGS) هرگونه اشکالی که پیدا می‌شود باید در وب‌سایت پروژه گزارش شود: https://gitlab.freedesktop.org/pwithnall/malcontent/-/issues نویسنده (AUTHOR) Endless Mobile, Inc. Philip Withnall حق نشر (COPYRIGHT) Copyright © 2018 Endless Mobile, Inc. Copyright © 2025 GNOME Foundation, Inc. 1.2 20 Mar 2025 man(8)