程序关闭后如何保持 gnome 终端打开?

Ros*_*nko 13 command-line gnome-terminal .desktop

我有以下打开 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"'
Run Code Online (Sandbox Code Playgroud)

Jac*_*ijm 14

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

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

在此处输入图片说明


2.如果你不想对所有终端都有影响

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

Exec=gnome-terminal -e 'bash -c "gedit; echo Monkey; bash"'
Run Code Online (Sandbox Code Playgroud)

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

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


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

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

从我的测试:

Exec=gnome-terminal -e 'bash -c "gedit; echo Monkey; read line"'
Run Code Online (Sandbox Code Playgroud)

或者在您的命令中可能:

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"'
Run Code Online (Sandbox Code Playgroud)

笔记

  • 请注意,此启动器将gnome-terminal在 Unity 启动器中从自己的应用程序启动器“控制”可能的其他窗口,因为此启动器调用gnome-terminal其“主”命令。更简洁的方法是将命令添加为现有gnome-terminal启动器(或您喜欢的任何其他启动器)的快捷方式。
  • 由于启动器中的命令已经调用gnome-terminal,您不需要设置Terminal=true.


小智 5

您只需在命令末尾添加“$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
Run Code Online (Sandbox Code Playgroud)