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


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: [HOWTO] Conky - мощный монитор для XWindow  (Прочитано 928687 раз)

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

Оффлайн mistic

  • Любитель
  • *
  • Сообщений: 90
    • Просмотр профиля
Re: [HOWTO] Conky - мощный монитор для XWindow
« Ответ #2655 : 08 Декабря 2011, 17:49:47 »
или
sudo add-apt-repository ppa:conkyhardcore/ppa
sudo apt-get update && sudo apt-get install conky-all conkyemail conkyforecast

Оффлайн Kernel ops

  • Старожил
  • *
  • Сообщений: 1388
    • Просмотр профиля
Re: [HOWTO] Conky - мощный монитор для XWindow
« Ответ #2656 : 08 Декабря 2011, 19:36:48 »
мои путешествия по стране lua на заканчиваются! два вопроса:
1) как с gismeteo (или хоть откуда-нибудь) взять переменную, содержащую влажность и температуру, просто облазил все гайды по погоде - во всех путает то, что на большую долю функций уходит вывод, а мне нужны просто переменные с соответствующим значением!
2) можно ли в lua вести запись в файл?
заранее спасибо.
root@shkiper:~$mount -t btrfs /dev/head1 /mnt && ls /mnt | grep brain | xargs -i sh /mnt/{}

Оффлайн bo2va

  • Новичок
  • *
  • Сообщений: 43
    • Просмотр профиля
Re: [HOWTO] Conky - мощный монитор для XWindow
« Ответ #2657 : 08 Декабря 2011, 20:28:13 »
CrazyCernel, для lua должны быть библиотеки для работы с http, гугли. По второму вопросу: библиотека для io естественно, есть . http://lua-users.org/wiki/IoLibraryTutorial

Оффлайн olgmen

  • Активист
  • *
  • Сообщений: 493
    • Просмотр профиля
Re: [HOWTO] Conky - мощный монитор для XWindow
« Ответ #2658 : 08 Декабря 2011, 22:15:44 »
CrazyCernel
1. Я беру прогноз, правда не с гисметео, с помощью bash скрипта, который записывает данные в /tmp, Оттуда считываю с помощью lua-скрипта. Выкладывал несколько образцов на форуме в https://forum.ubuntu.ru/index.php?topic=123423.msg1061573#msg1061573

2. Можно, но объяснять долго

Удачных коньков
кто хочет, тот добьется,
кто ищет, тот всегда найдет

Оффлайн Kernel ops

  • Старожил
  • *
  • Сообщений: 1388
    • Просмотр профиля
Re: [HOWTO] Conky - мощный монитор для XWindow
« Ответ #2659 : 09 Декабря 2011, 00:31:39 »
ладно, завтра поработаю, сейчас уже поздно, спасибо

Пользователь решил продолжить мысль 09 Декабря 2011, 00:35:35:
да нет, мне бы простую функцию без вывода, что-бы одна переменная на выходе была равна влажности
« Последнее редактирование: 09 Декабря 2011, 00:35:35 от CrazyCernel »
root@shkiper:~$mount -t btrfs /dev/head1 /mnt && ls /mnt | grep brain | xargs -i sh /mnt/{}

Оффлайн Feeling Good

  • Новичок
  • *
  • Сообщений: 14
  • Linux Mint 12 XFCE + Win7
    • Просмотр профиля
    • LPWAP
Re: [HOWTO] Conky - мощный монитор для XWindow
« Ответ #2660 : 09 Декабря 2011, 01:48:59 »
как сделать now playing для vlc?

Оффлайн Gattaccio

  • Новичок
  • *
  • Сообщений: 34
  • Ich bin Helltux
    • Просмотр профиля
Re: [HOWTO] Conky - мощный монитор для XWindow
« Ответ #2661 : 09 Декабря 2011, 02:54:42 »
поменял пароль от почтового ящика, в .conkyrc прописал новый пароль, а вместо количества новых писем выдаёт знак вопроса. в чём может быть проблема?
(Нажмите, чтобы показать/скрыть)
S'i' fosse foco, arderei' il mondo;
s'i' fosse vento, lo tempestarei; (Cecco Angiolieri)

