docs: def _detect_sudo(self, _execnet=None):
          """
          ``sudo`` detection has to create a different connection to the remote
          host so that we can reliably ensure that ``getuser()`` will return the
          right information.
  
          After getting the user info it closes the connection and returns
          a boolean
          """
          exc = _execnet or execnet
          gw = exc.makegateway(
              self._make_connection_string(self.hostname, use_sudo=False)
          )
  
          channel = gw.remote_exec(
              'import getpass; channel.send(getpass.getuser())'
          )
  
          result = channel.receive()
          gw.exit()
  
          if result == 'root':
              return False
          self.logger.debug('connection detected need for sudo')
          return True