1 (02.03.2010 15:37:58 отредактировано KiRiK)

Тема: Desktop Command Execution Widget - результат команд на рабочем столе

Отображает обновленные результаты различных команд терминала на вашем рабочем столе. Очень полезен, если используется с lshal, awk, wget.

Домашняя страница: maemo.org - Downloads: Desktop Command Execution Widget
Автор: Clovis Peruchi Scotti
Язык: английский

Скачать: Maemo 5.

http://maemoworld.ru/wp-content/uploads/2010/01/Desktop-Command-Execution-Widget-1.png http://maemoworld.ru/wp-content/uploads/2010/01/Desktop-Command-Execution-Widget-2.png

+ открыть спойлер

http://maemoworld.ru/wp-content/uploads/2010/01/Desktop-Command-Execution-Widget-3.png

На то, о чем можно спросить на форуме, не отвечаю через личные сообщения, аську, почту и т.п. для общения есть jabber-конференция: maemo@conference.jabber.org.
QKit - инструментарий для быстрого кроссплатформенного создания приложений на QML.
FAQ по Nokia N9 - читаем, пополняем.
Прежде, чем задать вопрос, воспользуйтесь поиском!

17

Re: Desktop Command Execution Widget - результат команд на рабочем столе

lunatik пишет:

heavy45, а не проще ли добавить пункт ребута в менюшку, которая вываливается по нажатии кнопки питания?

как?

Поделиться

18

Re: Desktop Command Execution Widget - результат команд на рабочем столе

heavy45
http://wiki.maemo.org/Customizing_Maemo … r_key_menu

Поделиться

19

Re: Desktop Command Execution Widget - результат команд на рабочем столе

перевел бы кто:
5- At the bottom of the file you will notice that part of it (consisting of three ... entries) is disabled within the "comment" marks

6- Move the "comment" marks mentioned above "<! --" without the space between ! and - (e.g. by deleting and re-typing them in other place) so that the two remaining entries ("Soft poweroff" and "Top in XTerm") are still within them but the "Reboot" entry gets outside of them. To do this, hit the key "i" to begin editing and the Esc button in xterm to stop (once you are done editing "dd" will delete any line you created by accident). Type :wq to save and edit after being done editing

7- Close X-Terminal and reboot the device. After the N900 reboots, you should see the new "Reboot" option in the Menu

Поделиться

20

Re: Desktop Command Execution Widget - результат команд на рабочем столе

Редактируй конец файла /etc/systemui/systemui.xml

 <menuitem priority="200" name="powerup_memainmenu_general" visible="silent">
  <keyfile>/home/user/.profiled/current</keyfile>
  <icon>general_profile</icon>
  <return>9</return>
  <po>osso-powerup-shutdown</po>
  <callback service="com.nokia.profiled" path="/com/nokia/profiled" interface="com.nokia.profiled" method="set_profile" bus="session" autostart="true">
    <argument type="string">general</argument>
  </callback>
 </menuitem>

 <menuitem priority="20" name="Reboot">
  <return>6</return>
  <po>osso-powerup-shutdown</po>
 </menuitem>
<!--
 <menuitem priority="10" name="Soft poweroff">
  <return>7</return>
  <po>osso-powerup-shutdown</po>
 </menuitem>
 <menuitem priority="5" name="Top in XTerm">
  <callback service="com.nokia.xterm" path="/com/nokia/xterm" interface="com.nokia.xterm" method="run_command" bus="session" autostart="true">
   <argument type="string">/usr/bin/top</argument>
  </callback>
 </menuitem>
-->

</powerkeymenu>

 

Надо просто перенести знак комента <-- чуть пониже, чтобы открыть секцию Reboot

21

Re: Desktop Command Execution Widget - результат команд на рабочем столе

lunatik пишет:

Редактируй конец файла /etc/systemui/systemui.xml
Надо просто перенести знак комента <-- чуть пониже, чтобы открыть секцию Reboot

знак наверное всетаки такой  <!--   smile
всё работает- спасибо

Поделиться

22 (28.04.2010 00:15:12 отредактировано unregistered)

Re: Desktop Command Execution Widget - результат команд на рабочем столе

Навеяно хабратопиком http://habrahabr.ru/blogs/linux/92110/ и цитатником forismatic.com.

Почему не заиметь на экране зверька оформление в виде меняющихся цитат с вышеназванного сервиса? DCEW как нельзя лучше для этого подходит.

Первой вопрос, чем забирать цитату с форизматика? Как чем, curl'ом конечно! Но apt-cache search curl показал мне, что его нет, зато есть зверь под названием python-pycurl.
А мне что, питон, так питон.

#apt-get install python-pycurl

Сразу же наваялся следующий скрипт

#!/usr/bin/python

import pycurl, cStringIO

