XScreenSaver(1) General Commands Manual XScreenSaver(1)

xscreensaver-command - کنترل یک فرآیند در حال اجرای xscreensaver

xscreensaver-command [--display host:display.screen] [--help | --quiet | --verbose | --activate | --deactivate | --cycle | --next | --prev | --select n | --lock | --suspend | --exit | --restart | --time | --watch | --version]

برنامهٔ xscreensaver-command یک دیمن در حال اجرای xscreensaver(1) را کنترل می‌کند.

دستور xscreensaver-command گزینه‌های خط فرمان زیر را می‌پذیرد:

خلاصهٔ کوتاهی از گزینه‌های خط فرمان را چاپ می‌کند.
خروجی را تنها در صورت بروز خطا چاپ می‌کند.
نقطهٔ مقابل --quiet. پیش‌فرض.
به xscreensaver اعلام می‌کند که بلافاصله فعال شود (یعنی صفحه را خالی/سیاه کند، گویی کاربر به مدت کافی بی‌کار بوده است). محافظ صفحه طبق معمول، به محض هرگونه فعالیت کاربر غیرفعال می‌شود.
به xscreensaver اعلام می‌کند وانمود کند که همین حالا فعالیت کاربری رخ داده است. این یعنی اگر محافظ صفحه فعال باشد (صفحه سیاه شده باشد)، این دستور باعث خروج صفحه از حالت سیاهی می‌شود، گویی با صفحه‌کلید یا موشواره فعالیت شده است. اگر صفحه قفل باشد، کادر گفتگوی گذرواژه ابتدا نمایش داده می‌شود، همان‌طور که معمول است. اگر صفحه سیاه نشده باشد، این شبیه‌سازی فعالیت کاربر شمارش معکوس را از نو آغاز می‌کند (بنابراین، اجرای دوره‌ای دستور --deactivate یکی از روش‌های جلوگیری از سیاه شدن صفحه است).
اگر محافظ صفحه فعال باشد (صفحه سیاه شده باشد)، اجرای جلوهٔ گرافیکی فعلی را متوقف کرده و نمونهٔ جدیدی را (به‌صورت تصادفی) اجرا می‌کند.
بسته به شرایط، عملکردی مشابه --activate یا --cycle دارد؛ با این تفاوت که جلوهٔ گرافیکی بعدی در فهرست به جای یک جلوهٔ تصادفی اجرا خواهد شد. به بیان دیگر، اجرای مکرر --next باعث می‌شود فرآیند xscreensaver هر جلوهٔ گرافیکی را به‌صورت متوالی فراخوانی کند. (هرچند استفاده از گزینهٔ --settings احتمالاً روش آسان‌تری برای رسیدن به این هدف است).
مشابه --next است، اما در جهت عکس حرکت می‌کند.
مشابه --activate است، اما عضو شمارهٔ Nام در فهرست جلوه‌ها را اجرا می‌کند. با دانستن محتوای فهرست programs و ترتیب آن‌ها، می‌توانید با استفاده از این گزینه محافظ صفحه را با یک جلوهٔ گرافیکی خاص فعال کنید. (شماره‌گذاری عضو نخست در فهرست از ۱ آغاز می‌شود، نه ۰).
به فرآیند در حال اجرای xscreensaver دستور می‌دهد که صفحه را بلافاصله قفل کند. این گزینه مشابه --activate است، اما قفل کردن را نیز اجباری می‌کند، حتی اگر قفل کردن حالت پیش‌فرض نباشد (یعنی حتی اگر منبع lock در xscreensaver غیرفعال (false) باشد و حتی اگر مقدار منبع lockTimeout غیر صفر باشد).

توجه داشته باشید که قفل کردن کار نخواهد کرد مگر اینکه فرآیند xscreensaver تحت حساب کاربری شما اجرا شده باشد. برای جزئیات بیشتر به xscreensaver(1) مراجعه کنید.

مشابه --activate است، اما lockTimeout را نادیده گرفته و بلافاصله بدون ایجاد افکت محوشدن، صفحه را خاموش می‌کند. این گزینه به‌منظور اجرا بلافاصله پس از بستن درب لپ‌تاپ و درست پیش از متوقف شدن پردازنده طراحی شده تا همه‌چیز را سریعاً قفل کند.
باعث خروج آرام و بدون نقص فرآیند xscreensaver می‌شود. اگر نمایشگر در حال حاضر قفل باشد، هیچ کاری انجام نمی‌دهد. هشدار: هرگز از kill -9 برای بستن xscreensaver استفاده نکنید. این کار می‌تواند سیستم را در وضعیتی ناپایدار رها کند و ممکن است برای بازگرداندن سیستم به حالت عادی ناچار به خروج از نشست کاربری (logout) شوید.
باعث خروج فرآیند محافظ صفحه و راه‌اندازی دوبارهٔ آن با همان آرگومان‌های خط فرمان پیشین می‌شود. معمولاً نیازی به انجام این کار نخواهید داشت، زیرا xscreensaver تغییرات فایل .xscreensaver را تشخیص داده و در صورت نیاز مجدداً آن را می‌خواند.
زمانی را که محافظ صفحه آخرین بار فعال یا غیرفعال شده است، چاپ می‌کند (تقریباً نشان می‌دهد کاربر چه مدت بی‌کار یا فعال بوده است؛ البته نه کاملاً دقیق، زیرا تنها زمانی را نشان می‌دهد که صفحه سیاه شده یا از حالت سیاه خارج شده است).
هر بار که وضعیت محافظ صفحه تغییر کند، یک خط چاپ می‌کند: هنگام سیاه شدن صفحه، قفل شدن، بازگشت از سیاهی، یا زمانی که جلوهٔ در حال اجرا تغییر می‌یابد. این گزینه هرگز خاتمه نمی‌یابد؛ کاربرد آن در اسکریپت‌های شل است که می‌خواهند به تغییرات محافظ صفحه واکنش نشان دهند. نمونه‌ای از خروجی آن به شرح زیر است:
BLANK Fri Nov  5 01:57:22 1999
RUN 34
RUN 79
RUN 16
LOCK Fri Nov  5 01:57:22 1999
RUN 76
RUN 12
UNBLANK Fri Nov  5 02:05:59 1999
متن بالا فعال شدن محافظ صفحه، اجرای سه جلوهٔ گرافیکی مختلف، سپس قفل شدن (احتمالاً به دلیل پایان مهلت قفل) و در نهایت بازگشت به حالت عادی (به دلیل فعالیت کاربر و وارد کردن گذرواژهٔ صحیح) را نشان می‌دهد. شماره‌های جلوه‌ها، اندیس آن‌ها در فهرست `programs` است (که مانند دستور --select، از ۱ شروع می‌شود نه ۰).

