linux - gui 和 ssh session 的不同 bash 别名

标签 linux ssh

我的 .bash_aliases 包含 mc 编辑器的别名之一:

alias mc='EDITOR=subl mc'

当我使用 GUI 时,这对我来说很好。
另一方面,如果我通过 ssh 连接,我会使用相同的用户登录并具有相同的别名。如果我尝试从 mc 编辑文件(按 f4),则不会发生任何情况。所以我必须像 nano 文件 一样手动编辑它。
我可以为这种情况设置不同的别名吗?
谢谢。

最佳答案

*回答我自己的问题(我的错,在我问这个问题之前必须更深入地谷歌搜索)
Found一种检查 $DISPLAY 变量或使用 xhost 的方法。
第二个工作正常:

if xhost >& /dev/null ; then
  alias mc='EDITOR=subl mc'
else
  alias mc='EDITOR=nano mc';
fi

来自 GUI 的 xhost (xrdp/lxde):

user@Linbox:~$ xhost
access control enabled, only authorized clients can connect
SI:localuser:user
user@Linbox:~$ 

来自 ssh 的 xhost:

user@Linbox:~$ xhost
xhost:  unable to open display ""
user@Linbox:~$

关于linux - gui 和 ssh session 的不同 bash 别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53523333/

相关文章:

linux - 使用脚本编号和复制具有奇数和偶数的文件

linux - 如何使用一个 ps2pdf 命令将目录中的所有 ps 文件转换为 pdf?

linux - linux下gcc使用静态库的方法

certificate-authority - 用于管理 Github SSH 证书的 SSH CA

java - 不能 ssh 吗?可能是我 Mac 上 bash_profile 的问题

linux - 使用本地存储库的 Ambari 蓝图安装 (HDP)

c++ - SO_RCVTIME和SO_RCVTIMEO不影响Boost.Asio操作

security - SSHD仅接受来自其自身隧道的连接

ssh - 远程访问云9

scripting - 帮我用expect通过ssh驱动Zmodem