{"id":28268662,"url":"https://github.com/jezerm/web-greeter","last_synced_at":"2026-05-11T03:25:21.281Z","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-11-19T04:14:01.000Z","size":17179,"stargazers_count":239,"open_issues_count":19,"forks_count":14,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-06-16T20:44:01.947Z","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":"2025-05-29T10:00:34.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,"purl":"pkg:github/JezerM/web-greeter","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","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JezerM%2Fweb-greeter/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267155310,"owners_count":24044380,"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","status":"online","status_checked_at":"2025-07-26T02:00:08.937Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":"2025-05-20T15:13:13.081Z","updated_at":"2026-05-11T03:25:21.273Z","avatar_url":"https://github.com/JezerM.png","language":"Python","funding_links":["https://ko-fi.com/jezerm"],"categories":[],"sub_categories":[],"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 PyQt6\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\nAlso, check out [nody-greeter][nody-greeter], a greeter made in **Node.js** with **Electron**!\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\n### Build dependencies\n\n- Python 3.13 or above\n- uv ([astral.sh][astral-uv])\n- Meson\n- Ninja\n- tsc (`npm i -g typescript`)\n- base-devel (build-essential)\n\n### Ubuntu/Debian\n\n```sh\nsudo apt install \\\n    \\\n    python3 \\\n    python3-pip \\\n    meson \\\n    ninja-build \\\n    node-typescript \\\n    build-essential \\\n    \\\n    liblightdm-gobject-dev \\\n    gobject-introspection \\\n    libxcb1-dev \\\n    libx11-dev \\\n    libcairo2-dev \\\n    libgirepository-2.0-dev\n```\n\nInstall uv ([astral.sh][astral-uv-install]) according to its manual.\n\n### Arch Linux\n\n```\nsudo pacman -Sy \\\n    \\\n    meson \\\n    ninja \\\n    typescript \\\n    base-devel \\\n    \\\n    lightdm \\\n    python3 \\\n    gobject-introspection \\\n    libxcb \\\n    libx11 \\\n    cairo\n```\n\nYou can also install web-greeter from the [AUR][web-greeter-aur].\n\n## Download \u0026 Install\n```sh\ngit clone --recursive https://github.com/JezerM/web-greeter.git\ncd web-greeter\nmeson build -Dprefix=/usr -Dsysconfdir=/etc\nninja -C build\nsudo ninja -C build install\n```\n\nThis will build **web-greeter** with Pyside6 and Nuitka, and then package all the files to be installed.\n\nSee [latest release][releases].\n\n### Uninstall\n\nUse `sudo ninja -C build uninstall` to uninstall all files.\n\n## Theme JavaScript API\n\nDocumentation 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\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.toml`\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.toml`\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.toml`. 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 in some desktop sessions.\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## Known issues\n\n### Fedora\n\nI was not able to reproduce the installation process in Fedora Workstation 43, due to some issues related to Nuitka, which resulted in segmentation faults when running web-greeter. As for now, I will not support web-greeter in Fedora; if anyone is able to successfully build and execute it, let me know!\n\n[nody-greeter]: https://github.com/JezerM/nody-greeter \"Nody Greeter\"\n[astral-uv]: https://docs.astral.sh/uv/ \"Astral UV\"\n[astral-uv-install]: https://docs.astral.sh/uv/getting-started/installation/ \"Install Astral UV\"\n[web-greeter-aur]: https://aur.archlinux.org/packages/web-greeter \"Web Greeter AUR\"\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[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","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"}