• lemmyvore@feddit.nl
    link
    fedilink
    English
    arrow-up
    9
    arrow-down
    3
    ·
    2 months ago

    Or try using any form of desktop automation… which is a show-stopper and it doesn’t look like Wayland plans to do anything about it any time soon.

    • Metz@lemmy.world
      link
      fedilink
      English
      arrow-up
      11
      arrow-down
      2
      ·
      edit-2
      2 months ago

      I don’t see how this is a Wayland problem. X11 has no desktop automation integrated either. You had to use third party tools for that like Autokey. And admittedly, there is still no comparable replacement for Wayland as far i know (maybe KDE scripts? https://develop.kde.org/docs/plasma/kwin/api/ or https://github.com/ReimuNotMoe/ydotool ?). But that is because nobody has fully build one yet, not because some inherent absence of necessary wayland functions.

      • lemmyvore@feddit.nl
        link
        fedilink
        English
        arrow-up
        14
        arrow-down
        1
        ·
        2 months ago

        It actually is because of Wayland design. In their quest for “security” they’ve made it impossible for automation and accesibility tools to do their job.

        It’s a glaring omission in Wayland going forward, for zero gain. Most of the touted Wayland security advantages are hogwash.

        • thedeadwalking4242@lemmy.world
          link
          fedilink
          arrow-up
          8
          ·
          2 months ago

          I mean if it’s goal was to prevent scripts from using the graphics env maliciously then it seems to have made some progress if you can’t even automate it with good intentions

          • lemmyvore@feddit.nl
            link
            fedilink
            English
            arrow-up
            5
            arrow-down
            1
            ·
            2 months ago

            We need to keep a balance between security and convenience, to avoid systems becoming too awkward to use. Wayland tipped this balance too far on the side of security. Malicious local exploitation of the graphics stack has never been a big issue; consider the fact that someone or something would need to compromise your own account locally, at which point they could do much worse things than moving your windows around. It’s not that the security threat doesn’t exist, it’s that Wayland has approached it at the wrong end and killed a lot of useful functionality in the process.

            Also consider that this issue has existed for the entire history of desktop graphics on *nix and nobody has ever deemed it worth to destroy automation for it. If it were such a grave security hole surely someone would have raised the alarm and fixed it during all this time.

            My opinion is that Wayland has been using this as a red herring, to bolster its value proposition.

            • winterayars@sh.itjust.works
              link
              fedilink
              arrow-up
              1
              ·
              2 months ago

              Technically i think the worst they could do would be to record your screen. (Barring some extra fancy exploits or something.)

              • lemmyvore@feddit.nl
                link
                fedilink
                English
                arrow-up
                2
                ·
                edit-2
                2 months ago

                People often think that things like recording your screen or keylogging are the worst but they’re not. These attacks would require you to be targeted by someone looking for something specific.

                Meanwhile automated attacks can copy all your files, or encrypt them (ransomware), search for sensitive information, or use your hardware for bad things (crypto mining, spam, DDoS, spreading the malware further), or most likely all of the above.

                Automated attacks are much more dangerous and pervasive because they are conducted at massive scale. Bots scan massive amounts of IPs and try all the known exploits and vulnerabilities without getting tired, without caring how daunting it may be, without even caring if they’re trying the right vulnerability against the right kind of OS or app. They just spray everything and see what sticks.

                You’re thousands of times more likely to be caught by such malware than it is to be targeted by someone with the skill and motive to record your screen or your keyboard.

                Secondly, if someone like that targets you and has access to your user account, Wayland won’t stop them. They can gain access to your root account, they can install elevated spyware, they can patch Wayland and so on.

                What Wayland is doing is the equivalent of asking you to wear a motorcycle helmet 24/7, just in case you slip on some spilled juice, or a flower pot falls on your head, or the bus you’re in crashes. All those things are possible and the helmet would come in handy but are they likely? We don’t do it because it’s not, and it would be a major inconvenience.

    • tetris11@lemmy.ml
      link
      fedilink
      arrow-up
      5
      ·
      edit-2
      2 months ago

      Yup, or even a simple notify-send. Trying to work out which environment variables are needed to get the damn thing to focus on the window in question which may or may not be an X11 window within Wayland. The magic formula I’ve learned so far:

      DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/$(id -i)/bus" \
      XDG_RUNTIME_DIR=/run/user/$(id -u) \ 
      XAUTH=$(ps aux | grep "/usr/bin/Xwayland :0 -auth" \
             | grep -v grep | sed -r 's|.*-auth ([^ ]*).*$|\1|') \
      DISPLAY=:0 \
      XAUTHORITY=$XAUTH  <finally your command here>
      

      (oh and sometimes you might need to preface that all with a sudo, oh and there’s no guarantee that the Display is at :0, even if no other display is in use). Eaaazyyy peaaaazyyy

      I will say that wtype is the one wayland automation tool that does not need any preamble. It just works out of the box, genuinely good engineering by the developers on that project.