Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

A modern, visually appealing greeter for LightDM.

License

NotificationsYou must be signed in to change notification settings

JezerM/web-greeter

Repository files navigation

Web Greeter Icon

Web Greeter

A LightDM greeter made with PyQt5

License Information

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!

Features

  • 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.

Available distro packages

Arch

yay -S web-greeter

Ubuntu/Debian

Download from thelatest release andinstall with apt.

apt install ./web-greeter-VER-DISTRO.deb

Dependencies

archubuntufedoraopenSUSEdebian
liblightdm-gobjectlightdmliblightdm-gobject-1-devlightdm-gobject-develtypelib-1_0-LightDM-1liblightdm-gobject-dev
pygobjectpython-gobjectpython3-gipygobject3python3-gobjectpython3-gi
pyqt5python-pyqt5python3-pyqt5python3-qt5python3-qt5-develpython3-pyqt5
pyqt5-webenginepython-pyqt5-webenginepython3-pyqt5.qtwebenginepython3-qt5-webenginepython3-qtwebengine-qt5python3-pyqt5.qtwebengine
python-yamlpython-ruamel-yamlpython3-ruamel.yamlpython3-ruamel-yamlpython3-ruamel.yamlpython3-ruamel.yaml
python-inotifypython-pyinotifypython3-pyinotifypython3-inotifypython3-pyinotifypython3-pyinotify
qt5-webengineqt5-webenginelibqt5webengine5qt5-qtwebenginelibqt5-qtwebenginelibqt5webengine5
gobject-introspectiongobject-introspectiongobject-introspectiongobject-introspectiongobject-introspectiongobject-introspection
libxcblibxcblibxcb1-devlibxcb-devellibxcblibxcb1-dev
libx11libx11libx11-devlibX11-devellibX11libx11-dev

Note: web-greeter does not work in Fedora. See #19

Build dependencies

  • rsync
  • make
  • tsc (npm i -g typescript)
  • pyrcc5 (Should be installed with above dependencies)
  • base-devel (build-essential)

PIP

  • 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.

Download & Install

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.

Uninstall

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.

Theme JavaScript API

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

Additional features

Brightness control

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

Battery status

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

Debugging

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 astrueinside/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 uselightdm --test-mode as it is not supported.

Troubleshooting

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)
  • Runlightdm --test-mode. Although it's not supported, if it does work then it could help to debug lightdm.

LightDM crashes and tries to recover over and over again

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.

Import errors

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.

[8]ページ先頭

©2009-2025 Movatter.jp