执行终端应用程序的命令后,bash
窗口将关闭。当终端通过像键绑定(例如在i3wm
/中i3
)这样的自动功能打开或通过脚本调用时,可能会发生这种情况。
例如,假设我想为xprop
(显示 的终端应用程序window id
)创建一个键绑定。在i3wm
(又名i3
)中,这通常是通过以下方式完成的:
bindsym $mod+F8 exec i3-sensible-terminal -e 'xprop'
但是,我无法读取输出,因为执行命令并指示/单击所需窗口后,终端窗口立即关闭。
答案1
使用:
bash -c '<YOUR-DESIRED-COMMAND> & read line'
如果是i3 按键绑定这翻译为:
bindsym $mod+F8 exec i3-sensible-terminal -e bash -c 'xprop & read line'
还– 有点解决方法– 也可以是:
bindsym $mod+F8 exec i3-sensible-terminal -e bash -c 'xprop & sleep 60'
终端保持唤醒状态 –通过睡觉(o;– 使用& sleep 60
命令持续 60 秒。
答案2
你可以直接链接bash
到末端。这有效:
bindsym $mod+z exec --no-startup-id i3-sensible-terminal -e "bash -c 'xprop && bash'"