Запустить скрипт оболочки из панели запуска с правами root

У меня есть сценарий оболочки, который запускает приложение с графическим интерфейсом в Ubuntu 12.04.

В настоящее время я запускаю приложение так, что я открываю терминал и захожу в каталог, содержащий этот файл, а затем выполняю sudo ./shellScriptFileName, который работает нормально, однако у меня есть две проблемы, одна из которых заключается в много времени , поэтому я бы хотел добавить ярлык в панель запуска , во-вторых, терминал должен оставаться открытым, что является проблемой (надеюсь, это не будет проблемой после того, как я смогу запустить это из панели запуска.

Пояснение: я хотел бы закрыть терминал, когда мое приложение начнет работать.

3
задан 18 May 2012 в 07:50

3 ответа

Вот шаги:

1. Создание интерактивного сценария вызывающей стороны

Так как Вы хотите выполниться, сценарий и затем иметь терминал остаются в интерактивном режиме, мы должны использовать специальный сценарий вызывающей стороны, который в свою очередь требует expect. Мы примем сценарий, который Вы хотите выполнить, назван test.sh

  • Установка expect с sudo apt-get -y install expect
  • Создайте сценарий вызывающей стороны с этим форматом:

    #!/usr/bin/expect -f 
    
    spawn -noecho bash           # create a shell
    expect "$ "                  # wait for prompt
    send "cd /path to script\n"  # your script directory
    send "./test.sh\n"           # your script name
    interact                     # switch to interactive mode
    
  • Сделайте сценарий вызывающей стороны, скажите call_test.sh, исполняемый файл с

    sudo chmod +x /path/to/call_test.sh

2. Создание средства запуска

  • Пресса Alt+F2, и введите gksudo gedit /usr/share/applications/TestSH.desktop, где TestSH - то, что Вы хотите назвать своим значком средства запуска.
  • Файл имеет следующую форму:

    [Desktop Entry]
    Version=1.0          # your script version
    Type=Application
    Terminal=true        # you want a terminal, so...
    StartupNotify=true
    Icon=                # can be a built-in (/usr/share/icons)
                     # or a custom file, SVG or PNG
    Name=TestSH          # Whatever you want to call it
    Comment=           # description
    Exec=/path/to/call-test.sh # Path to caller script
    Categories=Application;
    
  • Наконец, удостоверьтесь, что фактический сценарий является исполняемым файлом, с sudo chmod +x /path/to/test.sh

  • Закройте редактора и ищите "TestSH" (название сценария) в HUD; Вы будете видеть значок, на который можно нажать и также перетащить к средству запуска или рабочему столу для добавления его там.
2
ответ дан 18 May 2012 в 07:50

Похоже, что вы еще не решили эту проблему. Посещали ли вы ссылку «как», которую я указал в комментарии выше? Click Me

Если вы убедитесь, что эту проблему нужно решить несколькими способами, круто и приятно. Проще говоря, я бы порекомендовал «фиктивный» способ заставить его работать на вас.

  1. Откройте терминал и введите sudo apt-get install gnome-panel
  2. Когда установка будет завершена, введите gnome-desktop-item-edit --create-new ~/Desktop, эта команда отобразит всплывающее диалоговое окно «Создать панель запуска», показанное ниже [ 113] enter image description here

    настроить ваши параметры (Имя, Команда, Значок и т. Д.)

  3. После шага 2 вы получите ярлык (на самом деле он называется * .desktop, зависит от ваших настроек), не стесняйтесь помещать его в любую папку, которую вы хотите, а затем перетащите ее в панель запуска.

Вот и все, наслаждайтесь вашим новым запеченным ярлыком :-), надеюсь, это поможет.

0
ответ дан 18 May 2012 в 07:50

Создание терминала после этого не очень гладкий процесс, но я предлагаю следующее:

Создайте новый скрипт со следующим содержимым: gksudo /path/to/shell/script и сохраните его на рабочем столе. Добавьте терминал в панель запуска. Чтобы открыть программу, откройте терминал из панели запуска и щелкните сценарий с рабочего стола на терминал.

Или, если вам не нужно открывать терминал после завершения программы, создайте скрипт, как указано выше, сохраните его в любом каталоге и следуйте этому руководству, чтобы превратить его в значок запуска: http: //ubuntuforums.org/showthread.php?t=1700605

Я бы хотел, чтобы этот процесс был более плавным, но, эй, вот почему я использую Kubuntu ...

0
ответ дан 18 May 2012 в 07:50

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

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