برای نمونه، فرض کنید می‌خواهید برنامه‌ای اجرا کنید که با سیاه شدن صفحه صدای رایانه را قطع کند و با روشن شدن مجدد صفحه صدا را بازگرداند. می‌توانید با اجرای برنامه‌ای به زبان Perl مانند نمونهٔ زیر در پس‌زمینه این کار را انجام دهید. برنامهٔ زیر خروجی دستور --watch را پایش کرده و بر اساس آن عمل می‌کند:

#!/usr/bin/perl
my $blanked = 0;
open (my $in, "xscreensaver-command -watch |") || die;
while (<$in>) {
  if (m/^(BLANK|LOCK)/) {
    if (!$blanked) {
      system ("sound-off");
      $blanked = 1;
    }
  } elsif (m/^UNBLANK/) {
    system ("sound-on");
    $blanked = 0;
  }
}
توجه داشته باشید که LOCK ممکن است همراه با یک BLANK قبلی یا بدون آن رخ دهد (بسته به این که مهلت زمانی قفل غیر صفر باشد یا خیر)، بنابراین برنامهٔ بالا هر دو را ردیابی می‌کند.
نسخهٔ xscreensaver در حال اجرا روی نمایشگر را چاپ می‌کند: یعنی شماره نسخهٔ واقعی فرآیند پس‌زمینهٔ xscreensaver، نه نسخهٔ ابزار xscreensaver-command. (برای دیدن نسخهٔ خود xscreensaver-command، از گزینهٔ --help استفاده کنید).

اگر xscreensaver در حال اجرا است، اما می‌خواهید اجرای جلوه‌های گرافیکی متوقف شود (برای نمونه، اگر از راه دور متصل شده‌اید و می‌خواهید کنسول قفل بماند اما صرفاً سیاه باشد و پردازش گرافیکی اجرا نشود)، می‌توانید این کار را به‌سادگی با خاموش کردن نمایشگر از راه دور انجام دهید. پس از گذشت حدود یک دقیقه، xscreensaver متوجه خاموش بودن نمایشگر شده و اجرای جلوه‌های گرافیکی را متوقف می‌کند. می‌توانید نمایشگر را بدین صورت خاموش کنید:

xset dpms force off

برای اطلاعات بیشتر، صفحهٔ راهنمای xset(1) را مطالعه کنید.

همچنین می‌توانید از xscreensaver-settings(1) استفاده کنید تا نمایشگر پس از چند ساعت خاموش شود؛ به این معنی که xscreensaver تا زمان سپری شدن مدت زمان بی‌کاری تعیین‌شده جلوه‌های گرافیکی را اجرا می‌کند و پس از آن، نمایشگر خاموش شده و اجرای جلوه‌ها متوقف خواهد شد.

اگر در برقراری ارتباط با دیمن xscreensaver خطایی رخ دهد یا اگر دیمن خطایی گزارش کند، یک پیام تشخیصی در stderr چاپ خواهد شد و xscreensaver-command با مقداری غیر صفر خارج می‌شود. اگر دستور پذیرفته شود، پیامی حاکی از موفقیت در stdout چاپ شده و مقدار خروج صفر خواهد بود.

جهت دریافت نام میزبان و شمارهٔ صفحهٔ نمایشی که محافظ آن باید کنترل شود.
برای یافتن فایل اجرایی جهت راه‌اندازی دوباره (برای دستور --restart). توجه داشته باشید که این متغیر در محیط فرآیند xscreensaver بررسی می‌شود، نه فرآیند xscreensaver-command.

همواره می‌توانید جدیدترین نسخهٔ xscreensaver(1) و ابزارهای وابسته را در https://www.jwz.org/xscreensaver بیابید.

X(1), xscreensaver(1), xscreensaver-settings(1), xset(1)

Copyright © 1992-2026 by Jamie Zawinski. اجازه‌نامه برای استفاده، کپی، تغییر، توزیع و فروش این نرم‌افزار و مستندات آن برای هر هدفی بدین‌وسیله به صورت رایگان اعطا می‌شود، مشروط بر اینکه اعلان حق نشر فوق در تمام نسخه‌ها درج شود و هم اعلان حق نشر و هم این مجوزنامه در مستندات پشتیبان ظاهر شوند. هیچ ادعایی در مورد مناسب بودن این نرم‌افزار برای هر هدفی ارائه نشده است. این نرم‌افزار «همان‌طور که هست» و بدون هیچ ضمانت صریح یا ضمنی ارائه می‌شود.

Jamie Zawinski <jwz@jwz.org>.

لطفاً در صورت یافتن هرگونه باگ یا اعمال بهبودها، به نویسنده اطلاع دهید.

6.15 (30-Mar-2026) X Version 11