AzzamAlsharafi / ideapad-controls-gnome-extension

GNOME Shell extension for controling Lenovo IdeaPad laptops options.
GNU General Public License v3.0
27 stars 4 forks source link

More In-depth Password-less Setup Explanation / Not Working on GNOME 42 #15

Open InklingGirl opened 1 year ago

InklingGirl commented 1 year ago

For instance, what do you mean by 'inside repo's directory'? I installed the extension from https://extensions.gnome.org/extension/5260/ideapad-controls/

AzzamAlsharafi commented 1 year ago

Hi, the password-less setup requires you to clone this repository and run the listed commands inside (it doesn't matter where you clone the repository to in your local machine), as the setup script isn't included in the extension in extensions.gnome.org.

InklingGirl commented 1 year ago

Thank you for your response @AzzamAlsharafi. & then do I extract the contents of the created .zip to my $HOME/.local/share/gnome-shell/extensions/ or /usr/share/gnome-shell/extensions/? Well, even though you didn't specify that, I did it w/ both directories (starting from scratch each time of course) & I'm still always asked for my sudo password every time, even though I did everything in Password-less setup & more. What am I missing? Again, I think a more in-depth explanation may be required for us users w/ not as much knowledge or certainty.

InklingGirl commented 1 year ago

Any assistance would be appreciated.

AzzamAlsharafi commented 1 year ago

Hi, sorry for the delay.

You don't need to copy anything from the repo. The reason you need to clone the repo is because the setup script is inside the repo, so you just need to run the setup script, the location of where you clone the repo doesn't matter.

So in short, make sure you have make installed, and then run the following commands (the location where you run doesn't matter, anywhere is fine) and it should do everything:

groupadd ideapad_laptop 
usermod -aG ideapad_laptop $USER
clone https://github.com/AzzamAlsharafi/ideapad-controls-gnome-extension.git
cd  ideapad-controls-gnome-extension.git
sudo make tmpfiles-install

After that simply reboot your system.

InklingGirl commented 1 year ago

Yeah no that does absolutely nothing, even when I add sudo, I don't end up w/ the extension being installed, & even if I manually install it I still have to enter a password to toggle the switches.

AzzamAlsharafi commented 1 year ago

The commands I wrote in the previous comment are not for installing the extension, they are for running the script responsible for the password-less setup. And another thing I forgot to mention is that after running the script you also need to go to the extension's settings (from the GNOME extensions manager app), and disable the 'use pkexec' option.

So in short here's what you need to do from the beginning, step-by-step:

Sorry for the misunderstanding.

InklingGirl commented 1 year ago

Thank you for the clarification. I do these steps but when I try to change the extension's setting this is the result:

The settings of extension ideapad-controls@azzamalsharafi.gmail.com had an error:

Gtk.BuilderError: /home/christian/.local/share/gnome-shell/extensions/ideapad-controls@azzamalsharafi.gmail.com/template.ui:10:1 Invalid object type 'AdwEntryRow'

Stack trace:

fillPreferencesWindow@/home/christian/.local/share/gnome-shell/extensions/ideapad-controls@azzamalsharafi.gmail.com/prefs.js:23:13
_init@resource:///org/gnome/Shell/Extensions/js/extensionPrefsDialog.js:27:29
ExtensionPrefsDialog@resource:///org/gnome/Shell/Extensions/js/extensionPrefsDialog.js:10:4
OpenExtensionPrefsAsync/<@resource:///org/gnome/Shell/Extensions/js/extensionsService.js:129:33
asyncCallback@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:115:22
run@resource:///org/gnome/Shell/Extensions/js/dbusService.js:186:20
main@resource:///org/gnome/Shell/Extensions/js/main.js:22:13
run@resource:///org/gnome/gjs/modules/script/package.js:206:19
start@resource:///org/gnome/gjs/modules/script/package.js:190:8
@/usr/share/gnome-shell/org.gnome.Shell.Extensions:1:17
AzzamAlsharafi commented 1 year ago

I'm not really sure what's the cause. Can you try to uninstall the extension completely and then do the steps from the beginning?

InklingGirl commented 1 year ago

I uninstalled & reinstalled the extension, but I can't open its settings even w/o the commands run on it, I keep getting the above errors either way. I'm installing it from extensions.gnome.org which installs it to $HOME/.local/share/gnome-shell/extensions/ideapad-controls@azzamalsharafi.gmail.com. I've attached my system specs:

2023-10-27_22-36

AzzamAlsharafi commented 1 year ago

It might be an issue with GNOME 42, because I didn't test the latest versions of the extension with older versions GNOME. Unfortunately I've stopped development on the extension, as I've been busy lately and I don't use GNOME anymore. I apologize for that.

InklingGirl commented 1 year ago

Ah, I see, thank you for your time.

rico-vz commented 11 months ago

Ah, I see, thank you for your time.

The Extension is working fine on my machine using GNOME 44.6 (Fedora 38 Workstation).

Here are the steps I did myself:

  1. Clone the repository
  2. Manually install the extensions using make install in the repo folder
  3. Rebooted as it wasn't showing up yet in Extensions
  4. sudo groupadd ideapad_laptop
  5. sudo usermod -aG ideapad_laptop $USER
  6. sudo make tmpfiles-install
  7. sudo systemd-tmpfiles --create
  8. Go to the extensions settings
  9. Disable "Use pkexec"
  10. Done.

After this, the extension is functioning perfectly fine without asking me for my password each time I want to toggle an option.

InklingGirl commented 11 months ago

Thank you for the concise instructions @rico-vz, following them works to install it, but on GNOME 42 the extensions settings will not open. I had an idea that I might use dconf-editor to manually change it the 'Use pkexec' option, but it looks like the schema for the extension hasn't even been created yet on my end (not in /org/gnome/shell/extensions/ anyways). Can any of you use dconf-editor on GNOME to find the schema for the setting so I can try manually inputting it via gsettings or echo? Thanks!