Giter Club home page Giter Club logo

swaylockd's Introduction

swaylockd

Binaries Workflow

swaylockd is a dumb launcher to spawn swaylock and ensure it’s running no matter what — it immediately restarts swaylock if terminated by a signal (e.g. the process crashed) and also blocks all signals (except SIGKILL and SIGSTOP). It also ensures that only one instance per user is running.

swaylockd has been developed mainly as a workaround for the swaylock stability issues [1] (see e.g. #181).

swaylock is a critical piece of security software — as a screen locker, any bug in the program that causes it to crash will cause the screen to unlock. As soon as swaylock is no longer running, the screen is no longer locked. Therefore, great care must be taken to ensure that the daemon never crash.

Refer to swaylockd(1) for more information.

Requirements

Runtime:
Build:
  • C compiler and linker supporting at least C99 (tested with clang and gcc)

  • GNU Make

  • Asciidoctor (for building man pages)

Installation

On Alpine Linux

Install package swaylockd on Alpine Linux v3.15 or later:

apk add swaylockd

Using Pre-Built Binary

  1. Download and extract release tarball for your CPU architecture (pick the right link from the list above):

    wget https://github.com/jirutka/swaylockd/releases/download/v0.1.0/swaylockd-0.1.0-x86_64-unknown-linux.tar.gz
    tar -xzf swaylockd-0.1.0-*.tar.gz
  2. Install swaylockd somewhere on your PATH, e.g. /usr/local/bin:

    install -m 755 swaylockd-0.1.0-*/swaylockd /usr/local/bin/

All binaries are statically linked with musl libc, so they work on every Linux system (distro) regardless of used libc.

From Source Tarball

wget https://github.com/jirutka/swaylockd/archive/v0.1.0/swaylockd-0.1.0.tar.gz
tar -xzf swaylockd-0.1.0.tar.gz
cd swaylockd-0.1.0

make build
make install DESTDIR=/ prefix=/usr/local

License

This project is licensed under MIT License. For the full text of the license, see the LICENSE file.


1. Actually, it’s more a bad design. See article XScreenSaver: On Toolkit Dialogs written in 2004 by Jamie Zawinski.

swaylockd's People

Contributors

jirutka avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

loqusion

swaylockd's Issues

About swaylock executable location

Hi,
I've compiled your program on debian 11 bullseye but as you know swaylock is removed.
I have to modify the swaylock executable location from /usr/bin/swaylock to /usr/local/bin/swaylock in swaylockd.c and in Makefile because I compiled swaylock from the git repo sources and I have installed it here.
So what I suggest you is to put a control of the location of the executable of swaylock instead of the absolute location.
Best regards

Use `--screenshots` at multi-monitor display,

Using the --screenshots parameter in the case of multiple monitors the screenshot background on the second screen only shows the screenshot of the first screen, and the screenshot is shown in the wrong resolution.

Version:
swaylockd version 0.1.0
swaylock version v1.6.11 (Apr 30 2023, branch 'master')

wm: hyprland-git r2890.a31dceb2-1

OS: arch linux

-- monitor 1: 1920x1200
-- monitor 2 : 3840x2180

Command:
$ swaylockd --screenshots

Image_5601863

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.