FreeBSD-11, Mate, Terminal, Gvim

JD jd1008 at
Tue Jul 25 19:28:24 UTC 2017

On 07/25/2017 01:06 PM, Polytropon wrote:
> On Tue, 25 Jul 2017 10:39:29 -0400, James B. Byrne via freebsd-questions wrote:
>> When setting up new hosts I usually open an especially coloured
>> terminal instance and use 'su -l' to become root.  I also typically
>> edit using gvim.  However, this combination does not work for me on
>> FreeBSD with Mate as it did for me under CentOD-6 and Gnome2.  When
>> inside a terminal window as root instead of opening an Xwindow editor
>> when running gvim I get a 'E233: cannot open display' error.
> This is to be expected.
> With "su -l", a full login is simulated, so all environmental
> variables will be reset - but $DISPLAY is needed for X. There
> are basically two solutions:
> 1. Set $DISPLAY accordingly, for example to :0.0. Refer to the
>     documentation of your shell on how to do it, for example in
>     C shell "setenv DISPLAY :0.0", in sh/bash "export DISPLAY=:0.0".
> 2. Use "su -m" instead, which will preserve the environment of
>     your user, and $DISPLAY will be kept set.
> See "man su" for details.
There is another way which some people might criticize as unsafe,
but here it is:
as the normal user on the X display, type in the terminal
xhost +root at localhost
sometimes you have to completely qualify "localhost" with
how the name appears in /etc/hosts: such as:
After that, su to root and as root, issue the command
setenv DISPLAY "0:0"
if using bash or sh , then
export DISPLAY="0:0"

now, as root, any graphical tool you invoke will run.

More information about the freebsd-questions mailing list