data = cStringIO.StringIO()
c = pycurl.Curl()
c.setopt(pycurl.POST,1)
c.setopt(pycurl.WRITEFUNCTION, data.write)
c.setopt(pycurl.POSTFIELDS, 'lang=ru&method=getQuote&format=text')
c.setopt(pycurl.URL,'http://api.forismatic.com/api/1.0/')
c.perform()
c.close
print data.getvalue()

Записываем его для примера в /home/user/forismatic.py, даём права на исполнение

$ chmod +x /home/user/forismatic.py

Теперь идём в настройки DCEW, добавляем команду

/home/user/forismatic.py | fold -s -w 80

задаём виджету побольше ширины и высоты и радуемся результату.

http://tmnhy.sytes.net/galery/pictures/upload/1f523c3e4b778981a1a29844bf46c6ca.png

Поделиться

23

Re: Desktop Command Execution Widget - результат команд на рабочем столе

В продолжение, что ещё можно показать на экране с помощью DCEW.
Конечно же погоду.

Самый простой пример: локальная дата и время измерения, место, осадки, температура (реальная и комфортная),  влажность, скорость ветра и давление.

Данные будем брать с xml.weather.com.
Опять будет питон, на этот раз с xml, для парсинга использую BeautifulSoup, поэтому

# apt-get install python-beautifulsoup

Получился следующий скрипт, сохраняем его, допустим в /home/user/weather.py, не забываем дать права на исполнение:

#!/usr/bin/python

import pycurl, cStringIO, sys
from BeautifulSoup import BeautifulStoneSoup as Soup

def get_weather(region):
    data = cStringIO.StringIO()
    c = pycurl. Curl()
    c.setopt(pycurl.POST,1)
    data = cStringIO.StringIO()
    c.setopt(pycurl.WRITEFUNCTION, data.write)
    c.setopt(pycurl.POSTFIELDS, 'cc=*&unit=m&=dayf=2')
    c.setopt(pycurl.URL,'http://xml.weather.com/weather/local/'+region)
    c.perform()
    c.close
    return data.getvalue()
    
weather = Soup(get_weather(sys.argv[1]))
if weather.err:
    print weather.err.contents[0]
else:
    print weather.lsup.contents[0]+' - '+weather.dnam.contents[0]+' - '+weather.t.contents[0]+ \
    ' - '+weather.tmp.contents[0]+' C('+weather.flik.contents[0]+' C) - '+weather.hmid.contents[0]+ \
    '% - '+weather.s.contents[0]+' kmh - '+weather.r.contents[0]+' mb' 

Скриптик непричёсанный, код региона передаётся в командной строке.
Для DCEW команда следующая:

/home/user/weather.py RSXX0109 | fold -s -w 40

Результат на экране
http://tmnhy.sytes.net/galery/pictures/upload/af4e8e6c83369db35e6e16b59485cae3.png

Поделиться

24

Re: Desktop Command Execution Widget - результат команд на рабочем столе

Если немножко причесать вывод, то получается так

http://tmnhy.sytes.net/galery/pictures/upload/c09a35c1ce6afe3c2bea87a9264af839.png

Поделиться

25 (15.05.2010 01:19:19 отредактировано unregistered)

Re: Desktop Command Execution Widget - результат команд на рабочем столе

Ещё вариант использования виджета - без дополнительных затрат вывести информацию о трафике.

Традиционно, небольшой скрипт на питоне:

#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys, os

iface = sys.argv[1]

if os.popen('cat /proc/net/dev | grep '+iface+' | awk \'{print $1}\' | awk -F : \'{print $2}\'','r').read().strip('\t\n'):
    down = float(os.popen('cat /proc/net/dev | grep '+iface+' | awk \'{print $1}\' | awk -F : \'{print $2}\'','r').read().strip('\t\n'))
    up = float(os.popen('cat /proc/net/dev | grep '+iface+' | awk \'{print $9}\'','r').read().strip('\t\n'))
else:
    down = float(os.popen('cat /proc/net/dev | grep '+iface+' | awk \'{print $2}\'','r').read().strip('\t\n'))
    up = float(os.popen('cat /proc/net/dev | grep '+iface+' | awk \'{print $10}\'','r').read().strip('\t\n'))

if down in range(0,1024-1):
    DnS = '%d' % down + ' B'
if down in range(1024,1024*1024-1):
    DnS = '%.2f' % (down/1024) + ' KiB'
if down > 1024*1024-1:
    DnS = '%.2f' % (down/1024/1024) + ' MiB'
if up in range(0,1024-1):
    UpS = '%d' % up + ' B'
if up in range(1024,1024*1024-1):
    UpS = '%.2f' % (up/1024) + ' KiB'
if up > 1024*1024-1:
    UpS = '%.2f' % (up/1024/1024) + ' MiB'

print '['+iface+'] Dn: '+DnS+' - Up: '+UpS

Сохраняем его допустим в /home/user/ipstat.py, не забываем сделать исполняемым, запуск /home/user/ipstat.py имя_интерфейса, где имя интерфейса это gprs0, wlan0, phonet0 etc.

