[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lmi] vim as root: "No protocol specified"

From: Greg Chicares
Subject: [lmi] vim as root: "No protocol specified"
Date: Tue, 1 Oct 2019 16:57:15 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0

Vadim--Now that I'm using the wayland compositor, whenever I edit
a file as root, I see a "No protocol specified" message on the
screen when vim exits:

#vim /srv/chroot/centos-7/tmp/setup0.sh 
No protocol specified

It seems to work fine, except that I can't access the X clipboard.

BTW, I'm using the gtk version of vim, not gvim:

$ls -l /usr/bin/vim
lrwxrwxrwx 1 root root 21 Sep 11 19:43 /usr/bin/vim -> /etc/alternatives/vim
$ls -l /etc/alternatives/vim
lrwxrwxrwx 1 root root 16 Sep 11 19:43 /etc/alternatives/vim -> /usr/bin/vim.gtk


#printf 'DISPLAY is "%s", and EDITOR is "%s"\n' $DISPLAY $EDITOR
DISPLAY is ":0.0", and EDITOR is ""

I suspect that this is due to wayland, because:


Arch suggests sudoedit, but that doesn't seem to work for me:

#sudoedit /srv/chroot/centos-7/tmp/setup0.sh 
  [:ls inside vim shows this:]
  1 %a   "/var/tmp/setup0XXm7c4EV.sh"   line 1
  [upon exit I see:]
No protocol specified
sudoedit: /srv/chroot/centos-7/tmp/setup0.sh unchanged

I can prevent the warning message from displaying with 'vim -X':

I haven't tried advice like this:


| #do this for all other users who do not have .Xauthority file    
| ln -s /home/userwithxauth/.Xauthority .Xauthority
| #run the following command to give read only access permission to .Xauthority 
| chmod 644 /home/userwithxauth/.Xauthority

because, AIUI, that would give root open access to X, which
seems like a security issue. Is there a tidy way to grant X
access only when I invoke vim as root? The best I can come
up with is this:

XAUTHORITY=/home/greg/.Xauthority vim /srv/chroot/centos-7/tmp/setup0.sh

from which I could create an alias in a shell startup file
(on my own computer, I'm sure 'greg' is a normal X user).
Is that good, or am I missing a simpler approach?

reply via email to

[Prev in Thread] Current Thread [Next in Thread]