当我将VNC用于我的机器时,我试图将gvim保留为我的默认编辑器。但是当我通过SSH登录时,想要将vim保留为我的默认编辑器。我不确定如何区分我的.bashrc文件来自动执行此操作。同样,有没有办法让我知道会话是通过与我的机器直接连接的控制台。
谢谢
答案 0 :(得分:2)
听起来你实际上并不关心它是SSH,VNC还是控制台。您是否有GUI可以运行gvim。
您可以使用$DISPLAY
:
[[ $DISPLAY ]] && export EDITOR=gvim || export EDITOR=vim
这会将编辑器设置为gvim
用于VNC以及XDMCP,NX,Chromoting,本地图形登录,带图形转发的ssh以及带有X11显示的任何其他内容。
它会将编辑器设置为vim
以进行常规SSH登录以及Telnet,rsh,串行控制台,本地登录以及所有其他非基于X11的登录。
答案 1 :(得分:0)
应在任何SSH会话中设置环境变量$SSH_AUTH_SOCK
。所以在你的.bashrc
中,你可以拥有
if [ -n "$SSH_AUTH_SOCK" ]
then
# code for SSH sessions here
fi
至于确定您是否在直接连接的控制台上,see this question;要在shell中获取tty名称(而不是在C程序中),请使用tty
命令。
答案 2 :(得分:0)
感谢ajk的提示 我查看了变量集,发现VNCDESKTOP仅在vnc的情况下设置。 我使用上面建议的方式,它现在有效。
虽然我仍然希望有人可以建议这是否是一个完整的解决方案