Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Запуск невидимого скрипта  (Прочитано 3679 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн zhenya0007

  • Автор темы
  • Активист
  • *
  • Сообщений: 763
    • Просмотр профиля
Запуск невидимого скрипта
« : 12 Октября 2009, 19:52:19 »
Такой вопрос у меня автоматически запускаются скрипты.


В некоторых нужен пароль для исполнения.

1.Как сделать так, что-бы пароль для выполнения скриптов подставлялся автоматически ?
2.Как сделать, так, что-бы не было видно окна терминала при исполнении скрипта ?

Оффлайн aliftin

  • Старожил
  • *
  • Сообщений: 1398
    • Просмотр профиля
Re: Запуск невидимого скрипта
« Ответ #1 : 12 Октября 2009, 20:00:42 »
По подробней с первым. Запускаются при старте или потом. Если при старте, то проще добавить его в rc. Если потом, то нужно смотреть что делает скрипт. Что бы запустить с терминалом делаем так:

gnome-terminal -x ./script
В итоге откроется окно с запущеным скриптом.
Если мы не можем до чего то дотянуться, мы виним в этом не свой рост, не отсутствие табуретки, а свою цель.

Оффлайн zhenya0007

  • Автор темы
  • Активист
  • *
  • Сообщений: 763
    • Просмотр профиля
Re: Запуск невидимого скрипта
« Ответ #2 : 12 Октября 2009, 20:33:26 »
По подробней с первым. Запускаются при старте или потом. Если при старте, то проще добавить его в rc. Если потом, то нужно смотреть что делает скрипт. Что бы запустить с терминалом делаем так:

gnome-terminal -x ./script
В итоге откроется окно с запущеным скриптом.

Не немного не то, я знаю, как запускать скрипты. Просто я хочу что-бы они выполнялись сами по себе, но окно терминальное не открывалось.

Скрипты я запускаю по ХОТ-КЕЙ, т.е. я например нажал клавишу хот-кей,  на которой  подвешен скрипт, а он сам выполнил, что нужно, но при этом окно теринальное не показалось.


И еще у меня в скриптах есть команда SUDO которая требует пароль, который следует вводить, как сделать, так что бы в скрипты автоматически вводился пароль и вобще их небыло видно простому пользователю в GUI.
« Последнее редактирование: 12 Октября 2009, 20:36:28 от zhenya0007 »

Оффлайн Svertal

  • Активист
  • *
  • Сообщений: 893
  • КиберПанк
    • Просмотр профиля
Re: Запуск невидимого скрипта
« Ответ #3 : 13 Октября 2009, 02:56:47 »
Повесить на cron от рута?

aleman

  • Гость
Re: Запуск невидимого скрипта
« Ответ #4 : 13 Октября 2009, 04:55:19 »
Кстати да.. тут тоже задался вопросом можно ли заранее в SUDO пароль указать в скрипте?

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Запуск невидимого скрипта
« Ответ #5 : 13 Октября 2009, 08:19:22 »
Никогда не проверял, но должно пойти.
Использовать конструкцию "документ здесь".
Есть один большой минус: пароль будет виден в файле скрипта, если кто захочет посмотреть. А это уже серьезный недостаток.

Пользователь решил продолжить мысль 13 Октября 2009, 06:28:26:
На всякий случай напомню механизм "документ здесь"
команда_требующая_ввода << контрольное_слово
строка1
...
строкаN
контрольное_слово

Пользователь решил продолжить мысль 13 Октября 2009, 08:39:17:
Может лучше ввод брать из файла. Но минус все равно остается.
« Последнее редактирование: 13 Октября 2009, 08:39:17 от alexander.pronin »

Оффлайн sciko

  • Активист
  • *
  • Сообщений: 854
    • Просмотр профиля
Re: Запуск невидимого скрипта
« Ответ #6 : 13 Октября 2009, 09:24:21 »
2.Как сделать, так, что-бы не было видно окна терминала при исполнении скрипта ?
Читать про запуск скриптов в бекграунде (& или bg).
Кстати да.. тут тоже задался вопросом можно ли заранее в SUDO пароль указать в скрипте?
man sudoers

Оффлайн Лжедмитрий

  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Запуск невидимого скрипта
« Ответ #7 : 13 Октября 2009, 11:21:11 »
crontab

Пользователь решил продолжить мысль 13 Октября 2009, 11:21:46:
еще есть atd
И inotify

Оффлайн _spot_

  • Любитель
  • *
  • Сообщений: 79
    • Просмотр профиля
Re: Запуск невидимого скрипта
« Ответ #8 : 13 Октября 2009, 19:37:59 »
Кстати да.. тут тоже задался вопросом можно ли заранее в SUDO пароль указать в скрипте?
А чем вам visudo не угодил? можно выставить права на конкретный скрипт что бы не просил пароль sudo.
Добавить строчку. Добавляю себе (spot) право на исполнение скрипта.
%spot ALL=NOPASSWD: /путь/к/скриптуСделайте скрипт исполняемым.
Запускайте скрит через sudo, а внутри скрипта sudo удалите.

Я так себе сделал скрипт на хоткей : скачивание программы, распаковка и копирование в нужное место. А так же пару скриптов на shutdown.

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Запуск невидимого скрипта
« Ответ #9 : 14 Октября 2009, 08:38:17 »
Автору: _spot_
Очень интересно.
Если не трудно, распишите по пунктам (типа how to).
Задача - что, где сделать-поправить, результат манипуляций.
Люди оценят и будут благодарны Вам.

Оффлайн _spot_

  • Любитель
  • *
  • Сообщений: 79
    • Просмотр профиля
Re: Запуск невидимого скрипта
« Ответ #10 : 14 Октября 2009, 17:55:26 »
Ну, мысль не моя, научился в теме про Пульт ДУ для ТВ тюнеров.
How-to писать не умею, по пунктам распишу:
1. Имеем скрипт, например такой: /usr/etc/shutdown30, внутри которого команда тапа shutdown -P +30.(отключение компьютера через пол часа).
 Исполнение такой команды, как мы знаем, требует прав sudo и пароля. (внутри скрипта sudo не использую)
2. Правим sudoers командой  sudo visudo. В конце файла добовляем строчку
%spot ALL=NOPASSWD:  /usr/etc/shutdown30 где, spot это пользователь под которым вы сидите.(В оригинеле было написано ALL, но так у меня не заработало)
3. Делаем скрипт исполняемым и даем права на исполнение
sudo chmod +x /usr/etc/shutdown304.a. Идем в Система > Параметры > Комбинации клавиш клавиатуры. Жмем кнопку Добавить. Даем любое имя, в поле Команда пишем путь к скрипту вместе с sudo
sudo /usr/etc/shutdown30Сохраняем, после чего назначаем этому действию комбинацию кнопок.
4.б. Если надо автозапуск скрипта при старте системы идем Система > Параметры > Запускаемые приложения. Жмем Добавить, даем имя, команду пишем  sudo /usr/etc/shutdown305. Всё.

зы. Результат: При нажатии комбинации будет исполняться скрипт, в фоновом режиме. Но смотря что вы в нем напишите =)

