JezerM / Aether

A sleek ArchLinux login manager for lightdm-webkit. ( lightdm-webkit-theme-aether )
https://noisek.github.io/Aether/
GNU General Public License v2.0
6 stars 1 forks source link

Aether theme distro logo selection won't work in both web-greeter and nody-greeter #1

Closed austinrojers closed 2 years ago

austinrojers commented 2 years ago

Expected behavior image

Normally, you should be able to select a distro logo of choice, and it gets applied to the login screen on clicking save.

Actual behavior

I case of web-greeter: image I am able to select a logo of choice and get a preview, as you can see above. but clicking on save won't apply it on the login screen

In case of nody-greeter: image there are no logos on the list

And in nody-greeter, when I try to change the background, it gives me a blank background instead, as in the above picture

Additional context There are no errors when run in debug mode:

> web-greeter
2021-12-24 11:57:07 [ DEBUG ] screensaver - screensaver.py:30 : set_screensaver | Screensaver timeout set
2021-12-24 11:57:07 [ DEBUG ] browser - browser.py:212 : init | Initializing Browser Window
2021-12-24 11:57:07 [ DEBUG ] browser - browser.py:256 : init | Browser Window created
2021-12-24 11:57:07 [ DEBUG ] browser - browser.py:161 : show | Window is ready
2021-12-24 11:57:07 [ DEBUG ] Greeter.py 162 : __init__ | LightDM API connected
2021-12-24 11:57:07 [ DEBUG ] browser - browser.py:347 : load_theme | Theme loaded
2021-12-24 11:57:07 [ DEBUG ] browser - browser.py:164 : run | Web Greeter started
2021-12-24 12:02:27 [ DEBUG ] screensaver - screensaver.py:40 : reset_screensaver | Screensaver reset
> nody-greeter
2021-12-24 12:02:38 [ DEBUG ] browser.js 121: Initializing Browser Window
2021-12-24 12:02:38 [ DEBUG ] browser.js 137: Browser Window created
2021-12-24 12:02:38 [ DEBUG ] screensaver.js 39: Screensaver set
2021-12-24 12:02:38 [ DEBUG ] browser.js 118: Theme loaded
2021-12-24 12:02:38 [ DEBUG ] globals.js 15: Javascript logger is ready
2021-12-24 12:02:38 [ DEBUG ] globals.js 12: Window is ready
2021-12-24 12:02:38 [ DEBUG ] bridge.js 65: LightDM API connected
2021-12-24 12:02:39 [ DEBUG ] browser.js 155: Nody Greeter started

Thank you, and Merry Christmas 🎅

austinrojers commented 2 years ago

@JezerM, a very Happy New Year, please have a look here, whenever you get time.

JezerM commented 2 years ago

Oh, sorry, I had notifications turned off. Merry Christmas and Happy New Year!

I'll check what's the problem, soon~

JezerM commented 2 years ago

I cannot reproduce this issue, Aether works on both web-greeter and nody-greeter without any (relevant) issue.

In nody-greeter v1.2.1: (background and icon changed)

Screenshot_2022-01-03-08_1366x768

In web-greeter v3.2.1: (background and icon changed)

Screenshot_2022-01-03-23_1366x768

The icon should be instantly changed without needing to save, as the configuration is applied instantly; the "save" button just saves the configuration. So, it's weird that it isn't happening on web-greeter.

About nody-greeter, this could be due to a theme_utils.dirlist error, but it should be shown in the console log anyway, which is not happening.

austinrojers commented 2 years ago

Greetings @JezerM ! It is happening in both Ubuntu and Void Linux

JezerM commented 2 years ago

Hi, I created a branch to fix this. Do a pull from "#1-fix" branch, build with npm run build, and run nody-greeter and/or web-greeter with --debug --theme index.html flags. Try to change the background and distro logo, then provide the debug log.

It should be similar to this:

image

austinrojers commented 2 years ago

Hello @JezerM Do I just have to do git pull? Do I have to run npm run build in the cloned directory?

Thank you for helping

JezerM commented 2 years ago

