Hello fellow lemmings
I am a long-time i3 user and have decided to switch to Sway. I have encountered a weird error which has left me utterly bamboozled.
I am using Ubuntu 24.04 which has gone from 20.04 -> 22.04 -> 24.04. It has Ubuntu-Gnome, i3 and Sway currently installed.
The issue
The error that I’m facing is when I’m using Sway, I simply don’t have sudo access.
This is what the error looks like
$ sudo visudo
[sudo] password for xavier666:
Sorry, user xavier666 is not allowed to execute '/usr/sbin/visudo' as root on <HOSTNAME>.
When I switch back to i3, my permissions are fine for the same user. I have not done any crazy modifications to the sudoer’s file as far as I can remember.
PS: I have added a command to no-sudo xavier666 ALL = NOPASSWD: /usr/bin/brightnessctl
The “fix”
I temporarily solved it by adding xavier666 ALL=(ALL:ALL) ALL
to the sudoer’s file.
IMO, I think this should not be required. I don’t remember ever adding the default user to the file for all the installations that I have done. (But this is the first time I’ve installed Sway)
Logs/Outputs
Running sudo -l
without the fix (on Sway)
Matching Defaults entries for xavier666 on <HOSTNAME>:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin,
use_pty
User xavier666 may run the following commands on <HOSTNAME>:
(root) NOPASSWD: /usr/bin/brightnessctl
When I run the same command on i3, i get this (ALL : ALL) ALL
extra line in the output.
And when I run sudo -l
with my fix on Sway, (ALL : ALL) ALL
is present and the permission issue is fixed.
What is causing Sway to remove the root permission for the user?
Note: I’m just asking for the standard sudo behaviour. I’m not trying to run GUI applications as root.
$ which sway /usr/bin/sway $ sway --version sway version 1.9 $ file $(which sway) /usr/bin/sway: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=70fe358f7e410f618ad8a9ce0e573ed6826b2e75, for GNU/Linux 3.2.0, stripped $ ls -l $(which sway) -rwxr-xr-x 1 root root 600352 Apr 1 2024 /usr/bin/sway
id
pre and post loginuid=1000(xavier666) gid=1000(xavier666) groups=1000(xavier666),0(root) --------------- uid=1000(xavier666) gid=1000(xavier666) groups=1000(xavier666),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),120(lpadmin),132(lxd),133(sambashare)
A funny thing; I think this has nothing to do with gdm. I have gdm disabled now and launching sway directly from the terminal and the issue still persists.
The problem goes away (
xavier666
becomes part ofsudo
like expected) when I typeexec su - xavier666
for that terminal session only. If I open a new terminal, it problem reappears. I’ll just in case check if zsh/omyzsh is doing something funny.