browser_linux.go

 1package browser
 2
 3import (
 4	"os/exec"
 5	"strings"
 6)
 7
 8func openBrowser(url string) error {
 9	providers := []string{"xdg-open", "x-www-browser", "www-browser"}
10
11	// There are multiple possible providers to open a browser on linux
12	// One of them is xdg-open, another is x-www-browser, then there's www-browser, etc.
13	// Look for one that exists and run it
14	for _, provider := range providers {
15		if _, err := exec.LookPath(provider); err == nil {
16			return runCmd(provider, url)
17		}
18	}
19
20	return &exec.Error{Name: strings.Join(providers, ","), Err: exec.ErrNotFound}
21}