我制作了一个 .desktop 文件来编译和执行一个 c++ 文件,但是运行该文件后终端(lxterminal - lubuntu)没有保持。
尽管我在 .desktop 文件属性上确实标记了“执行命令后保持终端窗口打开。”!
我正在使用 Lubuntu 16.04.1 LXDE 桌面环境。
答案1
您可以通过 shellscript 运行命令。(也许您已经这样做了。)并在 shellscript 末尾添加一行,例如:
read -p "Press Enter to close this window"
然后您可以滚动窗口并检查命令的输出,然后按 Enter 退出终端窗口。
我不知道为什么第一种方法不起作用。也许你的脚本或它调用的某个程序正在发送一个信号,该信号会立即完成脚本(而不会到达最后一条语句)。你可以尝试修复它,但也许在终端窗口(经过调整以看起来更好并且带有-hold
选项。
请比较这两个命令行的工作方式:
xterm -e cat ~/.bashrc
xterm -hold -e cat ~/.bashrc
您可以调整 xterm 窗口以使其看起来更好,例如像这样
xterm -title "Click x in the top right corner to close me" -fa default -fs 10 -bg '#2b2c2b' -fg '#f0f0f0' -sb -rightbar -hold -e cat ~/.bashrc
在 xterm 命令行中将脚本名称放在 -e 后面,或者以交互模式(使用 hold 功能)启动 xterm,然后在 xterm 中启动脚本。
答案2
我不知道这是否适合你的用例,但你可以yourCommand; read -n 1 -s
输入执行官你的线。桌面文件,导致终端等待一个字符的输入(默默地,不将其回显到标准输出)。
你应该以这样的方式结束:
Exec=lxterminal -e "/path/to/yourCommand; read -n 1 -s"
也可以使用&&
或||
根据您的应用程序退出值/代码,仅当执行成功时才等待,例如:
Exec=lxterminal -e "/path/to/yourCommand && read -n 1 -s"
希望能帮助到你。
答案3
你可以使用这个
lxterminal -e bash -c 'top; bash'
只需用您的命令替换“top”即可。