FreeBSD-11, Mate, Terminal, Gvim

Lowell Gilbert freebsd-questions-local at be-well.ilk.org
Tue Jul 25 19:38:41 UTC 2017


JD <jd1008 at gmail.com> writes:

> 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:
> localhost.localdomain
> 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.

Sure, that's dangerous, but giving root direct access to an X server is
already dangerous. I hope that the original poster understands this...


More information about the freebsd-questions mailing list