GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
XSS-LOCK(1) FreeBSD General Commands Manual XSS-LOCK(1)

xss-lock - use external locker as X screen saver

xss-lock [-n notify_cmd] [--ignore-sleep] [-l] [-v|-q] [--] locker [arg] ...
xss-lock --help|--version

xss-lock hooks up your favorite locker to the MIT screen saver extension for X and also to systemd's login manager. The locker is executed in response to events from these two sources:

  • X signals when screen saver activation is forced or after a period of user inactivity (as set with xset s TIMEOUT). In the latter case, the notifier command, if specified, is executed first.
  • The login manager can also request that the session be locked; as a result of loginctl lock-sessions, for example. Additionally, xss-lock uses the inhibition logic to lock the screen before the system goes to sleep.

xss-lock waits for the locker to exit -- or kills it when screen saver deactivation or session unlocking is forced -- so the command should not fork.

Also, xss-lock manages the idle hint on the login session. The idle state of the session is directly linked to user activity as reported by X (except when the notifier runs before locking the screen). When all sessions are idle, the login manager can take action (such as suspending the system) after a preconfigured delay.

Run cmd when the screen saver activates because of user inactivity. Shell-style quoting is supported. The notifier is killed when X signals user activity or when the locker is started. The locker is started after the first screen saver cycle, as set with xset s TIMEOUT CYCLE.

This can be used to run a countdown or (on laptops) dim the screen before locking. For an example, see the script /usr/local/share/doc/xss-lock/dim-screen.sh.

Allow the locker process to inherit the file descriptor that represents the delay lock obtained from the login manager. The corresponding index will be made available in the environment variable $XSS_SLEEP_LOCK_FD; this will only be set if the reason for locking is that the system is preparing to go to sleep. The locker should close this file descriptor to indicate it is ready.

Example scripts that wrap existing lockers are available as /usr/local/share/doc/xss-lock/transfer-sleep-lock-*.sh.

Do not lock on suspend/hibernate.
Output only fatal errors.
Output more messages.
Print help message and exit.
Print version number and exit.

Upon receiving this signal, xss-lock resets the screen saver, but only if the screen is not currently locked (unlike xset s reset).

This can be used in MPlayer's configuration as a workaround for MPlayer's failure to restart the screen saver timer when playback is paused:

heartbeat-cmd="killall -HUP xss-lock"
stop-xscreensaver=false


NOTE:

This is ineffective with mplayer2 (and mpv), because its heart keeps beating while playback is paused.


Upon receiving this signal, xss-lock exits after killing any running notifier or locker.

Some applications rely on the xdg-screensaver script from xdg-utils, which uses xset s off and xset s default to suspend and resume the screen saver, respectively. The latter resets the timeout and cycle to the server defaults (xset s on uses a hardcoded default instead), so this only works if you are happy with (or can control) the server settings.

To fix the resume action in this script (or a copy in ~/bin preceding the original in $PATH), either replace on by your preferred timeout and cycle, or avoid hardcoded time values by patching the script to run a suspend loop as it does for other screen savers, using /usr/local/share/doc/xss-lock/xdg-screensaver.patch.


Run xlock after ten minutes of inactivity:

xset 600
xss-lock xlock +resetsaver


Without +resetsaver, xlock forces a screen saver reset during startup, thereby telling xss-lock to immediately kill xlock again.

Dim the screen after three minutes of inactivity, lock the screen two minutes later using i3lock:

xset 180 120
xss-lock -n dim-screen.sh -- i3lock -n


NOTE:

A script is provided to use i3lock's forking mode with the --tranfer-sleep-lock option (see above).



xset(1), systemd-logind.service(8)

Raymond Wagenmaker <raymondwagenmaker@gmail.com>

November 2013

Search for    or go to Top of page |  Section 1 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.