Everything is done in the Aether root directory. Do a pull and switch to "#1-fix" branch, then npm run build and run nody-greeter/web-greeter.

cd /path/to/Aether
git pull
git switch "#1-fix"
npm run build
nody-greeter --debug --theme index.html
austinrojers commented 2 years ago
~$ cd Source\ Packages/web-nody\ greeter\ themes/aether/
austin@austin-Inspiron-15-3567:~/Source Packages/web-nody greeter themes/aether$ git switch "#1-fix"
Already on '#1-fix'
Your branch is up to date with 'origin/#1-fix'.
austin@austin-Inspiron-15-3567:~/Source Packages/web-nody greeter themes/aether$ npm run build

> lightdm-webkit-aether@1.0.0 build
> webpack --mode=production --progress --color --node-env=production

sh: 1: webpack: not found
npm ERR! code 127
npm ERR! path /mnt/Linux_Data/Source Packages/web-nody greeter themes/aether
npm ERR! command failed
npm ERR! command sh -c webpack --mode=production --progress --color --node-env=production

npm ERR! A complete log of this run can be found in:
austin@austin-Inspiron-15-3567:~/Source Packages/web-nody greeter themes/aether$ 

I think you don't need to run npm run build, you just have to change the theme in /etc/lightdm/web-greeter.yml, if I am not wrong?

austinrojers commented 2 years ago

nody-greeter --debug --theme index.html

Screenshot from 2022-01-04 22-37-18

JezerM commented 2 years ago

Well, Aether is normally pre-compiled when you do a pull, but not this time. So you'd need to run:

npm install
npm run build

If this is an inconvenient, just tell me to build Aether and push.

austinrojers commented 2 years ago

Oh, thanks, sorry for my lack of knowledge in npm and all that.

austin@austin-Inspiron-15-3567:~/Source Packages/web-nody greeter themes/aether$ npm install
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR! 
npm ERR! While resolving: lightdm-webkit-aether@1.0.0
npm ERR! Found: eslint@8.6.0
npm ERR! node_modules/eslint
npm ERR!   eslint@"^8.2.0" from the root project
npm ERR! 
npm ERR! Could not resolve dependency:
npm ERR! peer eslint@"^6.0.0 || ^7.0.0" from eslint-loader@4.0.2
npm ERR! node_modules/eslint-loader
npm ERR!   eslint-loader@"^4.0.2" from the root project
npm ERR! 
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR! 
npm ERR! See /home/austin/.npm/eresolve-report.txt for a full report.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/austin/.npm/_logs/2022-01-04T17_30_24_742Z-debug.log

What should I do now?

I might not be able to reply to you now. It's getting late in India, and I am still young and might get scolded if I don't go to bed now. 😅

Sorry for the inconvience

JezerM commented 2 years ago

No problem, though sudo is not necessary when doing npm install. I just added a new commit, so do a pull and you could try it again later (without needing to build).

git pull
nody-greeter ––debug ––theme index.html

The error seems like connection problems maybe. npm install should work, but idk, you may not need it anyway.

austinrojers commented 2 years ago

Screenshot from 2022-01-04 23-12-28

I hope this was what you were asking for.

Thank you for you time Gn

JezerM commented 2 years ago

Yep, that's what I was asking for, and it's weird. Seems like there is nothing inside ./src/img/wallpapers/ and ./src/img/logos/... You can check if there is something inside those directories, but it's probably a nody-greeter and web-greeter bug.

JezerM commented 2 years ago

The problem was that you were using symbolic links as a theme and therefore nody-greeter was trying to read inside the real path, but nody-greeter did allow the symlink path instead, which provoked it to be rejected. It should be fixed now in nody-greeter, just do a git pull in the nody-greeter git clone, then node make build and sudo node make install.

About web-greeter, I still don't know why the distro-logo isn't being updated; I ask you to provide a screenshot doing the same as before but with web-greeter --debug --theme index.html inside Aether theme. However, I did some changes in web-greeter that could fix some related issues.

