5436
Помогите с Conky [Решено]
Здравствуйте! Помогите настроить Conky, хотелось бы как тут
гитхаб автора
Один добрый человек @silhead помог установить. Установка была произведена на свежеустановленную и обновлённую систему.
sudo pacman -S git
git clone github.com/alexbel/conky.git ~/.conky
sudo pacman -S yay
yay -S bundler-exec
yay -S conky
yay -S curl acpi lm_sensors
yay -R bundler-exec
На этом установка завершена, осталось настроить.
Для запуска выполнить:
cd ~/.conky && ruby starter.rb
Первое, что необходимо сделать, это переименовать файл secrets.yml.example в secrets.yml и отредактировать его.
В строке network_interface указываем свои данные сетевого интерфейса, желательно wi-fi.
В разделе hard_drives прописываем данные своих дисков и разделов.
В разделе gmail адрес и пароль от почты. (У меня пока не заработало)
В разделе weather указываем ключ и id города, регистрируемся и получаем их на openweathermap.org (погода у меня пока тоже не работает).
Для удобства управления устанавливаем conky-manager Спасибо Agafron
sudo pacman -S conky-manager
В домашней папке создаём документ conkyrc
own_window yes
own_window_colour 000000
own_window_type normal
#own_window_transparent yes # если убрать решетку полная прозрачность будет------------
own_window_argb_visual yes
own_window_argb_value 70
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
double_buffer yes
use_spacer right
use_xft yes
TEXT
${execi 600 ruby starter.rb}
Теперь conky-manager будет видеть наш conky, там же можно включить автозагрузку.
Вся настройка отображения выполняется путём редактирования конфигурационных файлов. После старта все конфиги перезаписываются, поэтому необходимо редактировать так же файлы в папке config.
Количество отображаемых процессов, соединений настраивается в скриптах, редактированием строки
(1..3).to_a.each do |num|
Замечания и указания приветствуются, только не пинайте сильно, я в самом начале пути.
тему не бросаю, буду дополнять.
гитхаб автора
Один добрый человек @silhead помог установить. Установка была произведена на свежеустановленную и обновлённую систему.
sudo pacman -S git
git clone github.com/alexbel/conky.git ~/.conky
sudo pacman -S yay
yay -S bundler-exec
yay -S conky
yay -S curl acpi lm_sensors
yay -R bundler-exec
На этом установка завершена, осталось настроить.
Для запуска выполнить:
cd ~/.conky && ruby starter.rb
Первое, что необходимо сделать, это переименовать файл secrets.yml.example в secrets.yml и отредактировать его.
В строке network_interface указываем свои данные сетевого интерфейса, желательно wi-fi.
В разделе hard_drives прописываем данные своих дисков и разделов.
В разделе gmail адрес и пароль от почты. (У меня пока не заработало)
В разделе weather указываем ключ и id города, регистрируемся и получаем их на openweathermap.org (погода у меня пока тоже не работает).
Для удобства управления устанавливаем conky-manager Спасибо Agafron
sudo pacman -S conky-manager
В домашней папке создаём документ conkyrc
Спойлер!
own_window_colour 000000
own_window_type normal
#own_window_transparent yes # если убрать решетку полная прозрачность будет------------
own_window_argb_visual yes
own_window_argb_value 70
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
double_buffer yes
use_spacer right
use_xft yes
TEXT
${execi 600 ruby starter.rb}
Теперь conky-manager будет видеть наш conky, там же можно включить автозагрузку.
Вся настройка отображения выполняется путём редактирования конфигурационных файлов. После старта все конфиги перезаписываются, поэтому необходимо редактировать так же файлы в папке config.
Количество отображаемых процессов, соединений настраивается в скриптах, редактированием строки
(1..3).to_a.each do |num|
Замечания и указания приветствуются, только не пинайте сильно, я в самом начале пути.
тему не бросаю, буду дополнять.
19 комментариев
sudo pacman -S git
git clone github.com/alexbel/conky.git ~/.conky
sudo pacman -S yay
yay -S bundler-exec
yay -S conky
yay -S curl acpi lm_sensors
yay -R bundler-exec
На этом установка завершена, осталось настроить.
Для запуска выполнить:
cd ~/.conky && ruby starter.rb
Первое, что необходимо сделать, это переименовать файл secrets.yml.example в secrets.yml и отредактировать его.
В строке network_interface указываем свои данные сетевого интерфейса, желательно wi-fi.
В разделе hard_drives прописываем данные своих дисков и разделов.
В разделе gmail адрес и пароль от почты. (У меня пока не заработало)
В разделе weather указываем ключ и id города, регистрируемся и получаем их на openweathermap.org (погода у меня пока тоже не работает).
Для удобства управления устанавливаем conky-manager Спасибо Agafron
sudo pacman -S conky-manager
В домашней папке создаём документ conkyrc
Спойлер!own_window yes
own_window_colour 000000
own_window_type normal
#own_window_transparent yes # если убрать решетку полная прозрачность будет------------
own_window_argb_visual yes
own_window_argb_value 70
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
double_buffer yes
use_spacer right
use_xft yes
TEXT
${execi 600 ruby starter.rb}
Теперь conky-manager будет видеть наш conky, там же можно включить автозагрузку.
Вся настройка отображения выполняется путём редактирования конфигурационных файлов. После старта все конфиги перезаписываются, поэтому необходимо редактировать так же файлы в папке config.
Количество отображаемых процессов, соединений настраивается в скриптах, редактированием строки
(1..3).to_a.each do |num|
Замечания и указания приветствуются, только не пинайте сильно, я в самом начале пути.
тему не бросаю, буду дополнять.
сами коньки помести в ~/.conky (скорее всего они уже там)
запусти conky-manager и поставь галку напротив нужного скрипта
bash.org
bash.org
попробую себе клонировать и посмотреть на досуге, отпишусь
bash.org
И так, чтобы conky-manager увидел даннный скрипт, нужно в каталоге создать еще один файл, я не стал заморачиваться и обозвал его conkyrc с таким содержимым
и теперь менеджер все видит и запускает, проверил у себя.
а чтобы просто сделать автозапуск скрипта, достаточно создать в ~/.config/autostart десктоп файл и указать путь для запуска starter.rb
bash.org
На данный момент рабочий стол
Погоды очень не хватает :)
А для почты возможно надо настроить клиент, вопрос какой? Evilution настроен.
Возможно необходимо установить какие-либо элементы
require 'gmail'
require 'yaml'
secrets = YAML.load_file(ENV['HOME']+'/.conky/secrets.yml')
gmail = Gmail.new(secrets['gmail']['login'], secrets['gmail']['password'])
puts gmail.inbox.count(:unread)
gmail.logout
require 'httpx'
require 'date'
secrets = YAML.load_file(ENV['HOME']+'/.conky/secrets.yml')
city_id = secrets['weather']['city_id']
timezone = Time.now.getlocal.strftime('%:z')
# required by producing your own API key from openweathermap.org
api_key = secrets['weather']['api_key']
url = «api.openweathermap.org/data/2.5/weather?units=metric&id=#{city_id}&APPID=#{api_key}»
response = HTTPX.get url
json = JSON.parse response.body.to_s
# current conditions
temp = json['main']['temp'].to_f.round(1)
city = json['name']
humidity = json['main']['humidity']
visibility = json['visibility'].to_i / 1000
sky = json['weather'].first['main']
# forecast
url = «api.openweathermap.org/data/2.5/forecast?units=metric&id=#{city_id}&APPID=#{api_key}»
response = HTTPX.get url
json = JSON.parse(response.body.to_s)['list']
days = []
icons = []
conditions = []
high = []
low = []
3.times do |index|
days << (Date.today + (index + 1)).strftime('%A')
end
time = Time.now
day_hour = Time.new(time.year, time.month, time.day, 17, 0, 0, timezone).utc.hour
json.each do |row|
next if !row['dt_txt'].include?("#{day_hour}:00:00")
break if high.count == 3
icons << row['weather'][0]['icon']
conditions << row['weather'][0]['main']
high << row['main']['temp_max'].to_f.round(0)
end
night_hour = Time.new(time.year, time.month, time.day, 04, 0, 0, timezone).utc.hour
json.each do |row|
next if !row['dt_txt'].include?("#{night_hour}:00:00")
break if low.count == 3
low << row['main']['temp_min'].to_f.round(0)
end
@icons = icons
# conky output
def img_tag(i, x)
"${image $HOME/.conky/weather_icons/#{@icons[i]}.png -p #{x},300 -s 75x45}"
end
g20 = '${goto 20}'
g130 = '${goto 130}'
c0 = '${color0}'
c60 = '${color gray60}'
out = "#{c0}Weather: #{city} ${hr 2}\n"
out << "#{g20}#{c0}Sky #{g130}#{c60}#{sky}\n"
out << "#{g20}#{c0}Temperature #{g130}#{c60}#{temp} °C\n"
out << "#{g20}#{c0}Humidity #{g130}#{c60}#{humidity}%\n"
out << "#{g20}#{c0}Visibility #{g130}#{c60}#{visibility} km\n"
out << "#{g20}#{c0}#{days[0]}${goto 130}#{days[1]}${goto 235}#{days[2]}\n\n"
out << "#{img_tag(0, 10)}#{img_tag(1, 115)}#{img_tag(2, 220)}\n\n\n"
out << "${goto 25}#{c60}#{high[0]}/#{low[0]}°C${goto 140}#{high[1]}/#{low[1]}°C${goto 245}#{high[2]}/#{low[2]}°C"
gap_x = 0,
gap_y = 320,
minimum_width = 320,
minimum_height = 400,
maximum_width = 320,
update_interval = 600
}
conky.text = [[
${color0}Calendar ${hr 1}
${voffset 3}$color${execpi 3600 VinDSL_Cal_8=`date +%-d`; cal -m | sed -e '1d' -e 's/\<'"$VinDSL_Cal_8"'\>/${color orange}&${color}/'}
${color0}Gmail: ${hr 1}
$color${goto 20}${execpi 1800 ruby ./scripts/gmail.rb} new emails
${execpi 1800 ruby ./scripts/weather.rb}
]]
# -*- coding: UTF-8 -*-
import sys, imaplib
port = 993
server = 'imap.gmail.com'
username = 'логин@gmail.com'
passwd = 'пароль'
imap_server = imaplib.IMAP4_SSL(server, port)
try:
imap_server.login(username, passwd)
except:
print('?? new')
sys.exit( 1 )
typ, data = imap_server.select ('Inbox', True)
if typ == 'OK':
total = int(data[0])
typ, data = imap_server.search (None, 'SEEN')
if typ == 'OK':
seen = len(data[0].split())
print('{}'.format(total — seen))
if typ != 'OK':
print('?? new')
imap_server.logout()
Новых писем ${execpi 300 python ~/.scripts/gmail.py}
все делалось по ману с GitHub, все заработало без бубнов, но пришлось доустановить — bundler-exec, без него погода не заводилась))), по поводу Conky Manager, если выбрать Application Settings, а в ней вкладку Location, то можно указать любой путь, где лежат conky скрипты, совершенно не обязательно все пихать в /.conky, успехов))).
Traceback (most recent call last):
2: from ./scripts/weather.rb:2:in `main'
1: from /usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require'
/usr/lib/ruby/2.7.0/rubygems/core_ext/kernel_require.rb:92:in `require': cannot load such file — httpx (LoadError)
Что я не так делаю?