Результат на экране:

http://tmnhy.sytes.net/galery/pictures/upload/2415fbf560578205d9d7cee3e680f642.png

P.S. Скрипт не ведёт учёт трафика, он просто показывает состояние интерфейса. Это значит, что например, для gprs он покажет не наработку за день, а всего лишь трафик за текущую сессию. smile

Поделиться

26 (15.05.2010 11:34:51 отредактировано Mariner)

Re: Desktop Command Execution Widget - результат команд на рабочем столе

unregistered пишет:

Навеяно хабратопиком http://habrahabr.ru/blogs/linux/92110/ и цитатником forismatic.com.

Почему не заиметь на экране зверька оформление в виде меняющихся цитат с вышеназванного сервиса? DCEW как нельзя лучше для этого подходит.

Первой вопрос, чем забирать цитату с форизматика? Как чем, curl'ом конечно! Но apt-cache search curl показал мне, что его нет, зато есть зверь под названием python-pycurl.
А мне что, питон, так питон.

#apt-get install python-pycurl

Сразу же наваялся следующий скрипт

#!/usr/bin/python

import pycurl, cStringIO

data = cStringIO.StringIO()
c = pycurl.Curl()
c.setopt(pycurl.POST,1)
c.setopt(pycurl.WRITEFUNCTION, data.write)
c.setopt(pycurl.POSTFIELDS, 'lang=ru&method=getQuote&format=text')
c.setopt(pycurl.URL,'http://api.forismatic.com/api/1.0/')
c.perform()
c.close
print data.getvalue()

Записываем его для примера в /home/user/forismatic.py, даём права на исполнение

$ chmod +x /home/user/forismatic.py

Теперь идём в настройки DCEW, добавляем команду

/home/user/forismatic.py | fold -s -w 80

задаём виджету побольше ширины и высоты и радуемся результату.

Давно хотел нечто подобное! Но, сделав все, как указанно, виджет пишет "Invalid command"
Вроде, все сделал:
Устанавливая командой "apt-get install python-pycurl", терминал написал "newes version". Я понял, что она уже есть (мож тут, где, собака порылась??)
Скопировал скрип в Блокнот, сохранил как .py в home/user/
Дал команду "chmod +x /home/user/forismatic.py" (вот, только без "$"...с ним не шло)
В виджете вписал и проверил (и еще проверил) команду.....не работает. Странно. Что делаю не то?

Поделиться

27 (15.05.2010 11:50:16 отредактировано unregistered)

Re: Desktop Command Execution Widget - результат команд на рабочем столе

'$' - это завершение приглашения интерпретатора командной строки, его набирать не надо, просто показывает, что команду надо выполнять от имени обычного пользователя. Тогда как, '#' говорит о том, что команду следует запустит от root'а.

Но это всё лирика.

Попробуйте запустить на N900 терминал и в нём выполнить ($ набирать не надо):

$ cd /home/user
$ ./forismatic.py

и покажите, что выводит последняя команда.

P.S. Сделайте вашу работу наполненной жизнью, а
не жизнь наполненной работой.  (Курт Кобейн)

Поделиться

28

Re: Desktop Command Execution Widget - результат команд на рабочем столе

unregistered пишет:

Попробуйте запустить на N900 терминал и в нём выполнить ($ набирать не надо):

$ cd /home/user
$ ./forismatic.py

и покажите, что выводит последняя команда.

P.S. Сделайте вашу работу наполненной жизнью, а
не жизнь наполненной работой.  (Курт Кобейн)

странно, пишет:
-sh: ./forismatic.py: not found

Но...он, точно, там есть!

Добавлено: 15.05.2010 12:20:18

unregistered пишет:

$' - это завершение приглашения интерпретатора командной строки, его набирать не надо, просто показывает, что команду надо выполнять от имени обычного пользователя. Тогда как, '#' говорит о том, что команду следует запустит от root'а.

спасибо! не знал этого.

Поделиться

29

Re: Desktop Command Execution Widget - результат команд на рабочем столе

А что показывает

$ ls -l forismatic.py

Поделиться

30

Re: Desktop Command Execution Widget - результат команд на рабочем столе

unregistered пишет:

А что показывает

$ ls -l forismatic.py

"not found" везде, при всех командах. Уже и файл заменил, и прописал все заново и, даже, проверил, мож, думаю, по-запарке, в кирилице "ру" написал.....
Не находит.

Поделиться

31

Re: Desktop Command Execution Widget - результат команд на рабочем столе

Тада так, находясь в /home/user скрипт можно загрузить из инета, я его выложил

$ вгет http://tmnhy.su/py/forismatic.py

вгет заменить на wget, не пускает форум.

После этого дать права на исполнение

$ chmod +x forismatic.py

Если нет wget'а, то сохранить можно из стандартного браузера, только тогда надо определяться с путями.

Поделиться