austinrojers commented 2 years ago
austin@austin-Inspiron-15-3567:~/Source Packages/nody-greeter$ node make build
Building with prefix: /usr
Bindings copied
⠧ Compiling bindings with electron-rebuild...Error: Command failed: npx electron-rebuild -m .
- Searching dependency tree
Attempting to build a module with a space in the path
See https://github.com/nodejs/node-gyp/issues/65#issuecomment-368820565 for reasons why this may not work
gyp info find Python using Python version 3.9.7 found at "/usr/bin/python3"
gyp info spawn /usr/bin/python3
gyp info spawn args [
gyp info spawn args   '/mnt/Linux_Data/Source Packages/nody-greeter/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/mnt/Linux_Data/Source Packages/nody-greeter/js/bindings/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/mnt/Linux_Data/Source Packages/nody-greeter/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/home/austin/.electron-gyp/13.1.8/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/home/austin/.electron-gyp/13.1.8',
gyp info spawn args   '-Dnode_gyp_dir=/mnt/Linux_Data/Source Packages/nody-greeter/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/home/austin/.electron-gyp/13.1.8/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/mnt/Linux_Data/Source Packages/nody-greeter/js/bindings',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
../screensaver.cc: In function ‘void screensaver::GetScreenSaver(const v8::FunctionCallbackInfo<v8::Value>&)’:
../screensaver.cc:46:11: warning: ignoring return value of ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’, declared with attribute ‘warn_unused_result’ [-Wunused-result]
   46 |   obj->Set(context,
      |   ~~~~~~~~^~~~~~~~~
   47 |       String::NewFromUtf8(isolate, "timeout").ToLocalChecked(),
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   48 |       Number::New(isolate, timeout)
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   49 |       );
      |       ~    
In file included from /home/austin/.electron-gyp/13.1.8/include/node/node.h:67,
                 from ../screensaver.cc:1:
/home/austin/.electron-gyp/13.1.8/include/node/v8.h:3939:37: note: declared here
 3939 |   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
      |                                     ^~~
../screensaver.cc:50:11: warning: ignoring return value of ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’, declared with attribute ‘warn_unused_result’ [-Wunused-result]
   50 |   obj->Set(context,
      |   ~~~~~~~~^~~~~~~~~
   51 |       String::NewFromUtf8(isolate, "interval").ToLocalChecked(),
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   52 |       Number::New(isolate, interval)
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   53 |       );
      |       ~    
In file included from /home/austin/.electron-gyp/13.1.8/include/node/node.h:67,
                 from ../screensaver.cc:1:
/home/austin/.electron-gyp/13.1.8/include/node/v8.h:3939:37: note: declared here
 3939 |   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
      |                                     ^~~
../screensaver.cc:54:11: warning: ignoring return value of ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’, declared with attribute ‘warn_unused_result’ [-Wunused-result]
   54 |   obj->Set(context,
      |   ~~~~~~~~^~~~~~~~~
   55 |       String::NewFromUtf8(isolate, "prefer_blank").ToLocalChecked(),
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   56 |       Number::New(isolate, prefer_blank)
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   57 |       );
      |       ~    
In file included from /home/austin/.electron-gyp/13.1.8/include/node/node.h:67,
                 from ../screensaver.cc:1:
/home/austin/.electron-gyp/13.1.8/include/node/v8.h:3939:37: note: declared here
 3939 |   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
      |                                     ^~~
../screensaver.cc:58:11: warning: ignoring return value of ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’, declared with attribute ‘warn_unused_result’ [-Wunused-result]
   58 |   obj->Set(context,
      |   ~~~~~~~~^~~~~~~~~
   59 |       String::NewFromUtf8(isolate, "allow_exp").ToLocalChecked(),
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   60 |       Number::New(isolate, allow_exp)
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   61 |       );
      |       ~    
In file included from /home/austin/.electron-gyp/13.1.8/include/node/node.h:67,
                 from ../screensaver.cc:1:
/home/austin/.electron-gyp/13.1.8/include/node/v8.h:3939:37: note: declared here
 3939 |   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
      |                                     ^~~
../screensaver.cc: In function ‘void screensaver::SetScreenSaver(const v8::FunctionCallbackInfo<v8::Value>&)’:
../screensaver.cc:67:18: warning: variable ‘context’ set but not used [-Wunused-but-set-variable]
   67 |   Local<Context> context = isolate->GetCurrentContext();
      |                  ^~~~~~~
In file included from ../screensaver.cc:1:
../screensaver.cc: At global scope:
/home/austin/.electron-gyp/13.1.8/include/node/node.h:770:7: warning: cast between incompatible function types from ‘void (*)(v8::Local<v8::Object>)’ to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type]
  770 |       (node::addon_register_func) (regfunc),                          \
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/austin/.electron-gyp/13.1.8/include/node/node.h:804:3: note: in expansion of macro ‘NODE_MODULE_X’
  804 |   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
      |   ^~~~~~~~~~~~~
