Giter VIP home page Giter VIP logo

autosleep's Introduction

About

This is a really lightweight program intended to run daemonised on Linux servers/PCs with systemd. It will perform configurable checks for activity on the system and, if the system has been idle long enough, will suspend the system.

Your defined activity checks will all be run together every set number of seconds defined in your configuration file. They will all be checked iteratively but will short circuit; if one check returns that the system is active, the remaining checks will be skipped.

Installation

  1. Clone the repo
  2. Install with ./install.sh

This will: build the binary application and move it to /usr/local/bin, install the systemd service and the configuration files with a couple demonstrative checks in the directory /etc/autosleep.d/checks.

Configuration

See the wiki for info on configuration.

Usage

After installation, start and enable the systemd service with:

systemctl enable --now autosleep.service

By default, the program will log basic info about the checks to the system journal so you can check what it's doing at runtime.

To-do

  • 'Users' class checks
    • Check compatibility across different distributions
    • Rewrite to use a crate like rust-psutil once their features are implemented
  • 'Command' class checks
  • More types of activity checks
    • Network (incoming and outgoing connections)
    • Process-based
    • X11 idle detection
  • Scheduling a wake-up
  • Documentation
  • Unit tests
  • Releases contain builds
  • Publish on package managers

autosleep's People

Contributors

n-hass avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.