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