../screensaver.cc:115:1: note: in expansion of macro ‘NODE_MODULE’
  115 | NODE_MODULE(NODE_GYP_MODULE_NAME, Initialize)
      | ^~~~~~~~~~~
/usr/bin/ld: cannot find -lX11-xcb
collect2: error: ld returned 1 exit status
make: *** [screensaver.target.mk:144: Release/obj.target/screensaver.node] Error 1
✖ Rebuild Failed

An unhandled error occurred inside electron-rebuild
node-gyp failed to rebuild '/mnt/Linux_Data/Source Packages/nody-greeter/js/bindings'.
Error: `make` failed with exit code: 2

Error: node-gyp failed to rebuild '/mnt/Linux_Data/Source Packages/nody-greeter/js/bindings'.
Error: `make` failed with exit code: 2

    at ModuleRebuilder.rebuildNodeGypModule (/mnt/Linux_Data/Source Packages/nody-greeter/node_modules/electron-rebuild/lib/src/module-rebuilder.js:193:19)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
npm ERR! code 255
npm ERR! path /mnt/Linux_Data/Source Packages/nody-greeter/js/bindings
npm ERR! command failed
npm ERR! command sh -c electron-rebuild "-m" "."

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/austin/.npm/_logs/2022-01-05T02_48_09_952Z-debug.log

    at ChildProcess.exithandler (child_process.js:308:12)
    at ChildProcess.emit (events.js:314:20)
    at maybeClose (internal/child_process.js:1022:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:287:5) {
  killed: false,
  code: 255,
  signal: null,
  cmd: 'npx electron-rebuild -m .'
}
✖ electron-rebuild failed
austin@austin-Inspiron-15-3567:~/Source Packages/nody-greeter$ 

Thanks @JezerM, but I am getting error, while updating node-greeter, I even tried reinstalling it, but no luck

JezerM commented 2 years ago

You need to install some dependencies:

And then build again.

austinrojers commented 2 years ago

Again did a fresh clone of nody-greeter, libxcb-devel libx11-devel

austin@austin-Inspiron-15-3567:~$ sudo apt install libxcb1-dev
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libxcb1-dev is already the newest version (1.14-3ubuntu1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
austin@austin-Inspiron-15-3567:~$ sudo apt install libx11-dev
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libx11-dev is already the newest version (2:1.7.2-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

were already installed in my system. EDIT: actually the above console output I had posted was from Ubuntu

This one is from Void:

 xbpsi gobject-introspection liblightdm-gobject cairo-devel libxcb-devel libX11-devel base-devel
Password: 
Package `gobject-introspection' already installed.
Package `liblightdm-gobject' already installed.
Package `cairo-devel' already installed.
Package `libxcb-devel' already installed.
Package `libX11-devel' already installed.
Package `base-devel' already installed.
> npm install
npm run rebuild
npx tsc --build
node make build
sudo node make install
node:internal/modules/cjs/loader:933
  const err = new Error(message);
              ^

Error: Cannot find module '@npmcli/config'
Require stack:
- /usr/lib/node_modules/npm/lib/npm.js
- /usr/lib/node_modules/npm/lib/cli.js
- /usr/lib/node_modules/npm/bin/npm-cli.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:94:18)
    at Object.<anonymous> (/usr/lib/node_modules/npm/lib/npm.js:3:16)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/usr/lib/node_modules/npm/lib/npm.js',
    '/usr/lib/node_modules/npm/lib/cli.js',
    '/usr/lib/node_modules/npm/bin/npm-cli.js'
  ]
}
node:internal/modules/cjs/loader:933
  const err = new Error(message);
              ^