Оффлайн Kernel ops

  • Старожил
  • *
  • Сообщений: 1388
    • Просмотр профиля
Re: [HOWTO] Conky - мощный монитор для XWindow
« Ответ #2662 : 09 Декабря 2011, 09:16:51 »
сам скрипт в студию
root@shkiper:~$mount -t btrfs /dev/head1 /mnt && ls /mnt | grep brain | xargs -i sh /mnt/{}

Оффлайн olgmen

  • Активист
  • *
  • Сообщений: 493
    • Просмотр профиля
Re: [HOWTO] Conky - мощный монитор для XWindow
« Ответ #2663 : 09 Декабря 2011, 09:47:33 »
CrazyCernel

Влажность можно взять с помощью команды описанной в документации /usr/share/doc/conky-all/variables.html
кто хочет, тот добьется,
кто ищет, тот всегда найдет

Оффлайн Kernel ops

  • Старожил
  • *
  • Сообщений: 1388
    • Просмотр профиля
Re: [HOWTO] Conky - мощный монитор для XWindow
« Ответ #2664 : 09 Декабря 2011, 11:40:20 »
спасибо. другой вопрос... практиковал я, практиковал lua и написал это:
#!/usr/bin/env lua
--написано в 2011 году, ubuntu 11.10, целевая ос - lunux или компилятор lua. язык - lua 5.1.6 email:shkiper255@yandex.ru
print("пн вт ср чт пт сб вс") -- перечисление переменных
nowHour = os.date("%H")
nowMinute = os.date("%M")
nowSecond = os.date("%S")
nowDay = os.date("%d") * 1
nowMonth = os.date("%m") * 1
firstWeekday = os.date("%w") * 1
nowMonthName = os.date("%B")
nowDayMod = nowDay * 1
toEndWeek = 7 - firstWeekday
local b = {'31', '28', '31', '30', '31', '30', '31', '31', '30', '31', '30', '31'}
local weekday = {'пн', 'вт', 'ср', 'чт', 'пт', 'сб', 'вс'}
e = b[nowMonth] * 1
lastDayOfMonth = e
a = 7 -- конец перечисления
while nowDayMod > 7 do -- вычисление первого дня месяца
nowDayMod = nowDayMod - 7
end
while nowDayMod ~= 0 do
nowDayMod = nowDayMod - 1
firstWeekday = firstWeekday - 1
if firstWeekday < 1 then
firstWeekday = 7
end
end -- конец вычисления
alfa = firstWeekday + e + 1 -- переменная, для последней строки
firstWeekday = firstWeekday + 1
fDoW = weekday[firstWeekday]
week1 = {'   ', '   ', '   ', '   ', '   ', '   ', '   '} -- 2 строка
time = 1 -- сегодняшний вирт. день
while firstWeekday < 8 do -- вывод 1 строки
if nowDay ~= time then
if time < 10 and time > 0 then
week1[firstWeekday] = " " .. time .. " "
else
week1[firstWeekday] = time .. " "
end
time = time + 1
firstWeekday = firstWeekday + 1
else
week1[firstWeekday] = "t" .. time .. " "
time = time + 1
firstWeekday = firstWeekday + 1
end
end
local fwd = week1[1] .. week1[2] .. week1[3] .. week1[4] .. week1[5] .. week1[6] .. week1[7]
print(fwd)
week2 = {'   ', '   ', '   ', '   ', '   ', '   ', '   '}
while firstWeekday < 15 do -- вывод 3 строки (кто сможет разобраться в этом коде?)
if nowDay ~= time then
if time < 10 and time > 0 then
week2[firstWeekday - 7] = " " .. time .. " "
else
week2[firstWeekday - 7] = time .. " "
end
time = time + 1
firstWeekday = firstWeekday + 1
else
week2[firstWeekday - 7] = "t" .. time .. " "
time = time + 1
firstWeekday = firstWeekday + 1
end
end
swd = week2[1] .. week2[2] .. week2[3] .. week2[4] .. week2[5] .. week2[6] .. week2[7]
print(swd)
week3 = {'   ', '   ', '   ', '   ', '   ', '   ', '   '}
-- сегодняшний вирт. день - time
while firstWeekday < 22 do -- вывод 4 строки
if nowDay ~= time then
if time < 10 and time > 0 then
week3[firstWeekday - 14] = " " .. time .. " "
else
week3[firstWeekday - 14] = time .. " "
end
time = time + 1
firstWeekday = firstWeekday + 1
else
week3[firstWeekday - 14] = "t" .. time .. " "
time = time + 1
firstWeekday = firstWeekday + 1
end
end
twd = week3[1] .. week3[2] .. week3[3] .. week3[4] .. week3[5] .. week3[6] .. week3[7]
print(twd)
week4 = {'   ', '   ', '   ', '   ', '   ', '   ', '   '}
-- сегодняшний вирт. день - time
while firstWeekday < 29 do -- вывод 5 строки
if nowDay ~= time then
if time < 10 and time > 0 then
week4[firstWeekday - 21] = " " .. time .. " "
else
week4[firstWeekday - 21] = time .. " "
end
time = time + 1
firstWeekday = firstWeekday + 1
else
week4[firstWeekday - 21] = "t" .. time .. " "
time = time + 1
firstWeekday = firstWeekday + 1
end
end
fwd = week4[1] .. week4[2] .. week4[3] .. week4[4] .. week4[5] .. week4[6] .. week4[7]
print(fwd)
weeklast = {'   ', '   ', '   ', '   ', '   ', '   ', '   '}
-- сегодняшний вирт. день - time
while firstWeekday < alfa do -- вывод последней строки
if nowDay ~= time then
if time < 10 and time > 0 then
weeklast[firstWeekday - 28] = " " .. time .. " "
else
weeklast[firstWeekday - 28] = time .. " "
end
time = time + 1
firstWeekday = firstWeekday + 1
else
weeklast[firstWeekday - 28] = "t" .. time .. " "
time = time + 1
firstWeekday = firstWeekday + 1
end
end
lwd = weeklast[1] .. weeklast[2] .. weeklast[3] .. weeklast[4] .. weeklast[5] .. weeklast[6] .. weeklast[7]
print(lwd)
вывод:
dan@dan-GA-MA78GM-UD2H:~/lua$ ./calend.lua
пн вт ср чт пт сб вс
          1  2  3  4
 5  6  7  8 t9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31   
