code: func Open(s string) (err error) {
  	if len(Candidates) == 0 {
  		return ErrNoCandidates
  	}
  
  	// Try to determine if there's a display available (only linux) and we
  	// aren't on a terminal (all but windows).
  	switch runtime.GOOS {
  	case "linux":
  		// No display, no need to open a browser. Lynx users **MAY** have
  		// something to say about this.
  		if os.Getenv("DISPLAY") == "" {
  			return fmt.Errorf("webbrowser: tried to open %q, no screen found", s)
  		}
  		fallthrough
  	case "darwin":
  		// Check SSH env vars.
  		if os.Getenv("SSH_CLIENT") != "" || os.Getenv("SSH_TTY") != "" {
  			return fmt.Errorf("webbrowser: tried to open %q, but you are running a shell session", s)
  		}
  	}
  
  	// Try all candidates
  	for _, candidate := range Candidates {
  		err := candidate.Open(s)
  		if err == nil {
  			return nil
  		}
  	}
  
  	return ErrCantOpenBrowser
  }
docs: // Open tries to open a URL in your default browser ensuring you have a display
  // set up and not running this from SSH. NOTE: This may cause your program to
  // hang until the browser process is closed in some OSes, see
  // https://github.com/toqueteos/webbrowser/issues/4.