Error: Cannot find module '@npmcli/config'
Require stack:
- /usr/lib/node_modules/npm/lib/npm.js
- /usr/lib/node_modules/npm/lib/cli.js
- /usr/lib/node_modules/npm/bin/npm-cli.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:94:18)
    at Object.<anonymous> (/usr/lib/node_modules/npm/lib/npm.js:3:16)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/usr/lib/node_modules/npm/lib/npm.js',
    '/usr/lib/node_modules/npm/lib/cli.js',
    '/usr/lib/node_modules/npm/bin/npm-cli.js'
  ]
}
node:internal/modules/cjs/loader:936
  throw err;
  ^

Error: Cannot find module '@npmcli/config'
Require stack:
- /usr/lib/node_modules/npm/lib/utils/config/definition.js
- /usr/lib/node_modules/npm/lib/utils/config/definitions.js
- /usr/lib/node_modules/npm/lib/utils/config/flatten.js
- /usr/lib/node_modules/npm/lib/utils/config/index.js
- /usr/lib/node_modules/npm/bin/npx-cli.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:94:18)
    at Object.<anonymous> (/usr/lib/node_modules/npm/lib/utils/config/definition.js:38:5)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/usr/lib/node_modules/npm/lib/utils/config/definition.js',
    '/usr/lib/node_modules/npm/lib/utils/config/definitions.js',
    '/usr/lib/node_modules/npm/lib/utils/config/flatten.js',
    '/usr/lib/node_modules/npm/lib/utils/config/index.js',
    '/usr/lib/node_modules/npm/bin/npx-cli.js'
  ]
}
node:internal/modules/cjs/loader:936
  throw err;
  ^

Error: Cannot find module 'fs-extra'
Require stack:
- /mnt/Linux_Data/Source Packages/nody-greeter/make.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:94:18)
    at Object.<anonymous> (/mnt/Linux_Data/Source Packages/nody-greeter/make.js:1:12)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:79:12) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [ '/mnt/Linux_Data/Source Packages/nody-greeter/make.js' ]
}
node:internal/modules/cjs/loader:936
  throw err;
  ^

Error: Cannot find module 'fs-extra'
Require stack:
- /mnt/Linux_Data/Source Packages/nody-greeter/make.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:94:18)
    at Object.<anonymous> (/mnt/Linux_Data/Source Packages/nody-greeter/make.js:1:12)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:79:12) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [ '/mnt/Linux_Data/Source Packages/nody-greeter/make.js' ]
}
JezerM commented 2 years ago

It should be fixed now (I hope so), just pull, build and install.

austinrojers commented 2 years ago

Greetings @JezerM

Now the wallpaper issue has been solved, and there are logos in the list, in nody-greeter.

Both web-greeter and nody-greeter have the same issues now, with aether: the logo won't apply to the login screen.

I tried web-greeter --debug --theme index.html in the aether theme folder, but I can't find _Toggle Developer Tools_in the above panel as in the picture below like I had posted for nody-greeter

web-greeter: image

nody-greeter: image

Thank you

JezerM commented 2 years ago

In web-greeter, you can open the DevTools with Ctrl+Shift+I, or right click and Inspect element. I still need to add those actions in the top menu bar.

So, about the distro logo, when you do change the logo, does it prints something in the console? It should.

austinrojers commented 2 years ago

web-greeter: image

