我创建了一个非常简单的脚本,显示了一个gtkdialog,并允许您选择运行其他两个脚本中的一个来设置Dock。但是当您单击按钮时,它不会关闭脚本。在它做了之后如何让它退出?
这是脚本:
#!/bin/bash
GTKDIALOG=gtkdialog
export MAIN_DIALOG='
<window title="Dock Selector" icon-name="gtk-about" resizable="true" width-request="310" height-request="310">
<vbox>
<hbox space-fill="true" space-expand="true">
<button>
<label>Deluxe (lots of eye candy, higher cpu usage)</label>
<action>switch-cairo && exit 1</action>
</button>
</hbox>
<hbox space-fill="true" space-expand="true">
<button>
<label>Light (low cpu usage)</label>
<action>switch-ocd && exit 1</action>
</button>
</hbox>
</vbox>
</window>
'
case $1 in
-d | --dump) echo "$MAIN_DIALOG" ;;
*) $GTKDIALOG --program=MAIN_DIALOG --center ;;
esac
以下是其中的一个脚本:
#!/bin/sh
killall -9 ocd-Dock
killall -9 cairo-dock
cairo-dock -o
sed -i 's/cairo-dock -o/ocd-Dock/g' /usr/bin/autostart
exit
编辑:Yup,put&amp;最后固定它。干杯!
答案 0 :(得分:0)
您需要在后台启动其他脚本。你的主脚本等待它退出,但由于某种原因它没有......
您可以使用&#34;&amp;&#34;来完成此操作(如评论中已经提到的那样)。在你的命令之后,像这样
*) $GTKDIALOG --program=MAIN_DIALOG --center & ;;
答案 1 :(得分:0)
看起来GTK或cairo dock的对话框正在控制,使用&#34;&amp;&#34;在后台运行它们。并且控件应该返回到您的脚本,这应该可以解决您的问题。