我最近在 Arch Linux 上安装了 virt-manager,与在 Ubuntu 下不同,第一次启动 virsh-edit 时没有提示我选择文本编辑器。相反,XML 文件是在 vi(或 vim,不确定)中打开的。
来自 RedHat 档案中的这个线程,我想如果我只是添加~/.bashrc
:
export EDITOR=/usr/bin/nano
这样就可以解决问题。但是设置 EDITOR 环境变量不起作用。
此外,启动它EDITOR=geany sudo virsh edit myWINVM
会得到相同的结果,就像尝试使用不同的编辑器一样:EDITOR=geany sudo virsh edit myWINVM
如此处所述
我看到该变量实际上已被设置:
[~]$ printenv
SHELL=/bin/bash
SESSION_MANAGER=local/virtland:@/tmp/.ICE-unix/5451,unix/virtland:/tmp/.ICE-unix/5451
WINDOWID=27262979
COLORTERM=truecolor
XDG_CONFIG_DIRS=/etc/xdg
XDG_MENU_PREFIX=xfce-
SSH_AUTH_SOCK=/tmp/ssh-j36TZui4fOt5/agent.5457
DESKTOP_SESSION=Xfce Session
SSH_AGENT_PID=5458
EDITOR=/usr/bin/nano
...
但是virsh edit MYVM
仍然在 vi 中打开 XML。
我需要在 Arch 中做一些不同的事情吗? virsh 最近的更新中更改此设置的方法是否已更改?
答案1
删除该文件~/.selected_editor
,并virsh
会提示您使用编辑器。可能就是 中的那个/root
,因为需要管理员权限才能使用virsh
。
答案2
我不得不将编辑器添加到 sudoers通过将其放在Defaults editor=/bin/nano
/etc/sudoers 的末尾,然后我可以使用sudo EDITOR=nano virsh edit myWINVM
.
更新:后来,我通过添加到 使其export EDITOR=nano
工作/etc/environment
。
答案3
尝试
sudo -E virsh 编辑我的WINVM
当以 root 身份运行时,该-E
标志将保留当前用户的环境变量,因此只要您EDITOR
在用户环境中导出,就会拾取它。
答案4
我跑了/usr/bin/select-editor
,这让我可以选择编辑器。解决了我的问题。