2
3
Fork
You've already forked shed
1
session process with init-agnostic user services and graceful session log out
  • Shell 78.9%
  • Roff 18.2%
  • Makefile 2.9%
Find a file
eylles 1da85d2306
Correct matching and execution
So using the paths provided by command -v is a good thing in fact
2026年06月30日 23:27:03 -06:00
docs Update docs 2026年06月25日 23:18:38 -06:00
examples
.editorconfig
.gitignore Update .gitignore 2026年06月23日 15:29:49 -06:00
config.mk
CONTRIBUTING.md
libshed.sh Improve message 2026年06月29日 11:34:38 -06:00
LICENSE
loglevel.rc Add loglevel.rc file 2026年06月21日 20:40:01 -06:00
Makefile Clean up clean target 2026年06月25日 09:26:40 -06:00
readme.md Added Contributing section to readme 2026年06月24日 18:29:46 -06:00
shed.1.in Add signals section to manpage 2026年06月23日 21:53:10 -06:00
shed.rc
shed.sh Correct var typo uniq to uniqid 2026年06月23日 22:42:50 -06:00
shedc.sh Use string length operator 2026年06月18日 15:12:20 -06:00
utils.sh Correct matching and execution 2026年06月30日 23:27:03 -06:00
version.mk

SHED

A generic session process and init-agnostic user services provider.



Donate using Liberapay Donate using Liberapay

Follow the shed development and feedback threads:

what?

A session process, like lxsession or xfce4-session, plasma-workspace, etc... but completely generic, not tied to any toolkit, desktop, windowing system or even to a graphical interface at all.

Session services, are programs that run as part of your graphical session, for example in x11 you have the compositor, keyring, maybe a clipboard daemon and perhaps pulseaudio or pipewire

This program is something that should have been written 10, 15 maybe even 20 years ago by someone much smarter but it was only when i could no longer bear the situation of there being no generic program with the capabilites of shed that i forced myself into writing it.

dependencies

  • a posix compatible shell interpreter
  • core unix utilities (date, mkdir, awk, kill, mkfifo, cat)

porting

This program is written to target the widest range of unix-like operating systems, altho i lack the knowledge to properly integrate shed into BSD and illumos environments wrapper functions are provided in the codebase so that adding the corresponding cases should be the only modification of shed needed.

For details check PORTING

why ?

Why SHED?

Quick start

clone the repo and cd

git clone https://github.com/eylles/shed
cd shed
# check and edit the config.mk file as needed
make
make install

using the default locations you should get a series of examples for either x11 or wayland sessions at /usr/local/share/doc/shed/examples, take them as inspiration, the shed_awesome and the xsession shed-awesome.desktop are the example x11 files, the shed_sway and the wayland-session shed-sway.desktop are the example wayland files.

the shed files go in $XDG_CONFIG_HOME/shed/, the xsession file goes into /usr/share/xsessions/, the wayland session files goes into /usr/share/wayland-sessions/

you can figure out the rest, i believe in you!

ROADMAP

Check the shed Roadmap

Contributing

Check the CONTRIBUTING guidelines first and please follow them, if you want to contribute code be sure to read the architecture as well as the how it works documents, if leveraging the capabilities of AI tools please direct your tool of choice to take into consideration the previously mentioned documents as well as the internals document.

use the latest release

As of release v0.3.0 there is no reason whatsoever to use older releases, the master branch is where development happens, i try to keep it stable but read the commit history and know why you want to use the master branch rather than a release, always mention if you are using a release tag or the master branch at some commit before opening issues.

LICENSE

All files in the repo are licensed under GPLv3.0 or later