Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Jul 2017 15:38:33 -0400
From:      Lowell Gilbert <freebsd-questions-local@be-well.ilk.org>
To:        ByrneJB@Harte-Lyne.ca, jd1008@gmail.com
Cc:        freebsd-questions@freebsd.org
Subject:   Re: FreeBSD-11, Mate, Terminal, Gvim
Message-ID:  <44pocol32e.fsf@lowell-desk.lan>
In-Reply-To: <59779BC9.8030809@gmail.com> (JD's message of "Tue, 25 Jul 2017 13:28:09 -0600")
References:  <a973035703bd510d1226163df5ac9a34.squirrel@webmail.harte-lyne.ca> <20170725210647.6f4c8fcd.freebsd@edvax.de> <59779BC9.8030809@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
JD <jd1008@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@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...



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?44pocol32e.fsf>