如何在 ubuntu 10.04 上的 gedit 嵌入式终端中自动运行"/bin/bash --login"?



背景:我将RVM更新到最新版本和.rvmrc,这样我就可以指导RVM使用项目特定的gemset。但现在它要求bash shell是一个登录shell。所以我通过ubuntu终端的编辑|偏好来完成。这非常好。

然而,gedit的嵌入式终端仍然不是"作为登录shell运行命令"。但我可以通过在gedit的嵌入式终端启动后键入"/bin/bash-login"来解决这个问题。

这是一个不错的解决方法,但我觉得必须有一种方法可以自动做到这一点。

我试着在~/.bashrc文件的末尾添加以下变体,效果不错,但我必须ctrl-c才能返回提示模式。另一个副作用是,普通终端现在也需要我点击ctrl-C才能返回提示模式。

/bin/bash -l -i

我如何告诉~/.bashrc文件执行该命令并返回到提示模式而不每次都按ctrl-C?或者任何其他方式来实现这一目标。

提前谢谢。

p.s.我也在askubuntu 上发帖

https://askubuntu.com/questions/226694/how-to-change-gedit-embedded-terminal-to-be-run-command-as-login-shell

将其添加到您的bashrc脚本中:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

为我工作。

(您仍然需要:PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting

希望它能帮助

终端插件是用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)

相关内容

  • 没有找到相关文章

最新更新