{"id":13752819,"url":"https://github.com/JezerM/web-greeter","last_synced_at":"2025-05-09T20:34:24.814Z","repository":{"id":38184340,"uuid":"377715275","full_name":"JezerM/web-greeter","owner":"JezerM","description":"A modern, visually appealing greeter for LightDM.","archived":false,"fork":false,"pushed_at":"2024-07-26T14:31:25.000Z","size":17437,"stargazers_count":216,"open_issues_count":22,"forks_count":12,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-11-16T05:32:17.582Z","etag":null,"topics":["lightdm","lightdm-greeter","lightdm-web-greeter","nody-greeter","web-greeter"],"latest_commit_sha":null,"homepage":"https://web-greeter-page.vercel.app","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"Antergos/web-greeter","license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JezerM.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS.md","contributing":null,"funding":".github/FUNDING.yml","license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":"jezerm","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2021-06-17T05:28:34.000Z","updated_at":"2024-11-14T14:35:18.000Z","dependencies_parsed_at":"2024-07-26T16:03:52.633Z","dependency_job_id":"fd95f482-d3bc-4818-8bca-b5dead184a2f","html_url":"https://github.com/JezerM/web-greeter","commit_stats":null,"previous_names":[],"tags_count":49,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JezerM%2Fweb-greeter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JezerM%2Fweb-greeter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JezerM%2Fweb-greeter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JezerM%2Fweb-greeter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JezerM","download_url":"https://codeload.github.com/JezerM/web-greeter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253321769,"owners_count":21890462,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["lightdm","lightdm-greeter","lightdm-web-greeter","nody-greeter","web-greeter"],"created_at":"2024-08-03T09:01:11.345Z","updated_at":"2025-05-09T20:34:20.536Z","avatar_url":"https://github.com/JezerM.png","language":"Python","readme":"\u003cdiv align=\"center\"\u003e\n  \u003ca\u003e\n    \u003cimg\n      alt=\"Web Greeter Icon\"\n      width=\"125\"\n      src=\"./dist/com.github.jezerm.web-greeter.svg\"\n    /\u003e\n  \u003c/a\u003e\n  \u003ch1\u003e\u003cstrong\u003eWeb Greeter\u003c/strong\u003e\u003c/h1\u003e\n  \u003cp\u003e\n    \u003cstrong\u003eA LightDM greeter made with PyQt5\u003c/strong\u003e\n  \u003c/p\u003e\n  \u003cp\u003e\n    \u003ca href=\"#\"\u003e\n      \u003cimg alt=\"License Information\" src=\"https://img.shields.io/github/license/JezerM/web-greeter.svg\"\u003e\n    \u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\nA modern, visually appealing greeter for LightDM, that allows to create web based themes with HTML,\nCSS and JavaScript.\n\nThis is a fork of the [Antergos web-greeter](https://github.com/Antergos/web-greeter) that tries to\nfix and improve this project for a modern and current use. Due to this, some API changes are\nneeded, which implies that current themes would need to do changes to work correctly.\n\nAlso, check out [nody-greeter][nody-greeter], a greeter made in **Node.js** with **Electron**!\n(Actually, faster than Web Greeter)\n\n## [See Live Demo][live_demo]\n\nGruvbox and Dracula themes!\n\n## Features\n\n- Create themes with HTML, CSS and JavaScript!\n- Should work everywhere.\n- JavaScript error handling, allowing to load the default theme.\n- Themes could be simple, or very complex.\n- Battery and brightness control.\n- Tab completion for zsh and bash.\n\n## Available distro packages\n\n### Arch\n\n- AUR: https://aur.archlinux.org/packages/web-greeter/\n\n```sh\nyay -S web-greeter\n```\n\n### Ubuntu/Debian\n\nDownload from the [latest release](https://github.com/JezerM/web-greeter/releases/latest) and\ninstall with apt.\n\n```sh\napt install ./web-greeter-VER-DISTRO.deb\n```\n\n## Dependencies\n|                          |        arch          |          ubuntu         |       fedora        |        openSUSE       |          debian         |\n|--------------------------|----------------------|-------------------------|---------------------|-----------------------|-------------------------|\n|**liblightdm-gobject**    |lightdm               |liblightdm-gobject-1-dev |lightdm-gobject-devel|typelib-1_0-LightDM-1  |liblightdm-gobject-dev   |\n|**pygobject**             |python-gobject        |python3-gi               |pygobject3           |python3-gobject        |python3-gi               |\n|**pyqt5**                 |python-pyqt5          |python3-pyqt5            |python3-qt5          |python3-qt5-devel      |python3-pyqt5            |\n|**pyqt5-webengine**       |python-pyqt5-webengine|python3-pyqt5.qtwebengine|python3-qt5-webengine|python3-qtwebengine-qt5|python3-pyqt5.qtwebengine|\n|**python-yaml**           |python-ruamel-yaml    |python3-ruamel.yaml      |python3-ruamel-yaml  |python3-ruamel.yaml    |python3-ruamel.yaml      |\n|**python-inotify**        |python-pyinotify      |python3-pyinotify        |python3-inotify      |python3-pyinotify      |python3-pyinotify        |\n|**qt5-webengine**         |qt5-webengine         |libqt5webengine5         |qt5-qtwebengine      |libqt5-qtwebengine     |libqt5webengine5         |\n|**gobject-introspection** |gobject-introspection |gobject-introspection    |gobject-introspection|gobject-introspection  |gobject-introspection    |\n|**libxcb**                |libxcb                |libxcb1-dev              |libxcb-devel         |libxcb                 |libxcb1-dev              |\n|**libx11**                |libx11                |libx11-dev               |libX11-devel         |libX11                 |libx11-dev               |\n\n\u003e Note: web-greeter does not work in Fedora. See #19\n\n### Build dependencies\n\n- rsync\n- make\n- tsc (`npm i -g typescript`)\n- pyrcc5 (Should be installed with above dependencies)\n- base-devel (build-essential)\n\n### PIP\n- PyGObject\n- PyQt5\n- PyQtWebEngine\n- ruamel.yaml\n- pyinotify\n\nPIP dependencies are no longer required as long as common dependencies are satisfied. However, you\ncan install PIP dependencies with:\n\n```sh\npip install -r requirements.txt\n```\n\n\u003e ***NOTE*** If using PIP, be sure to install these dependencies as root. Yet, not recommended.\n\n## Download \u0026 Install\n```sh\ngit clone --recursive https://github.com/JezerM/web-greeter.git\ncd web-greeter\nsudo make install\n```\n\nThis will build **web-greeter** and package all the files to be installed.\n\nSee [latest release][releases].\n\n### Uninstall\n\nUse `sudo make uninstall` to uninstall web-greeter, but preserving web-greeter.yml and themes.\nEither, use `sudo make uninstall_all` to remove everything related to web-greeter.\n\n## Theme JavaScript API\n[Antergos][Antergos] documentation is no longer available, although it is accesible through\n[Web Archive][WebArchive]. Current and updated documentation is available at [web-greeter-page/docs][web-greeter-docs].\n\nYou can access the man-pages `man web-greeter` for some documentation and explanation. Also, you can\nexplore the provided [themes](https://github.com/JezerM/web-greeter-themes/tree/master/themes) for real use cases.\n\nAdditionally, you can install the TypeScript types definitions inside your theme with npm:\n\n```sh\nnpm install nody-greeter-types\n```\n\n## Additional features\n\n### Brightness control\n`acpi` is the only tool needed to control the brightness, besides a compatible device.\nThis functionality is based on [acpilight][acpilight] replacement for `xbacklight`.\n\nudev rules are needed to be applied before using it, check [acpilight rules][acpilight_rules].\nThen, lightdm will need to be allowed to change backlight values, to do so add lightdm user\nto the **video** group: `sudo usermod -a -G video lightdm`\n\nEnable it inside `/etc/lightdm/web-greeter.yml`\n\n### Battery status\n`acpi` and `acpi_listen` are the only tools you need (and a battery).\nThis functionality is based on [\"bat\" widget][bat_widget] from [\"lain\" awesome-wm library][lain].\n\nYou can enable it inside `/etc/lightdm/web-greeter.yml`\n\n## Debugging\nYou can run the greeter from within your desktop session if you add the following line to the desktop\nfile for your session located in `/usr/share/xsessions/`: `X-LightDM-Allow-Greeter=true`.\n\nYou have to log out and log back in after adding that line. Then you can run the greeter\nfrom command line.\n\nThemes can be opened with a debug console if you set `debug_mode` as `true`\ninside `/etc/lightdm/web-greeter.yml`. Or, you could run the `web-greeter` with\nthe parameter `--debug`. I recommend to use the last one, as it is easier and handy.\n\n```sh\nweb-greeter --debug\n```\n\nCheck `web-greeter --help` for more commands.\n\n\u003e ***Note:*** Do not use `lightdm --test-mode` as it is not supported.\n\n## Troubleshooting\n\nBefore setting **web-greeter** as your LightDM Greeter, you should make sure it does work also with LightDM:\n\n- Run **web-greeter** as root with `--no-sandbox` flag (\"Unable to determine socket to daemon\" and \"XLib\" related errors are expected)\n- Run `lightdm --test-mode`. Although it's not supported, if it does work then it could help to debug lightdm.\n\n### LightDM crashes and tries to recover over and over again\n\nLightDM does this when the greeter crashes, so it could mean **web-greeter** was not installed\ncorrectly, or some dependencies were updated/removed after a distro update.\n\n### Import errors\n\nIf you see something like this: `ImportError: libQt5WebEngineCore.so.5: undefined symbol: _ZNSt12out_of_rangeC1EPKc, version Qt_5`, check out this [StackOverflow response](https://stackoverflow.com/a/68811630).\n\nWith some PyQt5 import errors like `ModuleNotFoundError: No module named 'PyQt5.QtWebEngineWidgets'`, check out this [GitHub response](https://github.com/spyder-ide/spyder/issues/8952#issuecomment-499418456).\n\nweb-greeter related import errors:\n\n- `AttributeError: module 'globals' has no attribute 'greeter'` means some exception happened inside the Browser constructor, maybe related to LightDM or PyQt5.\n- `ModuleNotFoundError: No module named 'resources'` could mean `path/to/web-greeter-clone/web-greeter/resources.py` was not compiled with pyrcc5 in the build/install methods.\n\n[antergos]: https://github.com/Antergos \"Antergos\"\n[nody-greeter]: https://github.com/JezerM/nody-greeter \"Nody Greeter\"\n[cx_freeze]: https://github.com/marcelotduarte/cx_Freeze \"cx_Freeze\"\n[acpilight]: https://gitlab.com/wavexx/acpilight/ \"acpilight\"\n[acpilight_rules]: https://gitlab.com/wavexx/acpilight/-/blob/master/90-backlight.rules \"udev rules\"\n[bat_widget]: https://github.com/lcpz/lain/blob/master/widget/bat.lua \"Battery widget\"\n[lain]: https://github.com/lcpz/lain \"Lain awesome library\"\n[WebArchive]: https://web.archive.org/web/20190524032923/https://doclets.io/Antergos/web-greeter/stable \"Web Archive\"\n[web-greeter-docs]: https://web-greeter-page.vercel.app \"Documentation\"\n[live_demo]: https://jezerm.github.io/web-greeter-themes/ \"Live Demo\"\n[releases]: https://github.com/JezerM/web-greeter/releases \"Releases\"\n","funding_links":["https://ko-fi.com/jezerm"],"categories":["Display Manager","Python"],"sub_categories":["VSCode"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJezerM%2Fweb-greeter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJezerM%2Fweb-greeter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJezerM%2Fweb-greeter/lists"}