Answers:
尽管这不能解决您的问题,但我想指出一下,如果您是从运行X *的一个工作站切换到另一工作站,那么如果您通过ssh设置X转发,则实际上可以使用gvim。窗口信息将仅通过网络发送,并且gvim会像在本地运行一样弹出。
在〜/ .ssh / config中添加以下内容
Host *
ForwardX11 yes
现在,您将可以运行gvim。
如果您的原始工作站是Windows,并且未运行X,则实际上可以使用Cygwin在本地启动X服务器。设置完成后,您可以配置流行的ssh客户端(例如PuTTy)来进行X11转发,然后gvim会在看起来像是原生Windows装饰的窗口中弹出。
我喜欢使用RunningX的garyjohn的答案,因为它对坏的但非空的DISPLAY变量很聪明。
但是..我想做得更好。我经常使用屏幕会话。我可能在家中开始了一个屏幕会话,DISPLAY已定义。然后,我从其他地方切入,仍然定义了DISPLAY,它实际上在家里显示!所以..然后我将“导出$ DISPLAY =”。很好,但是由于该答案已经过检查,并且在最初运行EDITOR的时间找到了一个有效的DISPLAY变量,仍将其设置为gvim。
我来这里是为了寻找类似问题的解决方案,我想使用yelp进行X-GUI手册页浏览,但是当不使用X时会自动使用传统的man命令。
man () {
if RunningX
then
yelp "man:$@";
else
/usr/bin/man "$@";
fi
}
我认为对于EDITOR问题,可以做以下事情:
EDITOR=vim
vim () {
if RunningX
then
gvim "$@";
else
vim "$@";
fi
}
我本来会发布没有长篇幅的文章,但我尚未对其进行测试。我认为自己是个新手。我测试了我的“ man命令”,这行得通!我在编辑器中使用的是emacs,它确实是对X的检查。我什至没有安装gvim。
if [[ $DISPLAY ]]
为双括号爱好者 …