如何自动运行"/bin/bash——登录";在Ubuntu10.04上的gedit嵌入终端中自动执行?

如何自动运行"/bin/bash——登录";在Ubuntu10.04上的gedit嵌入终端中自动执行?,bash,ubuntu,terminal,gedit,Bash,Ubuntu,Terminal,Gedit,背景:我将RVM更新为最新版本和.rvmrc,以便指导RVM使用特定于项目的gemset。但是现在它要求bash shell是一个登录shell。因此,我通过ubuntu终端的编辑首选项实现了这一点。那很好用 然而,gedit的嵌入式终端仍然不是“作为登录shell运行命令”。但我可以通过在gedit的嵌入式终端启动后键入“/bin/bash--login”来解决这个问题 这是一个不错的解决办法,但我觉得有一种方法可以自动做到这一点 我尝试将以下变体添加到~/.bashrc文件的末尾,效果不错,

背景:我将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、 我也在askubuntu上发布了


终端插件是用Python编写的,因此您可以尝试对其进行自定义。请注意,如果直接编辑已安装的文件,则在更新软件包时,所做的更改将被覆盖

在“/usr/lib/gedit/plugins/terminal.py”文件的第90行附近,您会发现一行如下所示:
self.\u vte.fork\u command\u full(vte.PtyFlags.DEFAULT,无,[vte.get\u user\u shell()],无,GLib.spawnlags.SEARCH\u PATH,无,无)

将参数添加到列表中的shell:
self.\u vte.fork\u command\u full(vte.PtyFlags.DEFAULT,None,[vte.get\u user\u shell(),“-l”,“-i”],None,GLib.spawnsflags.SEARCH\u PATH,None,None)
终端插件是用Python编写的,因此您可以尝试对其进行自定义。请注意,如果直接编辑已安装的文件,则在更新软件包时,所做的更改将被覆盖

在“/usr/lib/gedit/plugins/terminal.py”文件的第90行附近,您会发现一行如下所示:
self.\u vte.fork\u command\u full(vte.PtyFlags.DEFAULT,无,[vte.get\u user\u shell()],无,GLib.spawnlags.SEARCH\u PATH,无,无)

将参数添加到列表中的shell:
self.\u vte.fork\u command\u full(vte.PtyFlags.DEFAULT,None,[vte.get\u user\u shell(),“-l”,“-i”],None,GLib.spawnsflags.SEARCH\u PATH,None,None)
将此添加到bashrc脚本中:

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

为我工作

(您仍然需要:
PATH=$PATH:$HOME/.rvm/bin#将rvm添加到脚本的路径中


希望它有助于将以下内容添加到您的bashrc脚本中:

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

为我工作

(您仍然需要:
PATH=$PATH:$HOME/.rvm/bin#将rvm添加到脚本的路径中


希望它有帮助

谢谢你的建议。但是,我的ubuntu 10.04没有你的相同文件。它在/usr/lib/gedit-2/plugins中,没有找到与你相同的代码。谢谢你的尝试。伙计们,这种方法也有效,但是@damau建议的效果更好!谢谢你的建议。但是,我的ubuntu 10.04没有你的相同文件。它在/usr/li中b/gedit-2/插件,但没有找到与您相同的代码。感谢您的尝试。伙计们,这种方法也很有效,但@damau建议的效果更好!