程序关闭后如何保持gnome-terminal打开?

我有以下快捷方式打开SSH实例。 如何修改它以便在SSH关闭时终端保持打开状态?

[Desktop Entry] Terminal=true Type=Application Name[en_US]=ssh Icon=/logo_sprite.png Exec=gnome-terminal --geometry=... --window-with-profile=... --title=... -e 'bash -c "ssh -t -i ~/dsa.key cle@12.210.9.17 sudo -s"' 

1.第一个选项:编辑gnome-terminal设置

gnome-terminal ,转到首选项,“标题和命令”选项卡。 然后单击下拉列表“当命令完成时”,选择“保持终端打开”。

在此处输入图像描述

2.如果您不想对所有终端产生影响

您可以将bash添加为最后一个命令。 在我的测试中,

 Exec=gnome-terminal -e 'bash -c "gedit; echo Monkey; bash"' 

做了这个工作。 在您的命令中,您可能需要这样做:

 Exec=gnome-terminal --geometry=... --window-with-profile=... --title=... -e 'bash -c "ssh -t -i ~/dsa.key cle@12.210.9.17 sudo -s; bash"' 

3.保持终端打开,直到按Enter键

另一种选择是在命令末尾放置read line 。 在这种情况下,终端将保持打开状态,直到您按Enter键

从我的测试:

 Exec=gnome-terminal -e 'bash -c "gedit; echo Monkey; read line"' 

或者在你的命令中:

 Exec=gnome-terminal --geometry=... --window-with-profile=... --title=... -e 'bash -c "ssh -t -i ~/dsa.key cle@12.210.9.17 sudo -s; read line"' 

笔记

  • 请注意,这个启动器将在Unity启动器中从gnome-terminal自己的应用程序启动器“钢化”其他窗口,因为此启动器在其“main”命令中调用gnome-terminal 。 清理程序将添加命令作为现有gnome-terminal启动程序(或您喜欢的任何其他启动程序)的快捷方式。
  • 由于启动器中的命令已经调用了gnome-terminal ,因此您不需要设置Terminal=true

我用这段代码玩了几分钟。 我想我找到了解决方案。 这是我的(在细节方面有点过于简化)代码:

 [Desktop Entry] Terminal=true Type=Application Name[en_US]=ssh Exec=gnome-terminal -e 'bash -c "ssh"' && gnome-terminal --geometry=... --window-with-profile=... --title=... -e 'bash' 

希望这可以帮助!

我刚刚使用&&命令添加了一行代码,使用raw bash执行gnome-terminal。

编辑:我刚认识有人已经解决了!! 哎呀!

您可以通过在命令末尾添加’$ SHELL’变量来完成此操作。 请参阅以下Exec = ….行中的示例。

 [Desktop Entry] Type=Application Terminal=true Name=MDS Control Icon=utilities-terminal Exec=gnome-terminal -e "bash -c 'Your command;$SHELL'" Categories=Application; Name[en_US]=MDS-Control