DevTools listening on ws://127.0.0.1:12345/devtools/browser/8651ba61-df37-4653-aab8-b3abb55f0771 NotImplementedError: QLayout.itemAt() is abstract and must be overridden 2022-01-06 09:58:47 [ DEBUG ] browser - browser.py:285 : _initialize_devtools | DevTools initialized 2022-01-06 09:58:47 [ DEBUG ] browser - browser.py:258 : init | Browser Window created 2022-01-06 09:58:47 [ DEBUG ] browser - browser.py:347 : load_theme | Theme loaded 2022-01-06 09:58:47 [ DEBUG ] Greeter.py 162 : init | LightDM API connected 2022-01-06 09:58:47 [ DEBUG ] browser - browser.py:161 : show | Window is ready 2022-01-06 09:58:47 [ DEBUG ] browser - browser.py:164 : run | Web Greeter started Remote debugging server started successfully. Try pointing a Chromium-based browser to http://127.0.0.1:12345 2022-01-06 09:59:15 [ DEBUG ] screensaver - screensaver.py:40 : reset_screensaver | Screensaver reset austin@austin-Inspiron-15-3567:~/Source Packages/web-nody greeter themes/aether$


@JezerM, please have a look.
JezerM commented 2 years ago

Hmm, the distro logo inside the Login sidebar is not reacting to the changes, I'll have to look at it.

JezerM commented 2 years ago

About the nody-greeter reinstall, I did push a commit which should fix the paths with special character problems, so you could build it inside your "Source Packages" directory.

In Void Linux, remember to install the base-devel package, and check if libxcb and libx11 are installed with pkg-config --cflags --libs xcb x11.

Also, do not build without compiling the typescript files before:

npm install
npx tsc --build
node make build
sudo node make install

Make sure that npm install does actually work, as the previous logs shows that it doesn't, maybe because of bad connection or outdated npm.

