Welcome program should run things as sudo

Currently, the Welcome program’s functionality is pretty limited because it tries to run everything as root.

For example, today I tried to run the “Detect system issues” option which wanted to uninstall some unneeded graphics drivers, but it looks like it was trying to su to root and run pacman. I feel like it should either do sudo su and ask for the user password or sudo X on each command (in my case, it was trying to run pacman and grub-mkconfig).

This same complaint applies to the update helper.

hi,

personal i dont understand your issue a bit. When i push out a update i get :

afbeelding

there are two choices that does not ask password,

it does uses sudo & pkexec for this basicly

@GodofGrunts
Hi,
sudo is inherently a security risk. The risk in practice is not great, but that’s anyway the reason for using su instead of sudo.

Another alternative, like @ringo said, is to use pkexec. But some users have complained about that too, so su is left as the only option.

But, to make all happy :smile:, I could make this a configuration feature.
Just wait and see! :wink:

3 Likes

Clicking the “Update System” option does run sudo, but the eos-update-notifier and "Detect system issues` both ask for root password.

If you really want to talk about security risk, allowing a program to su is way worse than allowing it to run sudo.

on detect system issue in dont know because i had none :slight_smile:

in the source there is some ‘sudo’ commands and ‘pkexec’ ,

there is a line local rooter, is the only one that sit ‘su’ …

but , what should it do further if it detected a system issue ?

In my case, it was trying to run the following lines:

pacman -Rsn amd-ucode nvidia-installer-dkms xf86-video-amdgpu xf86-video-ati
grub-mkconfig -o /boot/grub/grub.cfg

But my complaint is that it was trying to run it either with su or pkexec instead of sudo. I suppose that could be needed (depending on what issues it detects) but still still think it should default to sudo when possible.

I would like that it makes me a coffee too. :rofl:

2 Likes

Personal having gnome-software or discover is more risk then using sudo su…

using root is not always without risk.

things like gnome-software they use a policy you can update and install without password… is also more enherit you make mistake of removing something…

personal using root can always have some flaws… but ther wise things cannot done…

if you use pkexec sudo lxqt-sudo or su has always there minor things but you cant live without it also…unless you configure your system to go passwords less in life you stil niet root rights…

1 Like

As we have sudo installed and we have such things as typing systemctl enable xy.service will invoce sudo to get admin rights… and also yay … EndeavourOS is sudo enabled … we could try to go sudo free on settings and installed packages, but we would loose a lot convinience on this.

—> sidenote
// And @ringo is right on gnome-software and packagekit… i am not happy having them installed per default… on one hand as they do not ask for password to install and on the other they also do not work very complete… gnome-software and discover do only show official apps and do not show packages from EndeavourOS in the search… //

3 Likes

Now new versions of welcome 2.2.11-1 and eos-update-notifier 0.9.11-1 are out.

They support sudo/su/pkexec configuration in file /etc/eos-script-lib-yad.conf. In the end of that file there’s variable EOS_ROOTER and its supported values. Use one of those supported values.

Note that there may be a related .pacnew file too.

2 Likes

What is the default settings? Can you explain how to change the configurations and what they mean? Currently it uses sudo and asks for password? I take it that su is ask for root if you set it up this way? I don’t know what pkexec is?

Why is this being asked for? What is wrong with the current way of doing it? I don’t understand the issue?

https://www.freedesktop.org/software/polkit/docs/0.105/pkexec.1.html

I don’t know much about polkit but every time i hear problems about it?

@ricklinux
It may be a bit confusing right now because of some recent changes.
The update in welcome used to use yay, and yay uses sudo.
I changed welcome to use the same way of updating as eos-update-notifier: pacman for Arch updates, and yay for AUR updates.

Another related thing is the configuration of the pacman usage, and that is done in the config file.
The default for that is su (or “su -c” in the config file).
Now other config options include sudo (“sudo bash -c”) and pkexec (“pkexec bash -c”).

All of the alternatives are meant to provide the required privileges to run a command, in this case, pacman.

More info about those command are on the manual pages:

man su
man sudo
man pkexec

https://wiki.archlinux.org/index.php/Polkit

I know I marked this as a solution, but for my curiosity I just edited /etc/eos-script-lib-yad.conf and put EOS_ROOTER="sudo" at the bottom, but I was getting that error message that said EOS_ROOTER didn’t know what sudo was.

Am I missing how we’re supposed to set it?

This morning i am getting this error with whatever changes have been made.

I have run pacman update.

Screenshot_2020-01-09_09-59-47

Edit: After running update welcome screen is back to normal.

I can’t understand what there is to be gained by using a GUI updater when pacman and yay do it all well enough. Nobody using an Arch installation can possibly be frightened of using the terminal!

1 Like

I agree. There is a difference between frightened and inexperienced. I’m always afraid of my inexperience!
:laughing:

1 Like

You probably need to make sure all is updated by using command

sudo pacman -Syu

Now you should have the config file /etc/eos-scipt-lib-yad.conf that contains instruction about accepted values for EOS_ROOTER.
But if the instructions for EOS_ROOTER are not there, then they must be in file /etc/eos-scipt-lib-yad.conf.pacnew, which is a result of an package update. In that case, simply manually copy the new stuff from the .pacnew file to the real config file, and then make your changes to the real config file.

As you can see from the instructions, plain “sudo” is not what you need to write there.
You probably want to write

EOS_ROOTER="sudo bash -c"

instead.

Check those files, and if something important is missing from those, that’s the problem, and please report again.

1 Like