背景:我将RVM更新到最新版本和.rvmrc,以便我可以指示rVM使用项目特定的gemset。但它现在要求bash shell是一个登录shell。所以我通过ubuntu终端的Edit |首选项做到了这一点。这完全没问题。
然而,gedit的嵌入式终端仍然不是“作为登录shell运行命令”。但是我可以通过在gedit的嵌入式终端上输入“/ bin / bash --login”来解决这个问题。
这是一个很好的解决方法,但我觉得必须有一种自动执行此操作的方法。
我尝试将以下变体添加到〜/ .bashrc文件的末尾并且它有点工作,但我不得不ctrl-c返回提示模式。另外一个副作用,普通终端现在也要求我按ctrl-C返回提示模式。
/bin/bash -l -i
如何告诉〜/ .bashrc文件执行该命令并返回提示模式,而不是每次都按ctrl-C?或任何其他方式来实现这一目标。
提前致谢。
P.S。我也在askubuntu上发布了
答案 0 :(得分:5)
将此添加到您的bashrc脚本:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
为我工作。
(您仍然需要:PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
希望有所帮助
答案 1 :(得分:1)
终端插件是用Python编写的,因此您可以尝试自定义它。请注意,如果直接编辑已安装的文件,则在更新软件包时将覆盖您的更改。
在“/usr/lib/gedit/plugins/terminal.py”文件的第90行附近,您会找到如下所示的行:
self._vte.fork_command_full(Vte.PtyFlags.DEFAULT, None, [Vte.get_user_shell()], None, GLib.SpawnFlags.SEARCH_PATH, None, None)
将参数添加到列表中的shell:
self._vte.fork_command_full(Vte.PtyFlags.DEFAULT, None, [Vte.get_user_shell(), "-l", "-i"], None, GLib.SpawnFlags.SEARCH_PATH, None, None)