XScreenSaver (Русский)

Состояние перевода:
На этой странице представлен перевод статьи
XScreenSaver
. Дата последней синхронизации: 3 июня 2025. Вы можете
помочь
синхронизировать перевод, если в английской версии произошли
изменения
.
Ссылки по теме
Display Power Management Signaling (Русский)#Xorg
Ресурсы X
Блокировка экрана
Список приложений/Безопасность#Блокировка экрана
XScreenSaver
— реализация хранителя экрана (заставки) и блокировки сеанса с графическими эффектами. X Window System имеет встроенное
управление питанием экрана
, но XScreenSaver предоставляет дополнительные возможности.
Установка
Установите
пакет
xscreensaver
.
Пакет
xscreensaver-arch-logo
AUR
предоставляет модифицированную версию с логотипом Arch Linux.
Настройка
Большинство опций настраиваются для каждого пользователя отдельно через графический интерфейс
xscreensaver-settings
. Эта программа записывает настройки в
~/.xscreensaver
, отменяя любые ручные изменения этого файла. Глобальные параметры определены в
/usr/lib/X11/app-defaults/XScreenSaver
.
С версии 5.22 можно изменять настройки с помощью
Xresources
, в том числе тему.
Темы
С версии 6.0 XScreenSaver имеет несколько встроенных тем. Можно переключаться между ними через
xscreensaver-settings
или с помощью опции
dialogTheme
(
dialogTheme:
имятемы
в
~/.xscreensaver
или через ресурсы X:
xscreensaver-auth.dialogTheme:
имятемы
).
Вы можете изменять темы с помощью ресурсов X. Пример ниже демонстрирует изменение некоторых цветов и шрифтов. Если вы выбрали тему отличную от стандартной, замените
default
на название выбранной вами темы в нижнем регистре или пропишите вопросительный знак (
?
), чтобы изменение повлияло на все темы:
~/.Xresources
! Шрифт для обычного текста.
! Имена шрифтов не чувствительны к регистру.
! Можно прописать список через запятую, чтобы задать fallback-шрифт.
xscreensaver-auth.default.Dialog.bodyFont: times new roman 12, dejavu serif 12

! Фоновый цвет окна. Цвета можно задавать с помощью имён.
xscreensaver-auth.default.Dialog.background: black