Знающим людям:
Если что-то у меня сделано через "одно место" поправте, буду благодарен. Пользуюсь ubuntu всего месяц, многого не понимаю :D

Я например пользуюсь tvtime для просмотре тв. И использую  программу передач для него в формате xmltv.
Неудобно каждую неделю качать программу, распоковывать и класть в нужную папку. Написал скрипт
#!/bin/bash
wget http://www.teleguide.info/download/new3/xmltv.xml.gz
gzip -d xmltv.xml.gz
mv /home/spot/xmltv.xml /home/spot/.tvtime
exit 0
Повесил его на хоткей. Теперь в понедельник нажав 1 кнопку получаю новую программу передач. При этом ни терминал ничего не вылазиет, все в фоновом режиме.
« Последнее редактирование: 14 Октября 2009, 18:18:27 от _spot_ »

Оффлайн zhenya0007

  • Автор темы
  • Активист
  • *
  • Сообщений: 763
    • Просмотр профиля
Re: Запуск невидимого скрипта
« Ответ #11 : 14 Октября 2009, 21:03:05 »
Ну, мысль не моя, научился в теме про Пульт ДУ для ТВ тюнеров.
How-to писать не умею, по пунктам распишу:
1. Имеем скрипт, например такой: /usr/etc/shutdown30, внутри которого команда тапа shutdown -P +30.(отключение компьютера через пол часа).
 Исполнение такой команды, как мы знаем, требует прав sudo и пароля. (внутри скрипта sudo не использую)
2. Правим sudoers командой  sudo visudo. В конце файла добовляем строчку
%spot ALL=NOPASSWD:  /usr/etc/shutdown30 где, spot это пользователь под которым вы сидите.(В оригинеле было написано ALL, но так у меня не заработало)
3. Делаем скрипт исполняемым и даем права на исполнение
sudo chmod +x /usr/etc/shutdown304.a. Идем в Система > Параметры > Комбинации клавиш клавиатуры. Жмем кнопку Добавить. Даем любое имя, в поле Команда пишем путь к скрипту вместе с sudo
sudo /usr/etc/shutdown30Сохраняем, после чего назначаем этому действию комбинацию кнопок.
4.б. Если надо автозапуск скрипта при старте системы идем Система > Параметры > Запускаемые приложения. Жмем Добавить, даем имя, команду пишем  sudo /usr/etc/shutdown305. Всё.