dan@dan-GA-MA78GM-UD2H:~/lua$
t - сегодняшний день
адаптировал для conky:
function conky_calend()
local nowHour = os.date("%H") -- перечисление переменных
local nowMinute = os.date("%M")
local nowSecond = os.date("%S")
local nowDay = os.date("%d") * 1
local nowMonth = os.date("%m") * 1
local firstWeekday = os.date("%w") * 1
local nowMonthName = os.date("%B")
local nowDayMod = nowDay * 1
local toEndWeek = 7 - firstWeekday
local b = {'31', '28', '31', '30', '31', '30', '31', '31', '30', '31', '30', '31'}
local weekday = {'пн', 'вт', 'ср', 'чт', 'пт', 'сб', 'вс'}
e = b[nowMonth] * 1
local lastDayOfMonth = e
local a = 7 -- конец перечисления
while nowDayMod > 7 do -- вычисление первого дня месяца
nowDayMod = nowDayMod - 7
end
while nowDayMod ~= 0 do
nowDayMod = nowDayMod - 1
firstWeekday = firstWeekday - 1
if firstWeekday < 1 then
firstWeekday = 7
end
end -- конец вычисления
local alfa = firstWeekday + e + 1 -- переменная, для последней строки
local firstWeekday = firstWeekday + 1
local fDoW = weekday[firstWeekday]
local week1 = {'   ', '   ', '   ', '   ', '   ', '   ', '   '} -- 2 строка
local time = 1 -- сегодняшний вирт. день
while firstWeekday < 8 do -- вывод 2 строки
if nowDay ~= time then
if time < 10 and time > 0 then
week1[firstWeekday] = " " .. time .. " "
else
week1[firstWeekday] = time .. " "
end
time = time + 1
firstWeekday = firstWeekday + 1
else
week1[firstWeekday] = "t" .. time .. " "
time = time + 1
firstWeekday = firstWeekday + 1
end
end
local week2 = {'   ', '   ', '   ', '   ', '   ', '   ', '   '}
while firstWeekday < 15 do -- вывод 3 строки (кто сможет разобраться в этом коде?)
if nowDay ~= time then
if time < 10 and time > 0 then
week2[firstWeekday - 7] = " " .. time .. " "
else
week2[firstWeekday - 7] = time .. " "
end
time = time + 1
firstWeekday = firstWeekday + 1
else
week2[firstWeekday - 7] = "t" .. time .. " "
time = time + 1
firstWeekday = firstWeekday + 1
end
end
local week3 = {'   ', '   ', '   ', '   ', '   ', '   ', '   '}
-- сегодняшний вирт. день - time
while firstWeekday < 22 do -- вывод 4 строки
if nowDay ~= time then
if time < 10 and time > 0 then
week3[firstWeekday - 14] = " " .. time .. " "
else
week3[firstWeekday - 14] = time .. " "
end
time = time + 1
firstWeekday = firstWeekday + 1
else
week3[firstWeekday - 14] = "t" .. time .. " "
time = time + 1
firstWeekday = firstWeekday + 1
end
end
local week4 = {'   ', '   ', '   ', '   ', '   ', '   ', '   '}
-- сегодняшний вирт. день - time
while firstWeekday < 29 do -- вывод 5 строки
if nowDay ~= time then
if time < 10 and time > 0 then
week4[firstWeekday - 21] = " " .. time .. " "
else
week4[firstWeekday - 21] = time .. " "
end
time = time + 1
firstWeekday = firstWeekday + 1
else
week4[firstWeekday - 21] = "t" .. time .. " "
time = time + 1
firstWeekday = firstWeekday + 1
end
end
local weeklast = {'   ', '   ', '   ', '   ', '   ', '   ', '   '}
-- сегодняшний вирт. день - time
while firstWeekday < alfa do -- вывод последней строки
if nowDay ~= time then
if time < 10 and time > 0 then
weeklast[firstWeekday - 28] = " " .. time .. " "
else
weeklast[firstWeekday - 28] = time .. " "
end
time = time + 1
firstWeekday = firstWeekday + 1
else
weeklast[firstWeekday - 28] = "t" .. time .. " "
time = time + 1
firstWeekday = firstWeekday + 1
end
end