! Основной цвет текста. Цвета можно задавать также с помощью HEX-кода.
xscreensaver-auth.default.Dialog.foreground: #ffffff
Посмотреть список всех доступных для изменения ресурсов можно в файле
/usr/lib/X11/app-defaults/XScreenSaver
.
Не забудьте
перезагрузить файл ресурсов
после изменения.
DPMS и гашение экрана
XScreenSaver управляет гашением экрана (screen blanking) и энергосбережением дисплея (
DPMS
) независимо от самого́ X и переопределяет его. Чтобы настроить тайминги для гашения экрана, режима ожидания, выключения дисплея и т.п., используйте
xscreensaver-demo
или отредактируйте файл настроек вручную, например,
~/.xscreensaver
:
timeout:	1:00:00
cycle:		0:05:00
lock:		False
lockTimeout:	0:00:00
passwdTimeout:	0:00:30
fade:		True
unfade:		False
fadeSeconds:	0:00:03
dpmsEnabled:	True
dpmsStandby:	2:00:00
dpmsSuspend:	2:00:00
dpmsOff:	4:00:00
Отключить гашение экрана и DPMS можно через
xscreensaver-settings
, выбрав в списке
Mode
пункт
Disable Screen Saver
.
Примечание
Если значение
Lock Screen After
включено и установлено в 0 минут, экран будет заблокирован сразу после включения заставки. Если галочка
Power Management Enabled
снята, DPMS выключается, однако это не означает, что XScreenSaver перестаёт контролировать настройки DPMS.
Использование
Совет
Чтобы запустить XScreenSaver без окна приветствия, используйте опцию
--no-splash
. Посмотреть список всех доступных опций можно в
xscreensaver(1)
.
В
LXDE
и
LXQt
XScreenSaver запускается автоматически и дополнительные действия не требуются.
Для других сред смотрите статью
Автозапуск
.
В
KDE Plasma
заставка и блокировка экрана реализуются через
ksmserver
, который будет конфликтовать с XScreenSaver. Чтобы отключить его, нужно изменить
пользовательский юнит
plasma-ksmserver.service
:
~/.config/systemd/user/plasma-ksmserver.service.d/override.conf
[Service]
ExecStart=
ExecStart=/usr/bin/ksmserver --no-lockscreen
Также откройте параметры системы и отключите
Управление питанием > Отключение экрана
.
Затем перелогиньтесь, и после этого XScreenSaver должен заработать нормально. Смотрите
xscreensaver(1) § INSTALLING XSCREENSAVER ON KDE
для более подробной информации.
Когда демон XScreenSaver запущен, можно немедленно заблокировать экран с помощью следующей команды:
$ xscreensaver-command -lock
Блокировка при переходе в ждущий режим
XScreenSaver имеет в своём составе утилиту
xscreensaver-systemd
, которая обрабатывает сигналы
D-Bus
от
systemd
и автоматически блокирует экран при переходе в ждущий или спящий режим. Она запускается автоматически вместе с
xscreensaver
, дополнительные действия не требуются. Смотрите
xscreensaver-systemd(6)
для более подробной информации.
Переключение пользователя с экрана блокировки
Важно
При переключении пользователей с помощью экранного менеджера некоторые экранные менеджеры вроде LXDM не отправляют сигнал для блокировки исходного сеанса — доступ к нему можно получить без пароля, просто переключившись на соответствующий TTY. Если это касается вашего экранного менеджера, запускайте
xscreensaver-command -lock
или
loginctl lock-session
вручную или используйте другую программу блокировки экрана — смотрите
Список приложений/Безопасность#Блокировка экрана
.
По умолчанию кнопка
New Login
выполняет команду
gdmflexiserver -ls
для переключения пользователя. Это работает в
GDM
, но для других
экранных менеджеров
нужно прописать правильную команду в настройках.
Совет
Если в
~/.Xresources
добавить
xscreensaver-auth.default.*.newLoginCommand:
с пустым значением, то кнопка
New Login
исчезнет.
xscreensaver-settings
сбрасывает ручные изменения файла
~/.xscreensaver
, поэтому здесь используется
~/.Xresources
.
LXDM
xscreensaver-auth.default.*.newLoginCommand: lxdm -c USER_SWITCH
LightDM
xscreensaver-auth.default.*.newLoginCommand: dm-tool switch-to-greeter
Примечание
Если вы используете это для перехода к уже вошедшему в систему пользователю, возможно, придётся ввести пароль дважды (один раз для LightDM, и один раз для диалога XScreenSaver того пользователя, к которому вы вошли).
SDDM
SDDM
не поддерживает переключение пользователей.
[1]
Вы можете попробовать вызвать метод
SwitchToGreeter
с помощью dbus-send
, но это может работать некорректно.
Советы и рекомендации
Отключение во время просмотра видео
Начиная с версии 5.45, утилита
xscreensaver-systemd
реализует
D-Bus
интерфейс ScreenSaver. Она запускается автоматически вместе с
xscreensaver
, так что большинство приложений должны корректно отключать хранитель экрана без дополнительных настроек. Однако некоторые приложения не поддерживают D-Bus или используют другие интерфейсы.
mpv
По умолчанию
mpv
использует X11 Screen Saver extension (XSS). Он выключает заставку при запуске и включает её снова при выходе. Заставка также включается, когда проигрыватель приостановлен. Поведение можно настроить в файле
~/.config/mpv/mpv.conf
:
stop-screensaver = "yes"
Это поддерживается не на всех видеовыходах и платформах. Если вы столкнулись с проблемами, попробуйте создать Lua-скрипт, который будет отключать заставку каждые полминуты:
~/.config/mpv/scripts/xscreensaver.lua
local utils = require 'mp.utils'
mp.add_periodic_timer(30, function()
    utils.subprocess({args={"xscreensaver-command", "-deactivate"}})
end)
Скрипт будет запускать указанную команду каждые полминуты.
mplayer
Добавьте в
~/.mplayer/config
:
heartbeat-cmd="xscreensaver-command -deactivate >&- 2>&- &"
Kodi
Kodi
не имеет встроенной поддержки XScreenSaver (он использует свой собственный хранитель экрана).
Установите
пакет
kodi-prevent-xscreensaver
AUR
или используйте расширение
OS Screen Saver Manager
.
HTML5-видео в браузерах
Большинство браузеров (
Chromium
и основанные на нём,
Firefox
,
GNOME Web
,
Otter Browser
и т.д.) поддерживают интерфейс D-Bus ScreenSaver и должны нормально отключать хранитель экрана при воспроизведении HTML5-видео.
Другие приложения
Если вы используете приложения, которые не умеют отключать хранитель экрана, можно попробовать использовать скрипт
lightsonplus
, который отключает хранитель экрана, когда обнаруживает полноэкранное видео. Некоторые приложения (
totem
,
Steam
и другие) поддерживаются из коробки, нужно лишь включить их обнаружение в скрипте
lightson+
. Если используемое вами приложение не поддерживается, но имеет постоянное имя окна, можно прописать его в переменной
window_name
.
Анимированный фон
Можно поставить заставку на фон рабочего стола. Для этого сперва завершите все процессы, которые контролируют фон (корневое окно), а затем найдите исполняемый файл нужной вам заставки (они обычно лежат в
/usr/lib/xscreensaver/
) и запустите с опцией
-root
, например:
$ /usr/lib/xscreensaver/glslideshow -root &
Примечание
Если есть проблемы с
xcompmgr
или
picom
,
установите
пакет
shantz-xwinwrap-bzr
AUR
и запускайте заставку так:
$ xwinwrap -b -fs -sp -nf -ov -- /usr/lib/xscreensaver/glslideshow -root -window-id WID &
Решение проблем
Для вывода более подробного журнала запустите
xscreensaver
с опцией
--verbose
. Также можно добавить
verbose: True
в файл
~/.xscreensaver
, чтобы сделать это постоянным.
Для записи журнала в файл можно указать путь к файлу с помощью опции
--log
. Использование этой опции автоматически включает подробный вывод. (Эквивалента данной опции в файле
~/.xscreensaver
или ресурсах X нет.)
Смотрите также
Сайт XScreenSaver