From ae1e4e7022b56e10122f7c7d12f6a0740a9ce4d0 Mon Sep 17 00:00:00 2001 From: Mike Miller Date: Sun, 10 Feb 2019 23:30:54 -0800 Subject: [PATCH 1/3] Set DISPLAY environment variable for browser on Linux Fixes #5692 --- Library/Homebrew/utils.rb | 4 ++++ bin/brew | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Library/Homebrew/utils.rb b/Library/Homebrew/utils.rb index 9f68554e7f..4fa07af9a1 100644 --- a/Library/Homebrew/utils.rb +++ b/Library/Homebrew/utils.rb @@ -388,6 +388,10 @@ def exec_browser(*args) browser ||= OS::PATH_OPEN if defined?(OS::PATH_OPEN) return unless browser + if ENV["HOMEBREW_DISPLAY"] + ENV["DISPLAY"] = ENV["HOMEBREW_DISPLAY"] + end + safe_exec(browser, *args) end diff --git a/bin/brew b/bin/brew index c9640a3091..edf2dded7f 100755 --- a/bin/brew +++ b/bin/brew @@ -54,7 +54,7 @@ HOMEBREW_LIBRARY="$HOMEBREW_REPOSITORY/Library" # Whitelist and copy to HOMEBREW_* all variables previously mentioned in # manpage or used elsewhere by Homebrew. for VAR in AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY BINTRAY_USER BINTRAY_KEY \ - BROWSER EDITOR GIT NO_COLOR PATH VISUAL + BROWSER DISPLAY EDITOR GIT NO_COLOR PATH VISUAL do # Skip if variable value is empty. [[ -z "${!VAR}" ]] && continue From 6819cbf9677e7bbefda2223135ecc94f47d461ef Mon Sep 17 00:00:00 2001 From: Mike Miller Date: Tue, 12 Feb 2019 11:37:35 -0800 Subject: [PATCH 2/3] Set DISPLAY from HOMEBREW_DISPLAY unconditionally No need to test for existence, ruby ENV does the right thing. --- Library/Homebrew/utils.rb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Library/Homebrew/utils.rb b/Library/Homebrew/utils.rb index 4fa07af9a1..d6ea652c8a 100644 --- a/Library/Homebrew/utils.rb +++ b/Library/Homebrew/utils.rb @@ -388,9 +388,7 @@ def exec_browser(*args) browser ||= OS::PATH_OPEN if defined?(OS::PATH_OPEN) return unless browser - if ENV["HOMEBREW_DISPLAY"] - ENV["DISPLAY"] = ENV["HOMEBREW_DISPLAY"] - end + ENV["DISPLAY"] = ENV["HOMEBREW_DISPLAY"] safe_exec(browser, *args) end From cf4d5c80c0804bec1a217891ba2a6b87b0193f8d Mon Sep 17 00:00:00 2001 From: Mike Miller Date: Tue, 12 Feb 2019 12:39:59 -0800 Subject: [PATCH 3/3] man: mention HOMEBREW_DISPLAY in man page --- Library/Homebrew/manpages/brew.1.md.erb | 6 ++++++ docs/Manpage.md | 6 ++++++ manpages/brew.1 | 7 +++++++ 3 files changed, 19 insertions(+) diff --git a/Library/Homebrew/manpages/brew.1.md.erb b/Library/Homebrew/manpages/brew.1.md.erb index 3b54fdc84a..7d45775eef 100644 --- a/Library/Homebrew/manpages/brew.1.md.erb +++ b/Library/Homebrew/manpages/brew.1.md.erb @@ -162,6 +162,12 @@ Note that environment variables must have a value set to be detected. For exampl If set, Homebrew will tweak behaviour to be more relevant for Homebrew developers (active or budding), e.g. turning warnings into errors. + * `HOMEBREW_DISPLAY`: + If set, Homebrew will use this X11 display when opening a page in a browser, + for example with `brew home`. Primarily useful on Linux. + + *Default:* the value of the user's `DISPLAY` environment variable. + * `HOMEBREW_EDITOR`: If set, Homebrew will use this editor when editing a single formula, or several formulae in the same directory. diff --git a/docs/Manpage.md b/docs/Manpage.md index 067dc132a3..067a4f47e8 100644 --- a/docs/Manpage.md +++ b/docs/Manpage.md @@ -1037,6 +1037,12 @@ Note that environment variables must have a value set to be detected. For exampl If set, Homebrew will tweak behaviour to be more relevant for Homebrew developers (active or budding), e.g. turning warnings into errors. + * `HOMEBREW_DISPLAY`: + If set, Homebrew will use this X11 display when opening a page in a browser, + for example with `brew home`. Primarily useful on Linux. + + *Default:* the value of the user's `DISPLAY` environment variable. + * `HOMEBREW_EDITOR`: If set, Homebrew will use this editor when editing a single formula, or several formulae in the same directory. diff --git a/manpages/brew.1 b/manpages/brew.1 index 7eeaa55cdc..c20055caef 100644 --- a/manpages/brew.1 +++ b/manpages/brew.1 @@ -1266,6 +1266,13 @@ If set, any commands that can emit debugging information will do so\. If set, Homebrew will tweak behaviour to be more relevant for Homebrew developers (active or budding), e\.g\. turning warnings into errors\. . .TP +\fBHOMEBREW_DISPLAY\fR +If set, Homebrew will use this X11 display when opening a page in a browser, for example with \fBbrew home\fR\. Primarily useful on Linux\. +. +.IP +\fIDefault:\fR the value of the user\'s \fBDISPLAY\fR environment variable\. +. +.TP \fBHOMEBREW_EDITOR\fR If set, Homebrew will use this editor when editing a single formula, or several formulae in the same directory\. .