Как написать скрипт, который будет запускать и останавливать xampp

Я пытаюсь написать сценарий, который включит xampp start и xampp stop с одним и тем же сценарием без необходимости писать в терминале каждый раз.

Чтобы начать xampp, я пишу в консоли:

sudo /opt/lampp/lampp start sudo /opt/lampp/lampp stop

Как сделать исполняемый скрипт, который позволяет xampp запускаться и останавливаться одновременно при двойном щелкнул? Любая идея всегда приветствуется.

2
задан 3 March 2014 в 19:34

2 ответа

Можно использовать сценарий как это,

#!/bin/bash
#checks if the process is already running or not
ps ax | grep "/opt/lampp/lamp[p]" > /dev/null
#if the process is running exit status $?=0 
if [ $? -eq 0 ]; then
#interactively states the running status of the process and asks permission to
#proceed in a zenity pop-up box
    zenity --question --text="Process is running. select \"yes\" to stop"
    if [ $? -eq 0 ]; then
#stop the running process on approval
    sudo /opt/lampp/lampp stop
    else
        exit 0
    fi
else
#interactively states the running status of the process and asks permission to
#proceed in a zenity pop-up box
    zenity --question --text="Process is not running. select \"yes\" to start"
    if [ $? -eq 0 ]; then
#starts the process on approval
        sudo /opt/lampp/lampp start
    else
        exit 0
    fi
fi

Сохраняют сценарий. Дайте ему разрешение выполнения,

chmod +x <script_name>

Это должно дать Вам Run опция при двойном щелчке по нему. При необходимости чтобы можно было сделать .desktop файл для выполнения его.

Примечание: См. этот ответ для выполнения sudo /opt/lampp/lampp без пароля.

0
ответ дан 3 March 2014 в 19:34

Необходимо будет сделать 2 вещи получить то, что Вы хотите:

1) Создают простой сценарий удара для запуска lampp

, я записал его для Вас! Это запускается lampp, если это не запускается и останавливает его, если это уже запускается:

#!/bin/bash                                           ##This is a bash script

                                                      ##PREREQUISITES
if [[ ! -f /tmp/lampp-startstop ]] ; then             # if temp file doesn't exist
 echo 0 > /tmp/lampp-startstop 2>&1                   # create it and write 0 in it
fi

                                                      ##IF NOT RUNNING
if [ "`cat /tmp/lampp-startstop`" == "0" ] ; then     # if temp file contains 0
 sudo /opt/lampp/lampp start                          # start lampp
 echo 1 > /tmp/lampp-startstop 2>&1                   # write 1 in the temp file
 notify-send "Lampp" "Program started." -i xampp      # send a notification
 exit 0                                               # and exit
fi

                                                      ##IF RUNNING
if [ "`cat /tmp/lampp-startstop`" == "1" ] ; then     # if temp file contains 1
 sudo /opt/lampp/lampp stop                           # stop lampp
 echo 0 > /tmp/lampp-startstop 2>&1                   # write 0 in the temp file
 notify-send "Lampp" "Program stopped." -i xampp      # send a notification
 exit 0                                               # and exit
fi

2) Создают ярлык , который запустит тот сценарий (на Рабочем столе, например):

  • А Создают .desktop файл на Рабочем столе:

    gedit ~/Desktop/Lampp.desktop 
    
  • B) Вводят следующее в него:

    [Desktop Entry]
    Name=Lampp
    Comment=Start/Stop Lampp
    Exec=gksu bash /PATH/TO/THE/SCRIPT
    Icon=PATH/TO/THE/ICON
    Terminal=false
    Type=Application
    

    => Remplace два/PATH/TO/THE/... чем-то. Значки хранятся в /usr/share/icons/, и хорошее место для сценария было бы в Вашей ДОМАШНЕЙ папке, возможно, скрытый (скройтесь путем добавления . в начале его имени).

  • C) Делают его исполняемым файлом:

    sudo chmod +x ~/Desktop/Lampp.desktop
    
<час>

Примечание: сценарий не действительно проверка, если lampp работает, это использует временный файл (исчезает в перезагрузке), содержащий 1, если Вы использовали сценарий однажды (значение, что это запускается), и 0, если Вы не использовали сценарий (значение, что это не запускается). Что это означает? То, что необходимо только использовать этот сценарий, если Вы хотите вещи работать: не запускайте lampp без этого сценария, и Вы будете в порядке.

Примечание: необходимо будет ввести пароль для запуска ярлыка. Вы могли обойти это, но это не было Вашим вопросом, таким образом, я не объясню это здесь.

0
ответ дан 3 March 2014 в 19:34

Другие вопросы по тегам:

Похожие вопросы: