如何防止gnome终端在给定命令退出后退出?防止Gnome终端执行后退出
我从cronjob调用gnome-terminal,以便创建一个用户可访问的终端。终端最初被赋予一个特定的程序来运行。例如
gnome-terminal --tab -e "/usr/bin/myprog"
这工作正常,除了当“myprog”退出时,gnome终端也一样。我如何保持它运行,但只是回到终端提示?
如何防止gnome终端在给定命令退出后退出?防止Gnome终端执行后退出
我从cronjob调用gnome-terminal,以便创建一个用户可访问的终端。终端最初被赋予一个特定的程序来运行。例如
gnome-terminal --tab -e "/usr/bin/myprog"
这工作正常,除了当“myprog”退出时,gnome终端也一样。我如何保持它运行,但只是回到终端提示?
试试这个:
gnome-terminal --tab -e "/bin/bash -c '/usr/bin/myprog; exec /bin/bash -i'"
非常简单。谢谢。 – Cerin 2010-12-17 14:30:36
这样创建一个shell脚本:
#!/bin/bash
# myprog-wrapper.sh - runs /usr/bin/myprog and then starts a new bash session
/usr/bin/myprog
/bin/bash
给shell脚本执行权限。
然后设置你的cron作业,改为调用直接调用myprog
这个脚本:
gnome-terminal --tab -e "/path/to/myprog-wrapper.sh"
替换/bin/bash
与您所选择的外壳。
你可以使用xterm或rxvt的Unicode的,而不是GNOME终端,二者均具有用于此目的的-hold
选项。
创建一个配置文件(即保持),设置“当命令退出:按住终端开放”,然后
$ gnome-terminal --tab --profile hold -e /usr/bin/myprog
应该有一些方法可以通过仅通过命令行设置“hold terminal open”选项来创建配置文件。 – 2016-12-03 12:20:49
根据您的gnome终端,您可以使用gconf或gsettings来设置或获取该属性的临时值:'gconftool-2 -g/apps/gnome-terminal/profiles/Profile0/exit_action' – 2016-12-05 16:58:02
同一问题的另一个讨论:http://stackoverflow.com/questions/3512055/avoid-gnome-terminal-close-after-script-execution – 2010-12-16 22:39:17
@Ignacio,这是一个常用术语。谷歌显示了超过10万个结果... – Cerin 2010-12-28 21:29:39
@Ignacio,术语“shell”和“终端”通常是同义词。如果你的词汇或技术环境不同,那很好。对困惑感到抱歉。 – Cerin 2010-12-30 19:32:32