зы. Результат: При нажатии комбинации будет исполняться скрипт, в фоновом режиме. Но смотря что вы в нем напишите =)

Знающим людям:
Если что-то у меня сделано через "одно место" поправте, буду благодарен. Пользуюсь ubuntu всего месяц, многого не понимаю :D

Я например пользуюсь tvtime для просмотре тв. И использую  программу передач для него в формате xmltv.
Неудобно каждую неделю качать программу, распоковывать и класть в нужную папку. Написал скрипт
#!/bin/bash
wget http://www.teleguide.info/download/new3/xmltv.xml.gz
gzip -d xmltv.xml.gz
mv /home/spot/xmltv.xml /home/spot/.tvtime
exit 0
Повесил его на хоткей. Теперь в понедельник нажав 1 кнопку получаю новую программу передач. При этом ни терминал ничего не вылазиет, все в фоновом режиме.

СПОТ РЕСПЕКТ ТЕБЕ, ВСЕ ЗАРАБОТАЛО. Помог мне и другим людям !!! ТО ЧТО НУЖНО БЫЛО !!!!

Пользователь решил продолжить мысль 14 Октября 2009, 21:08:23:
Так возник следующий вопрос у меня в скрипте, есть 2 программы, которые запускаются по очереди, только когда завершится первая,  как сделать, так, чтобы в скрипте они запускаились паралельно ?
« Последнее редактирование: 14 Октября 2009, 21:08:23 от zhenya0007 »

Оффлайн _spot_

  • Любитель
  • *
  • Сообщений: 79
    • Просмотр профиля
Re: Запуск невидимого скрипта
« Ответ #12 : 14 Октября 2009, 22:37:40 »
СПОТ РЕСПЕКТ ТЕБЕ, ВСЕ ЗАРАБОТАЛО. Помог мне и другим людям !!! ТО ЧТО НУЖНО БЫЛО !!!!

Пользователь решил продолжить мысль 14 Октября 2009, 21:08:23:
Так возник следующий вопрос у меня в скрипте, есть 2 программы, которые запускаются по очереди, только когда завершится первая,  как сделать, так, чтобы в скрипте они запускаились паралельно ?

Ох нелюблю советы давать когда точно не знаю как правильно, но попробовал и с первого раза получилось.
Например запустить tvtime и opera сразу вместе. Так:
#!/bin/bash
tvtime &
opera
exit 0
А лучше почитайте книжки про скрипты =)

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Запуск невидимого скрипта
« Ответ #13 : 15 Октября 2009, 08:21:02 »
Спот, МАЛАДЦА!

Пользователь решил продолжить мысль 15 Октября 2009, 06:24:55:
Так возник следующий вопрос у меня в скрипте, есть 2 программы, которые запускаются по очереди, только когда завершится первая,  как сделать, так, чтобы в скрипте они запускаились паралельно ?
команда1 && команда2

Пользователь решил продолжить мысль 15 Октября 2009, 08:37:33:
Чуть не обманул.
команда1 & команда2
Это запуск команда1 в фоновом режиме.
А с 2мя && такая логика: команда2 не выполнится, если удачно не закончится  команда1.
« Последнее редактирование: 15 Октября 2009, 08:37:33 от alexander.pronin »

Оффлайн zhenya0007

  • Автор темы
  • Активист
  • *
  • Сообщений: 763
    • Просмотр профиля
Re: Запуск невидимого скрипта
« Ответ #14 : 15 Октября 2009, 21:45:31 »
А вот недавно сделал скрипт, все работало, по инструкциям.


Решил недавно в скрипте прописать запуск Windows приложений, через Wine
Wine вот, что пишет

"wine: /home/zhenya/.wine is not owned by you"   при запуске  sudo bash имя скрипта.


, хотя он внесен в sudoers.tmp.
А если не использовать sudo, то например команда mount  просит пароль, а так не просит пароль.

Получается либо запуск одного либо другого, как теперь поступить ?


Такое впечатление, что если использовать инструкцию по запуску скриптов без пароля, то запускаются все рутовые команды без пароля, но , если программы принадлежат другим пользователям, то будут писать вот этот бред "wine: /home/zhenya/.wine is not owned by you" ?
« Последнее редактирование: 15 Октября 2009, 21:48:13 от zhenya0007 »

 

Страница сгенерирована за 0.064 секунд. Запросов: 23.