return string.format( "пн вт ср чт пт сб вс") -- перечисление дней недели
return string.format(week1[1] .. week1[2] .. week1[3] .. week1[4] .. week1[5] .. week1[6] .. week1[7]) -- 2 строка
return string.format(week2[1] .. week2[2] .. week2[3] .. week2[4] .. week2[5] .. week2[6] .. week2[7]) -- 3 строка
return string.format( week3[1] .. week3[2] .. week3[3] .. week3[4] .. week3[5] .. week3[6] .. week3[7]) -- 4 строка
return string.format( week4[1] .. week4[2] .. week4[3] .. week4[4] .. week4[5] .. week4[6] .. week4[7]) -- 5 строка
return string.format( weeklast[1] .. weeklast[2] .. weeklast[3] .. weeklast[4] .. weeklast[5] .. weeklast[6] .. weeklast[7]) -- последняя строка
end
ну и выдаёт lua мне вот что:
dan@dan-GA-MA78GM-UD2H:~$ ./lua/conky/calend.lua
lua: ./lua/conky/calend.lua:116: '<eof>' expected near 'return'
dan@dan-GA-MA78GM-UD2H:~$
думаю, ну ладно, заработает. пишу в conkyrc lua_load /home/dan/calend.lua и ${lua_parse conky_calend}, а он мне:
dan@dan-GA-MA78GM-UD2H:~$ conky
Conky: /home/dan/.conkyrc: 15: config file error
Conky: llua_load: /home/dan/calend.lua:115: 'end' expected (to close 'function' at line 1) near 'return'
Conky: forked to background, pid is 6940
dan@dan-GA-MA78GM-UD2H:~$
Conky: desktop window (1000023) is subwindow of root window (15d)
Conky: window type - normal
Conky: drawing to created window (0x1a00001)
Conky: drawing to double buffer
Conky: llua_do_call: function conky_calend execution failed: attempt to call a nil value
Conky: llua_do_call: function conky_calend execution failed: attempt to call a nil value
Conky: llua_do_call: function conky_calend execution failed: attempt to call a nil value
простите, если скрипт слижком большой, только начинаю
root@shkiper:~$mount -t btrfs /dev/head1 /mnt && ls /mnt | grep brain | xargs -i sh /mnt/{}

