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
    ·
    1 day ago

    gdm probably looks inside /usr/share/wayland-sessions and finds sway.desktop and uses it to launch Sway.

    And how did you use to start i3?

      • 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
          ·
          8 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
            ·
            3 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?