我可以使启动器快捷方式根据条件执行不同的操作
我想做的事情很容易理解。
我希望相同的启动器快捷方式就像一个ON / OFF开关一样。
就像假设我已经用命令gksudo /opt/lampp/lampp start
这适用于启动灯泡。 现在,我想要做的是,如果LAMPP没有打开,启动器应该执行上面的命令并启动lampp.While如果lampp打开,我想要执行命令gksudo /opt/lampp/lampp stop
and stop lampp 。
我希望这两个命令由同一个启动器执行,其中要执行的命令是根据条件决定的(上例中LAMPP为ON或OFF)
我可以这样做吗? 如何?
我想编写一个bash脚本,然后让启动器执行bash脚本就可以了。但那我怎么检查天气灯开关了?
我注意到lampp启动proftpd
所以我们可以修改一个检查正在运行的服务的scirpt,如果该服务正在运行那么它将停止灯泡,我从这里修改了脚本 – http://www.anyexample.com/linux_bsd/bash /check_if_program_is_running_with_bash_shell_script.xml
首先制作一个空文本文件,或打开gedit,然后粘贴此代码 –
#!/bin/sh SERVICE='proftpd' if ps ax | grep -v grep | grep $SERVICE > /dev/null then gksudo /opt/lampp/lampp stop && notify-send -i /opt/lampp/htdocs/xampp/img/logo-small.gif "XAMPP stopped." else gksudo /opt/lampp/lampp start && notify-send -i /opt/lampp/htdocs/xampp/img/logo-small.gif "XAMPP started." fi
这也应该发送它开始和停止的通知。
将文件保存为lampp.sh
并使其可执行 – 右键单击=>属性=>权限=>允许执行文件作为程序。
现在使用您最喜欢的方法使用脚本制作启动器 , 如何在桌面上创建启动器?
或者我制作了一个包含图标的图标 –
将lampp.sh
放在/usr/local/bin
创建一个名为Lampp.desktop
的文件并将Lampp.desktop
粘贴到其中 –
[Desktop Entry] Version=1.0 Type=Application Name=Lampp Comment= Exec=/usr/local/bin/lampp.sh Icon=/opt/lampp/htdocs/xampp/img/logo-small.gif Path= Terminal=false StartupNotify=true GenericName=
或者如果你想要,你可以为不同的function制作一个右键单击列表,以实现启动和停止function,而无需脚本 –
[Desktop Entry] Version=1.0 Type=Application Name=Lampp Comment= Exec=gksudo lampp Icon=/opt/lampp/htdocs/xampp/img/logo-small.gif Path=/opt/lampp Terminal=false StartupNotify=true GenericName= X-Ayatana-Desktop-Shortcuts=NewWindow;Start;Stop;Restart;Security [Start Shortcut Group] Name=Start Exec=start TargetEnvironment=Unity [Stop Shortcut Group] Name=Stop Exec=stop TargetEnvironment=Unity [Restart Shortcut Group] Name=Restart Exec=restart TargetEnvironment=Unity [Security Shortcut Group] Name=Security Exec=security TargetEnvironment=Unity
所以使用其中一个,玩得开心。
我还发现他们为该程序编写了一个控制面板 –
gksudo /opt/lampp/share/xampp-control-panel/xampp-control-panel.py
我想用其他程序尝试这个,你可以制作脚本来检查它们是否正在运行并将它们杀死它们(警告可能会松动工作,但对于冻结的程序会很好)比如说,例如conky
或任何其他程序。
#!/bin/sh SERVICE='conky' if ps ax | grep -v grep | grep $SERVICE > /dev/null then killall conky else conky fi
保存为conky.sh放入/usr/local/bin
接下来是困难的部分,你需要找到conky.desktop文件,所以在终端类型中locate conky.desktop
然后导航到该文件夹并在gedit中编辑桌面文件(或者你最喜欢的编辑器,根据它的位置可能需要特权)并用Exec=/usr/local/bin/conky.sh
替换Exec=
行(请注意,这将破坏任何具有右键菜单的启动器)