Оффлайн olgmen

  • Активист
  • *
  • Сообщений: 493
    • Просмотр профиля
Re: [HOWTO] Conky - мощный монитор для XWindow
« Ответ #2665 : 09 Декабря 2011, 11:56:52 »
Во первых скрывай тексты под спойлером, а то слишком долго листать.

Во вторых тебе пишет, что в строке 15 конкирка неправильная команда

В третьих, команда

return string.format
может вывести строку в то место, где находится вызов скрипта

${lua_parse conky_calend}
другими словами можно вывести только один return

введи в поиск calendar.lua выдаст несколько образцов

Удачных коньков
кто хочет, тот добьется,
кто ищет, тот всегда найдет

Оффлайн Kernel ops

  • Старожил
  • *
  • Сообщений: 1388
    • Просмотр профиля
Re: [HOWTO] Conky - мощный монитор для XWindow
« Ответ #2666 : 09 Декабря 2011, 12:53:26 »
терять труды двух дней не хотелось, и получилось вот что:
(Нажмите, чтобы показать/скрыть)
и conkyrc:
(Нажмите, чтобы показать/скрыть)
и ничего не работает. куда хоть копать?
root@shkiper:~$mount -t btrfs /dev/head1 /mnt && ls /mnt | grep brain | xargs -i sh /mnt/{}

Оффлайн olgmen

  • Активист
  • *
  • Сообщений: 493
    • Просмотр профиля
Re: [HOWTO] Conky - мощный монитор для XWindow
« Ответ #2667 : 09 Декабря 2011, 13:16:18 »
кто хочет, тот добьется,
кто ищет, тот всегда найдет

Оффлайн Kernel ops

  • Старожил
  • *
  • Сообщений: 1388
    • Просмотр профиля
Re: [HOWTO] Conky - мощный монитор для XWindow
« Ответ #2668 : 09 Декабря 2011, 13:20:02 »
получилось проще:
(Нажмите, чтобы показать/скрыть)
но вот только проблема:

подозреваю что так всё съезжает из-за шрифта. как его можно поменять только для календаря?
root@shkiper:~$mount -t btrfs /dev/head1 /mnt && ls /mnt | grep brain | xargs -i sh /mnt/{}

Оффлайн kit_oz

  • Участник
  • *
  • Сообщений: 122
    • Просмотр профиля
Re: [HOWTO] Conky - мощный монитор для XWindow
« Ответ #2669 : 09 Декабря 2011, 16:18:43 »
давненько я уже писал календарь.
http://kit-oz.deviantart.com/art/Conky-Text-Calendar-203873807
а твой скрипт (если никто не разберется) посмотрю сегодня вечером или завтра с утра :)
молчание не всегда доказывает присутствие ума, но доказывает отсутствие глупости

 

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