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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: запустить программу из скрипта от имени пользователя  (Прочитано 2982 раз)

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

Оффлайн kostryukov

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1588
  • everybody lies
    • Просмотр профиля
    • kostryukov.net
как это сделать ?

есть скрипт. который запускается по крону, как из этого скрипта запустить программу в запущенных Иксах пользователя ?
у меня можно спросить=)

Оффлайн dimas000

  • Старожил
  • *
  • Сообщений: 1437
  • Ubuntu 9.10 @ 2.6.34
    • Просмотр профиля
что-нибудь типа
su -c "DISPLAY=:0 stupid_prog" usernameне покатит?
лучше на "ты"

Оффлайн kostryukov

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1588
  • everybody lies
    • Просмотр профиля
    • kostryukov.net
не получилось
у меня можно спросить=)

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Не понял ничего, но попробую ответить.
Если хотите из скрипта 1 запустить другой скрипт 2, то как обычно.

# запускаем этот скрипт
#!/bin/sh
# скрипт scr1.sh
echo "Это scr1.sh"
./scr2.sh # вызовем другой скрипт

# Это уже совсем другой скрипт
#!/bin/sh
# скрипт - scr2.sh
echo "Это scr2.sh"


Оффлайн truegeek

  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
в crontabe вначале пишем
DISPLAY=:0.0
в задачах
* * * * * user /path/to/prog

или попробовать в задачах сразу
* * * * * user /path/to/prog --display=:0.0

Оффлайн kostryukov

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1588
  • everybody lies
    • Просмотр профиля
    • kostryukov.net
Не понял ничего, но попробую ответить.
спасибо конечно, но я спросил про программу, а не про скрипт.
Пример:

хочу запустить gedit из скрипта, который(скрипт) запускается допустим из крона(или еще откуда, запустил его не пользователь, а "стечение обстаятельств")))

в crontabe вначале пишем
DISPLAY=:0.0
в задачах
* * * * * user /path/to/prog

или попробовать в задачах сразу
* * * * * user /path/to/prog --display=:0.0
спасибо, вот это попробую
у меня можно спросить=)

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: запустить программу из скрипта от имени п
« Ответ #6 : 20 Октября 2010, 16:17:41 »
спасибо конечно, но я спросил про программу, а не про скрипт.
Не вижу разницы, что запускается: скрипт или программа.
В скриптах запускаются и программы (утилиты) и скрипты.
Впрочем как и в программе.
Скрипт тоже можно считать программой. :idiot2:
« Последнее редактирование: 20 Октября 2010, 16:22:03 от alexander.pronin »

Оффлайн kostryukov

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1588
  • everybody lies
    • Просмотр профиля
    • kostryukov.net
спасибо конечно, но я спросил про программу, а не про скрипт.
Не вижу разницы, что запускается: скрипт или программа.
В скриптах запускаются и программы (утилиты) и скрипты.
Впрочем как и в программе.
Скрипт тоже можно считать программой. :idiot2:
я не знаю как по другому объяснить

Пользователь решил продолжить мысль 20 Октября 2010, 19:49:36:
нужно при подключении usb_модема (или при подключении интернета), запустить skype & firefox. каким образом это можно сделать ?

« Последнее редактирование: 20 Октября 2010, 19:49:36 от kostrukov »
у меня можно спросить=)

Оффлайн truegeek

  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
нужно при подключении usb_модема (или при подключении интернета), запустить skype & firefox. каким образом это можно сделать ?
cron, ping, условный оператор
это все, что потребуется

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Необходимо еще сделать блокировку от множественного запуска одинаковых программ.
Иначе будет капут.

Оффлайн truegeek

  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
Необходимо еще сделать блокировку от множественного запуска одинаковых программ.
Иначе будет капут.
это кстати правда, при обрыве и восстановлении соединения действительно такое произойдет.

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: запустить программу из скрипта от имени п
« Ответ #11 : 21 Октября 2010, 08:37:41 »
Я кажется понял о чем спрашивает ТС.
Он хочет возвращать управление из графических программ.

Для примера в скрипте надо запустить gedit и geany, сделайте так.

gedit&geany&

Угадал ?
« Последнее редактирование: 21 Октября 2010, 08:39:28 от alexander.pronin »

Оффлайн kostryukov

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1588
  • everybody lies
    • Просмотр профиля
    • kostryukov.net
нужно при подключении usb_модема (или при подключении интернета), запустить skype & firefox. каким образом это можно сделать ?
cron, ping, условный оператор
это все, что потребуется
cron, ping это ясное дело, с этим нет проблем. написал скрипт, в котором проверяется доступность интернета, по крону запустил этот скрипт.
а как из скрипта запустить приложение, чтото оно не запускается нифига.

да если скрипт запустить вручную с консоли - конечно все работает.
из крона еще не опробовал, наверно DISPLAY=:0.0 то что нужно.

а вот допустим по правилам udev как?
типа при присоединении какойто флешки, запустить audacious ? не запустится ведь так просто.
Ведь скрипт будет запускаться от root, а аudacious нужен пользователю

Необходимо еще сделать блокировку от множественного запуска одинаковых программ.
Иначе будет капут.
это кстати правда, при обрыве и восстановлении соединения действительно такое произойдет.
да это все понятно, сдесь вопросов нет
« Последнее редактирование: 21 Октября 2010, 09:15:38 от kostrukov »
у меня можно спросить=)

Оффлайн kostryukov

  • Автор темы
  • Старожил
  • *
  • Сообщений: 1588
  • everybody lies
    • Просмотр профиля
    • kostryukov.net
что-нибудь типа
su -c "DISPLAY=:0 stupid_prog" usernameне покатит?

допустим, есть скрипт, который запускает notify-send, этот скрипт привязан к сочетанию клавиш (в rc.xml).

при запуске скрипта по сочетанию клавиш, скрипт отрабатывает, но не выводит уведомление

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

в скрипте написал так

DISPLAY=:0 notify-send "проверка" "проверка"вот как добиться того, чтобы скрипт выводил уведомление?
у меня можно спросить=)

Оффлайн Vitsliputsli

  • Старожил
  • *
  • Сообщений: 1293
    • Просмотр профиля
Цитата: kostrukov
вот как добиться того, чтобы скрипт выводил уведомление?
а так
zenity --info --text="проверка"не то?

Пользователь решил продолжить мысль 14 Ноября 2010, 22:09:20:
или там
zenity --notification --text="проверка"
« Последнее редактирование: 14 Ноября 2010, 22:09:20 от Vitsliputsli »

 

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