我可以使启动器快捷方式根据条件执行不同的操作

我想做的事情很容易理解。

我希望相同的启动器快捷方式就像一个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=行(请注意,这将破坏任何具有右键菜单的启动器)