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.

    • A_norny_mousse@feddit.org
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      10 hours ago

      This goes a little beyond me because I have no idea how gdm would differentiate Xorg or wayland sessions.

      Look into the session files themselves (.desktop) - they have an Exec= line. Then see if that’s maybe just a shell wrapper around something else, e.g.: file /usr/bin/sway and see what it does.

      That’s all I have.

      • xavier666@lemm.eeOP
        link
        fedilink
        English
        arrow-up
        2
        arrow-down
        1
        ·
        7 hours ago

        For i3, the desktop file is like this (present in /usr/share/xsessions)

        [Desktop Entry]
        Name=i3
        Comment=improved dynamic tiling window manager
        Exec=i3
        TryExec=i3
        Type=Application
        X-LightDM-DesktopName=i3
        DesktopNames=i3
        Keywords=tiling;wm;windowmanager;window;manager;
        

        And sway (present in /usr/share/wayland-sessions)

        [Desktop Entry]
        Version=1.0
        Name=Sway
        Comment=An i3-compatible Wayland compositor
        Exec=/usr/bin/sway
        Type=Application
        DesktopNames=sway
        

        Gdm probably sums up all the DE from both the wayland and x11 sessions.

        There are some files & directories in /etc/gdm3 but I’m too lazy to go through all of them

        Init       PostSession  Prime     config-error-dialog.sh  greeter.dconf-defaults
        PostLogin  PreSession   PrimeOff  custom.conf             Xsession
        

        Thanks for your help.

        • A_norny_mousse@feddit.org
          link
          fedilink
          arrow-up
          1
          ·
          2 hours ago

          but I’m too lazy to go through all of them

          OK. But you did want to solve this just because you’re interested?