Страницы Назад 1 … 4 5 6 7 Далее
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форум MaemoWorld.ru → Разработка под MeeGo и Maemo → Скрипты
start on started hildon-desktop
stop on starting shutdown
console none
service
script
/etc/init.d/fcron start
end script
Попробуй убрать строки:
console none
service
В них уж точно нет необходимости, а мешать они могут.
Ну и права должны быть минимум 644 на скрипт.
------
Мне совсем надоело подключать-отключать репозиторий extras-devel через родной графический диспетчер приложений. Когда работаешь с телефоном в консоле через SSH, это жутко надоедает.
Поэтому, я написал два простеньких скрипта:
add-devel
#!/bin/sh
FILE='/etc/apt/sources.list.d/hildon-application-manager.list'
REPO='deb http://repository.maemo.org/extras-devel/ fremantle free non-free'
echo $REPO >> $FILE
apt-get update
del-devel
#!/bin/sh
FILE='/etc/apt/sources.list.d/hildon-application-manager.list'
sed -i '/extras-devel/d' $FILE
apt-get update
Создаем эти файлы под рутом в любимом редакторе, даем им права на исполнение:
chmod +x add-devel del-devel
и копируем их в /usr/bin
Попробуй убрать строки:
console none
serviceВ них уж точно нет необходимости, а мешать они могут.
Ну и права должны быть минимум 644 на скрипт.
Строки убрал. Не помогло.
Скрипты вот с такими масками и правами:
Nokia-N900:~# ls -la /home/user/scripts/
drwxr-xr-x 2 user users 4096 May 27 12:03 .
drwxr-xr-x 51 user users 4096 Jul 30 14:26 ..
-rwxr-xr-x 1 root fcron 324 May 27 12:03 Internet_connection_disconnect.sh
-rwxr-xr-x 1 root fcron 126 May 27 12:03 auto_connect_to_wifi.sh
-rwxr-xr-x 1 root fcron 116 May 27 12:03 disable_auto_connect_to_wifi.sh
-rwxr-xr-x 1 root fcron 480 May 27 12:03 set_profile_general.sh
-rwxr-xr-x 1 root fcron 295 Jul 29 17:00 set_profile_silent.sh
Короче скрипт запускается но команда в скрипте не выполняется.
Выяснил добавив создание текстового файла.
Текстовый файл создаётся и имеет обе записи.. А вот команда перехода в режим general не выполняется.
Если скрипт выполнить из консоли ВСЁ ок.
Сам скрипт выглядит так:
#!/bin/sh
echo "Runned 1" > /home/user/gl.txt
/usr/bin/dbus-send --type=method_call --dest=com.nokia.profiled /com/nokia/profiled com.nokia.profiled.set_profile string:"general"
/usr/bin/dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"General"
echo "Runned 2" >> /home/user/gl.txt
Вот это самый интересный вопрос:
От какого пользователя выполняется скрипт
в теории от root... но как проверить - не очень понимаю.
dbus-monitor - ничего... Команда просто не вызывается.
По интуиции - проблема на уровне прав...
Вот это самый интересный вопрос:
От какого пользователя выполняется скрипт
echo `whoami` >> /home/user/gl.txt
dbus-monitor - ничего... Команда просто не вызывается.
dbus-monitor не вызывается?
Он вызвался... Но в момент срабатывания крона - ничего в нём не происходит. Если вызвать скрипт из другой сессии просто из shell-а всё красиво. Всё происходит.
Пользователь, как и предполагалось - root.
Самое странное и наталкивающие на размышление о правах то, что если процесс fcron убить и запустить его руками из консоли - всё работает великолепно. Если же он стартует автоматом то команды с dbus не работают.
LappoSV
У меня подобные траблы были при написании out-call-vibro.
Скорее всего, дело в dbus. Существует две шины: системная и сессионная. На сколько я понял, в N900 работа, в основном, идет через сессионную шину. И, вроде как, общаться с ней можно только под юзером user.
Самое интересное, что если общаться с dbus из консоли по ssh, то результат отличается от того, что можно увидеть, запустив консоль на самом аппарате.
Попробуй скачай исходники пакета out-call-vibro (Outcoming Call Vibro) и посмотри как я справился с данной проблемой.
(конкретно нужно смотреть файл /etc/event.d/out-call-vibro)
LappoSV
У меня подобные траблы были при написании out-call-vibro.
Скорее всего, дело в dbus. Существует две шины: системная и сессионная. На сколько я понял, в N900 работа, в основном, идет через сессионную шину. И, вроде как, общаться с ней можно только под юзером user.
Самое интересное, что если общаться с dbus из консоли по ssh, то результат отличается от того, что можно увидеть, запустив консоль на самом аппарате.Попробуй скачай исходники пакета out-call-vibro (Outcoming Call Vibro) и посмотри как я справился с данной проблемой.
Спасибо. Сейчас буду смотреть. Самое интересное что началось это с новой прошивки. В старой всё было Ок. Уже была мысль сделать su user... Но как-то криво.
В общем, как это ни прискорбно, но САМ ДУРАК.. Это приходится признать. Ключевая фраза:
if we use a script with dbus call, run-standalone.sh
Ещё раз - с 5-го раза не получилось - прочтите ВНИМАТЕЛЬНО описание. Это про меня. Всем большое спасибо.
от прав root в скриптах можно избавится так
sudo -k
и в скриптах
sudo бла бла
Форум MaemoWorld.ru → Разработка под MeeGo и Maemo → Скрипты
Форум работает на PunBB, при поддержке Informer Technologies, Inc
Currently installed 6 official extensions. Copyright © 2003–2009 PunBB.
Сгенерировано за 0.090 секунды (94% PHP — 6% БД) 11 запросов к базе данных