austinrojers commented 2 years ago
sudo xbps-install gobject-introspection liblightdm-gobject cairo-devel libxcb-devel libX11-devel base-devel pnpm
Package `gobject-introspection' already installed.
Package `liblightdm-gobject' already installed.
Package `cairo-devel' already installed.
Package `libxcb-devel' already installed.
Package `libX11-devel' already installed.
Package `base-devel' already installed.
Package `pnpm' already installed.

System is up to date

> pkg-config --cflags --libs xcb x11
-lxcb -lX11

Still the same problems!

> cd Source\ Packages/
> git clone https://github.com/JezerM/nody-greeter.git
cd nody-greeter
npm install
npm run rebuild
npx tsc --build
node make build
sudo node make install
Cloning into 'nody-greeter'...
remote: Enumerating objects: 567, done.
remote: Counting objects: 100% (567/567), done.
remote: Compressing objects: 100% (372/372), done.
remote: Total 567 (delta 263), reused 480 (delta 178), pack-reused 0
Receiving objects: 100% (567/567), 6.07 MiB | 805.00 KiB/s, done.
Resolving deltas: 100% (263/263), done.
node:internal/modules/cjs/loader:933
  const err = new Error(message);
              ^

Error: Cannot find module '@npmcli/config'
Require stack:
- /usr/lib/node_modules/npm/lib/npm.js
- /usr/lib/node_modules/npm/lib/cli.js
- /usr/lib/node_modules/npm/bin/npm-cli.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:94:18)
    at Object.<anonymous> (/usr/lib/node_modules/npm/lib/npm.js:3:16)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/usr/lib/node_modules/npm/lib/npm.js',
    '/usr/lib/node_modules/npm/lib/cli.js',
    '/usr/lib/node_modules/npm/bin/npm-cli.js'
  ]
}
node:internal/modules/cjs/loader:933
  const err = new Error(message);
              ^

Error: Cannot find module '@npmcli/config'
Require stack:
- /usr/lib/node_modules/npm/lib/npm.js
- /usr/lib/node_modules/npm/lib/cli.js
- /usr/lib/node_modules/npm/bin/npm-cli.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:94:18)
    at Object.<anonymous> (/usr/lib/node_modules/npm/lib/npm.js:3:16)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/usr/lib/node_modules/npm/lib/npm.js',
    '/usr/lib/node_modules/npm/lib/cli.js',
    '/usr/lib/node_modules/npm/bin/npm-cli.js'
  ]
}
node:internal/modules/cjs/loader:936
  throw err;
  ^

Error: Cannot find module '@npmcli/config'
Require stack:
- /usr/lib/node_modules/npm/lib/utils/config/definition.js
- /usr/lib/node_modules/npm/lib/utils/config/definitions.js
- /usr/lib/node_modules/npm/lib/utils/config/flatten.js
- /usr/lib/node_modules/npm/lib/utils/config/index.js
- /usr/lib/node_modules/npm/bin/npx-cli.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:94:18)
    at Object.<anonymous> (/usr/lib/node_modules/npm/lib/utils/config/definition.js:38:5)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/usr/lib/node_modules/npm/lib/utils/config/definition.js',
    '/usr/lib/node_modules/npm/lib/utils/config/definitions.js',
    '/usr/lib/node_modules/npm/lib/utils/config/flatten.js',
    '/usr/lib/node_modules/npm/lib/utils/config/index.js',
    '/usr/lib/node_modules/npm/bin/npx-cli.js'
  ]
}
node:internal/modules/cjs/loader:936
  throw err;
  ^

Error: Cannot find module 'fs-extra'
Require stack:
- /mnt/Linux_Data/Source Packages/nody-greeter/make.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:94:18)
    at Object.<anonymous> (/mnt/Linux_Data/Source Packages/nody-greeter/make.js:1:12)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:79:12) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [ '/mnt/Linux_Data/Source Packages/nody-greeter/make.js' ]
}
Password: 
node:internal/modules/cjs/loader:936
  throw err;
  ^

Error: Cannot find module 'fs-extra'
Require stack:
- /mnt/Linux_Data/Source Packages/nody-greeter/make.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:94:18)
    at Object.<anonymous> (/mnt/Linux_Data/Source Packages/nody-greeter/make.js:1:12)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:79:12) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [ '/mnt/Linux_Data/Source Packages/nody-greeter/make.js' ]
}

 ~/S/nody-greeter  on master                            1 err  took 19s  at 11:41:36 am 

Are you planning to create flatpaks for nody and web greeters? Thank you for all your time and effort

JezerM commented 2 years ago

Yeah, npm is still not working... I recommend to reinstall nodejs package (pnpm is another thing, not npm).

Also, I've found where's the distro logo issue, so it should be fixed soon.

About flatpaks, I still need to learn about them, but it's in my plans.

JezerM commented 2 years ago

Okay, the problem was, again, directories with special characters such as spaces. It should be fixed now in df59d99.

Do a pull inside the "#1-fix" branch and use web-greeter --debug --theme index.html

If it does work, I'll merge these changes into the master branch, and close this issue :D

austinrojers commented 2 years ago

It worked! 👏

JezerM commented 2 years ago

Glad it worked! Thanks for all your time and not giving up on this, really helps~

austinrojers commented 2 years ago

Greetings @JezerM, could you add Void Linux's logo to the list, and maybe Fedora's too. Then it would have all major Linux distros.

Can you run Lightdm with KDE? I have Garuda Linux, which is basically Arch, with KDE. The last time I tried lightdm with KDE it didn't work.

Thank you

JezerM commented 2 years ago

could you add Void Linux's logo to the list, and maybe Fedora's too

I guess I could add those icons~

Can you run Lightdm with KDE?

It should work, but you can't run LightDM itself in KDE, as lightdm runs in an standalone x11 server.

However, lightdm --test-mode should work on some distros with web-greeter/nody-greeter (it doesn't in Arch, for some reason); or you could just run web-greeter/nody-greeter with X-LightDM-Allow-Greeter=true inside your xsession file. The Desktop Environment shouldn't affect the behavior of LightDM greeters, although the distro could (like web-greeter not working on Fedora for some reason).

austinrojers commented 2 years ago

Yeah, npm is still not working... I recommend to reinstall nodejs package (pnpm is another thing, not npm).

Ya pnpm was something else; installing it worked before because it had nodejs as a dependency.

I uninstalled pnpm and reinstalled nodejs, which solved the issue in Void Linux!

JezerM commented 2 years ago

@austinrojers The void-linux logotype was added~

About Fedora's logotype, it's a trademark and has its usage guidelines, so it would require a permission to use. I don't know if I can obtain it for this purpose, but I could try.