程序关闭后如何保持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