- Notifications
You must be signed in to change notification settings - Fork12
A modern, visually appealing greeter for LightDM.
License
JezerM/web-greeter
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A modern, visually appealing greeter for LightDM, that allows to create web based themes with HTML,CSS and JavaScript.
This is a fork of theAntergos web-greeter that tries tofix and improve this project for a modern and current use. Due to this, some API changes areneeded, which implies that current themes would need to do changes to work correctly.
Also, check outnody-greeter, a greeter made inNode.js withElectron!(Actually, faster than Web Greeter)
Gruvbox and Dracula themes!
- Create themes with HTML, CSS and JavaScript!
- Should work everywhere.
- JavaScript error handling, allowing to load the default theme.
- Themes could be simple, or very complex.
- Battery and brightness control.
- Tab completion for zsh and bash.
yay -S web-greeter
Download from thelatest release andinstall with apt.
apt install ./web-greeter-VER-DISTRO.deb
arch | ubuntu | fedora | openSUSE | debian | |
---|---|---|---|---|---|
liblightdm-gobject | lightdm | liblightdm-gobject-1-dev | lightdm-gobject-devel | typelib-1_0-LightDM-1 | liblightdm-gobject-dev |
pygobject | python-gobject | python3-gi | pygobject3 | python3-gobject | python3-gi |
pyqt5 | python-pyqt5 | python3-pyqt5 | python3-qt5 | python3-qt5-devel | python3-pyqt5 |
pyqt5-webengine | python-pyqt5-webengine | python3-pyqt5.qtwebengine | python3-qt5-webengine | python3-qtwebengine-qt5 | python3-pyqt5.qtwebengine |
python-yaml | python-ruamel-yaml | python3-ruamel.yaml | python3-ruamel-yaml | python3-ruamel.yaml | python3-ruamel.yaml |
python-inotify | python-pyinotify | python3-pyinotify | python3-inotify | python3-pyinotify | python3-pyinotify |
qt5-webengine | qt5-webengine | libqt5webengine5 | qt5-qtwebengine | libqt5-qtwebengine | libqt5webengine5 |
gobject-introspection | gobject-introspection | gobject-introspection | gobject-introspection | gobject-introspection | gobject-introspection |
libxcb | libxcb | libxcb1-dev | libxcb-devel | libxcb | libxcb1-dev |
libx11 | libx11 | libx11-dev | libX11-devel | libX11 | libx11-dev |
Note: web-greeter does not work in Fedora. See #19
- rsync
- make
- tsc (
npm i -g typescript
) - pyrcc5 (Should be installed with above dependencies)
- base-devel (build-essential)
- PyGObject
- PyQt5
- PyQtWebEngine
- ruamel.yaml
- pyinotify
PIP dependencies are no longer required as long as common dependencies are satisfied. However, youcan install PIP dependencies with:
pip install -r requirements.txt
NOTE If using PIP, be sure to install these dependencies as root. Yet, not recommended.
git clone --recursive https://github.com/JezerM/web-greeter.gitcd web-greetersudo make install
This will buildweb-greeter and package all the files to be installed.
Seelatest release.
Usesudo make uninstall
to uninstall web-greeter, but preserving web-greeter.yml and themes.Either, usesudo make uninstall_all
to remove everything related to web-greeter.
Antergos documentation is no longer available, although it is accesible throughWeb Archive. Current and updated documentation is available atweb-greeter-page/docs.
You can access the man-pagesman web-greeter
for some documentation and explanation. Also, you canexplore the providedthemes for real use cases.
Additionally, you can install the TypeScript types definitions inside your theme with npm:
npm install nody-greeter-types
acpi
is the only tool needed to control the brightness, besides a compatible device.This functionality is based onacpilight replacement forxbacklight
.
udev rules are needed to be applied before using it, checkacpilight rules.Then, lightdm will need to be allowed to change backlight values, to do so add lightdm userto thevideo group:sudo usermod -a -G video lightdm
Enable it inside/etc/lightdm/web-greeter.yml
acpi
andacpi_listen
are the only tools you need (and a battery).This functionality is based on"bat" widget from"lain" awesome-wm library.
You can enable it inside/etc/lightdm/web-greeter.yml
You can run the greeter from within your desktop session if you add the following line to the desktopfile for your session located in/usr/share/xsessions/
:X-LightDM-Allow-Greeter=true
.
You have to log out and log back in after adding that line. Then you can run the greeterfrom command line.
Themes can be opened with a debug console if you setdebug_mode
astrue
inside/etc/lightdm/web-greeter.yml
. Or, you could run theweb-greeter
withthe parameter--debug
. I recommend to use the last one, as it is easier and handy.
web-greeter --debug
Checkweb-greeter --help
for more commands.
Note: Do not use
lightdm --test-mode
as it is not supported.
Before settingweb-greeter as your LightDM Greeter, you should make sure it does work also with LightDM:
- Runweb-greeter as root with
--no-sandbox
flag ("Unable to determine socket to daemon" and "XLib" related errors are expected) - Run
lightdm --test-mode
. Although it's not supported, if it does work then it could help to debug lightdm.
LightDM does this when the greeter crashes, so it could meanweb-greeter was not installedcorrectly, or some dependencies were updated/removed after a distro update.
If you see something like this:ImportError: libQt5WebEngineCore.so.5: undefined symbol: _ZNSt12out_of_rangeC1EPKc, version Qt_5
, check out thisStackOverflow response.
With some PyQt5 import errors likeModuleNotFoundError: No module named 'PyQt5.QtWebEngineWidgets'
, check out thisGitHub response.
web-greeter related import errors:
AttributeError: module 'globals' has no attribute 'greeter'
means some exception happened inside the Browser constructor, maybe related to LightDM or PyQt5.ModuleNotFoundError: No module named 'resources'
could meanpath/to/web-greeter-clone/web-greeter/resources.py
was not compiled with pyrcc5 in the build/install methods.
About
A modern, visually appealing greeter for LightDM.