Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
austinrojers opened this issue Dec 24, 2021 · 33 comments · Fixed by #2
Closed

Comments

@austinrojers
Copy link

austinrojers commented Dec 24, 2021

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
Copy link
Author

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

@JezerM
Copy link
Owner

JezerM commented Jan 3, 2022

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

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

@JezerM
Copy link
Owner

JezerM commented Jan 4, 2022

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
Copy link
Author

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

@JezerM
Copy link
Owner

JezerM commented Jan 4, 2022

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
Copy link
Author

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
Copy link
Owner

JezerM commented Jan 4, 2022

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
Copy link
Author

austinrojers commented Jan 4, 2022

~$ 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
Copy link
Author

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

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

@JezerM
Copy link
Owner

JezerM commented Jan 4, 2022

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
Copy link
Author

austinrojers commented Jan 4, 2022

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
Copy link
Owner

JezerM commented Jan 4, 2022

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
Copy link
Author

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

I hope this was what you were asking for.

Thank you for you time
Gn

@JezerM
Copy link
Owner

JezerM commented Jan 4, 2022

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
Copy link
Owner

JezerM commented Jan 5, 2022

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
Copy link
Author

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
Copy link
Owner

JezerM commented Jan 5, 2022

You need to install some dependencies:

  • libxcb-devel
  • libx11-devel

And then build again.

@austinrojers
Copy link
Author

austinrojers commented Jan 5, 2022

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
Copy link
Owner

JezerM commented Jan 5, 2022

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

@austinrojers
Copy link
Author

austinrojers commented Jan 6, 2022

Greetings @JezerM

  • I was able to install nody-greeter in Ubuntu; I had to clone the repo in my home folder and install it.
    Earlier I had cloned it to a Source Packages folder, where I had stored all git clones of packages that I have built from source.
    When I installed it from that directory, I got an error Source directory not found; it seems that the install script couldn't read the complete directory name Source Packages; I hope you got my point.

  • In Void Linux, I still get the error as in my above reply, perhaps some dependency issue?

  • Now back to the aether theme:

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
Copy link
Owner

JezerM commented Jan 6, 2022

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
Copy link
Author

austinrojers commented Jan 6, 2022

web-greeter:
image

  • Terminal output when running both nody-greeter and web-greeter
austin@austin-Inspiron-15-3567:~$ cd Source\ Packages/web-nody\ greeter\ themes/aether/
austin@austin-Inspiron-15-3567:~/Source Packages/web-nody greeter themes/aether$ nody-greeter --debug --theme index.html
2022-01-06 09:58:34 [ DEBUG ] browser.js 121: Initializing Browser Window
2022-01-06 09:58:34 [ DEBUG ] browser.js 137: Browser Window created
2022-01-06 09:58:34 [ DEBUG ] screensaver.js 39: Screensaver set
2022-01-06 09:58:34 [ DEBUG ] browser.js 118: Theme loaded
2022-01-06 09:58:34 [ DEBUG ] globals.js 15: Javascript logger is ready
2022-01-06 09:58:35 [ DEBUG ] globals.js 12: Window is ready
2022-01-06 09:58:35 [ DEBUG ] bridge.js 65: LightDM API connected
2022-01-06 09:58:35 [ DEBUG ] browser.js 155: Nody Greeter started
2022-01-06 09:58:43 [ DEBUG ] screensaver.js 54: Screensaver reset
austin@austin-Inspiron-15-3567:~/Source Packages/web-nody greeter themes/aether$ web-greeter --debug --theme index.html
2022-01-06 09:58:46 [ DEBUG ] screensaver - screensaver.py:30 : set_screensaver | Screensaver timeout set
2022-01-06 09:58:46 [ ERROR ] browser - browser.py:98 : getDefaultCursor | Default cursor couldn't be get
2022-01-06 09:58:46 [ DEBUG ] browser - browser.py:212 : init | Initializing Browser Window

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
Copy link
Owner

JezerM commented Jan 6, 2022

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

@JezerM
Copy link
Owner

JezerM commented Jan 6, 2022

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
Copy link
Author

austinrojers commented Jan 6, 2022

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
Copy link
Owner

JezerM commented Jan 6, 2022

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
Copy link
Owner

JezerM commented Jan 6, 2022

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
Copy link
Author

It worked! 👏

@JezerM
Copy link
Owner

JezerM commented Jan 6, 2022

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

@austinrojers
Copy link
Author

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
Copy link
Owner

JezerM commented Jan 7, 2022

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
Copy link
Author

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
Copy link
Owner

JezerM commented Jan 30, 2022

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants