تبلیغات
NILADIC
منوی اصلی

مقدمه

کمتر کسی وجود داره که با نرم افزارهای system monitoring کار نکرده بشه بخصوص با Screenlet ولی جالبه بدونید نرم افزارهای دیگه ایی هم وجود دارن که توانایی های مشابهی دارن ولی کمتر ازشون اسم برده میشه مثل conky . تفاوت conky با Screenlet اینه که شما هیچ نوع ویجتی بطور برجسته روی دسکتاپتون نمیبینید بلکه بصورت نوشته هایی روی بکگراند شما نشون داده میشه شبیه به شکل زیر

conky

اگه نیاز به توضیحاتی در مورد مجوز و سازنده ی نرم افزار میخوایین میتونید از آدرس زیر به این مطالب دسترسی داشته باشید http://conky.sourceforge.net

نصب

در ترمینال بزنید :

sudo apt-get install conky

و برای نصب conky-colors :

فایل conky-colors.tar.gz رو بگیرید

بعد از دانلود طبق خود آموزشی که گذاشته میتونید نصبش کنید اینجوری

$make
$./conky-colors --help
$./conky-colors
$make install

سایر موارد

بعد از نصب باید توی پوشه ی خانگیتون فایلی به اسم conkyrc. ایجاد کنید که بتونید کانفیگ مورد نظر خودتون رو توش اعمال و ذخیره کنید.این فایل شامل دو بخش اساسی زیر میشه :

1- تنظیمات مربوط به ابعاد برنامه + نوع و اندازه ی قلم ها و . . .

2-ویجت ها

نمونه ای از محتویات conkyrc. رو براتون میزارم

TEXT
${alignc}${time %l:%M:%S %p}
$nodename - $kernel

قسمت های رنگی مربوط به تنظیمات نمای ظاهری برنامه میشن و از کلمه ی TEXT به پاینن تمام ویجت هایی که شما میخوایین روی دسکتاپتون داشته باشید رو شامل میشه توی قسمت قرمز رنگ میتونید دوتا حالت داشته باشید یکی ویجت های بدون پنجره ( own_window no ) و دومی ویجت هایی که پنجره دارن و میشه جابجاشون کرد ( own_window yes ) توی قسمت آبی رنگ میتونید مشخص کنید که ظاهر برنامه ی شما از چه قلم و چه اندازه ایی باید استفاده کنه توی قسمت نارنجی رنگ ابعاد برنامه + رنگ نوشته ها + مکان قرار گیری برنامه رو نشون میده و آخرین قسمت هم که با رنگ بنفش نشون داده شده مشخص میکنه که واسه ظاهر برنامتون دوست دارن حاشیه داشته باشین یا نه از اون قسمتی که از کلمه ی TEXT شروع میشه شما باید توی هر خط یه ویجت قرار بیدید مثلا خط اول رو اینجوری بزارید

TEXT
${alignc}${time %l:%M:%S %p}
$nodename - $kernel

حالا اگه فایل conkyrc. رو ذخیره کنید و conky رو اجرا کنید ( چون رابط گرافیکی نداره باید از طریق ترمینال اجراش کنید ) میبینید که نسخه ی کرنل + اسم یوزرتون روی دسکتاپ نشون داده میشه تمام آپشن هایی رو که توی conky می تونید استفاده کنید رو از لینک زیر میتونید مشاهده کنید http://conky.sourceforge.net/config_settings.html یکی از نکات جالب این برنامه اینه که شما میتونید شل اسکریپتی بنویسید که مثلا دمای هارد رو برای شما تعیین کنه بعد شل اسکریپت رو با conky ترکیب کنید و ازش استفاده کنید cheesy یه مورد دیگه اینکه شما اگه بخوایین از اسکریپت هایی مثل اسکریپت آب و هوا استفاده کنید حتما باید از فونت مخصوص weather استفاده کنید راستی اگه دوست داشته باشد هر ویجت رو با یه قلم خاص و اندازه ی متفاوت و رنگ متفاوت استفاده کنید میتونید به روش زیر عمل کنید .

TEXT
$nodename - $kernel
${font Zekton:style=Bold:pixelsize=34}${color 4CACBF}${alignc}${time %l:%M:%S %p}${font Zekton:size=10{

توی لینک زیر آموزش یه نمونه کانفیگ رو گذاشته که ظاهر خیلی زیبایی هم داره پیشنهاد میکنم حتما امتحانش کنید http://www.gnome-look.org/content/show.php/CONKY-colors?content=92328

*** برای اینکه conky رو توی استارت آپ قرار بدید میتونید یه فایل متنی به اسم conky_start.sh. توی پوشه ی خانگیتون درست کنید و متن زیر رو توش ذخیره کنید

#!/bin/bash
sleep 20 && conky ;

بعد با دستور chmod a+x .conky_start.sh حالت اجرایی بهش بدید و به مسیر system->preferences->session->startup programs برید و توی استارت آپ اضافش کنید

***برای اینکه از اسکریپت آب و هوا استفاده کنید فایل زیر رو دانلود کنید و اونو از حالت فشره خارج کنید

دوتا فایل توشه یکی اسکریپتی به اسم conkyForecast.py و یکی دیگه فونتی به اسم weather.ttf

توی دایرکتوری خانگیتون یه دایرکتوری جدید به اسم scripts ایجاد کنید و اسکریپت رو توش کپی کنید و فونت رو هم توی دایرکتوری دیگه ای به اسم fonts. که توی داریکتوری خانگیتون ایجاد کردید کپی کنید

حالا به آدرس زیر برید و بجای your_city اسم شهرتون رو بنویسید

مثلا برای تهران اینجوری میشه

http://xoap.weather.com/search/search?where=tehran

همونطور که تو شکل پایین میبینید توی اون صفحه یه کد آبی رنگ به شما میده که باید اونو یاداشت کنید weather-xml

حالا تمام کدهای زیر رو به قسمت ویجت های conkyrc. اضافه کنید

WEATHER
${color}City Name: ${execi 3600 python ~/scripts/conkyForecast.py IRXX0032 M CN 0}
Day: ${execi 3600 python ~/scripts/conkyForecast.py IRXX0032 M DW 0}
Conditions: ${execi 3600 python ~/scripts/conkyForecast.py IRXX0032 M CC 0}
${font Weather:size=80}${execi 3600 python ~/scripts/conkyForecast.py IRXX0032 M WF 0}${font}
Temp: ${execi 3600 python ~/scripts/conkyForecast.py IRXX0032 M HT 0}
Wind: ${execi 3600 python ~/scripts/conkyForecast.py IRXX0032 M WS 0}
Humidity: ${execi 3600 python ~/scripts/conkyForecast.py IRXX0032 M HM 0}
Day: ${execi 3600 python ~/scripts/conkyForecast.py IRXX0032 M DW 1}
Conditions: ${execi 3600 python ~/scripts/conkyForecast.py IRXX0032 M CC 1}
${font Weather:size=80}${execi 3600 python ~/scripts/conkyForecast.py IRXX0032 M WF 1}${font}
High Temp: ${execi 3600 python ~/scripts/conkyForecast.py IRXX0032 M HT 1}
Low Temp: ${execi 3600 python ~/scripts/conkyForecast.py IRXX0032 M LT 1}
Wind: ${execi 3600 python ~/scripts/conkyForecast.py IRXX0032 M WS 1}
Humidity: ${execi 3600 python ~/scripts/conkyForecast.py IRXX0032 M HM 1}
Precipitation: ${execi 3600 python ~/scripts/conkyForecast.py IRXX0032 M PC 1{

توی کد بالایی بجای اون قسمت هایی که نوشته IRXX0032 باید کدی رو که از صفحه ی بالا یادداشت کردید جایگزین و ذخیره کنید,حالا میتونید conky رو اجرا کنید .

پ.ن: وقتی از کد آب و هوا استفاده میکنید اجرا شدن conky یکم طول میکشه که به دلیل دریافت اطلاعات از سایتشه

*** شما می تونید برای conky حاشیه تعریف کنید مثل تمام پنجره های دیگه بصورت زیر که زیاد جالب نمیشه

double_buffer yes
own_window yes

و یه راه دیگه اینه که از این تنظیمات واسه حاشیه استفاده کنید که حاشیه رو بدون رنگ نمایش میده

own_window yes
own_window_hints undecorated,below,skip_taskbar
background no
own_window_transparent yes
double_buffer yes
draw_shades no
draw_outline no
draw_borders no
draw_graph_borders no

*** بزای ساعت هم می تونید از این کد استفاده کنید

${voffset 4}${font Liberation Sans:style=Bold:size=8}DATE $stippled_hr${font}
${voffset 20}${alignc 44}${font zoraclockH:size=70}${color2}${execpi 120 ~/.conkyscript/conkyClock hour}${color}${font}
${voffset -90}${alignc 64}${font zoraclockM:size=100}${color2}${execpi 60 ~/.conkyscript/conkyClock minute}${color}${font}
${voffset 26}${alignc}${font Liberation Sans:style=Bold:size=10}${color1}${time %H:%M}${color}${font}${voffset -8}
${voffset 8}${alignc}${time %d %B %Y{

فایل فشرده ی اسکریپت را بعد از استخراج هر دو اسکریپت داخلش را باید ببرید توی پوشه ی خانگیتون یه پوشه به اسم conkyscript. درست کنید و اونجا ذخیره کنید فایل فشرده ی فونت را هم بعد از استخراج تمام محتویاتش را توی پوشه ی fonts. توی پوشه ی خانگیتون باید کپی کنید بعدش هم باید دو تا دستور زیر را اجرا کنید

sudo chmod +x ~/.conkyscript/*
sudo fc-cache -v -f

حالا می تونید conky را اجرا کنید اسکریپت ها را از لینک زیر دانلود کنید:

فونت ها را هم از این لینک دانلود کنید:

البته باید اینجا بگم که این ساعت ثانیه شمار ندارد و برای اینکه ساعت شما ثانیه شمار هم داشته باشه باید کارهای زیر را انجام بدید :

این کد رو با پسوند .lua ذخیره کنید :

--[[Ring Meters by londonali1010 (2009)
This script draws percentage meters as rings. It is fully customisable; all options are described in the script.
IMPORTANT: if you are using the 'cpu' function, it will cause a segmentation fault if it tries to draw a ring straight away. The if statement near the end of the script uses a delay to make sure that this doesn't happen. It calculates the length of the delay by the number of updates since Conky started. Generally, a value of 5s is long enough, so if you update Conky every 1s, use update_num > 5 in that if statement (the default). If you only update Conky every 2s, you should change it to update_num > 3; conversely if you update Conky every 0.5s, you should use update_num > 10. ALSO, if you change your Conky, is it best to use "killall conky; conky" to update it, otherwise the update_num will not be reset and you will get an error.
To call this script in Conky, use the following (assuming that you save this script to ~/scripts/rings.lua):
        lua_load ~/scripts/rings-v1.2.1.lua
        lua_draw_hook_pre ring_stats
Changelog:
+ v1.2.1 -- Fixed minor bug that caused script to crash if conky_parse() returns a nil value (20.10.2009)
+ v1.2 -- Added option for the ending angle of the rings (07.10.2009)
+ v1.1 -- Added options for the starting angle of the rings, and added the "max" variable, to allow for variables that output a numerical value rather than a percentage (29.09.2009)
+ v1.0 -- Original release (28.09.2009)
]]
settings_table = {
}
clock_r=65
-- "clock_x" and "clock_y" are the coordinates of the centre of the clock, in pixels, from the top left of the Conky window.
clock_x=98
clock_y=316
show_seconds=true
require 'cairo'
function rgb_to_r_g_b(colour,alpha)
        return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
end
function draw_ring(cr,t,pt)
        local w,h=conky_window.width,conky_window.height
        local xc,yc,ring_r,ring_w,sa,ea=pt['x'],pt['y'],pt['radius'],pt['thickness'],pt['start_angle'],pt['end_angle']
        local bgc, bga, fgc, fga=pt['bg_colour'], pt['bg_alpha'], pt['fg_colour'], pt['fg_alpha']
        local angle_0=sa*(2*math.pi/360)-math.pi/2
        local angle_f=ea*(2*math.pi/360)-math.pi/2
        local t_arc=t*(angle_f-angle_0)
        -- Draw background ring
        cairo_arc(cr,xc,yc,ring_r,angle_0,angle_f)
        cairo_set_source_rgba(cr,rgb_to_r_g_b(bgc,bga))
        cairo_set_line_width(cr,ring_w)
        cairo_stroke(cr)
end
function draw_clock_hands(cr,xc,yc)
    local secs,mins,hours,secs_arc,mins_arc,hours_arc
    local xh,yh,xm,ym,xs,ys
    secs=os.date("%S")
    mins=os.date("%M")
    hours=os.date("%I")
    secs_arc=(2*math.pi/60)*secs
    mins_arc=(2*math.pi/60)*mins+secs_arc/60
    hours_arc=(2*math.pi/12)*hours+mins_arc/12
    -- Draw hour hand
    --[[xh=xc+0.7*clock_r*math.sin(hours_arc)
    yh=yc-0.7*clock_r*math.cos(hours_arc)
    cairo_move_to(cr,xc,yc)
    cairo_line_to(cr,xh,yh)
    cairo_set_line_cap(cr,CAIRO_LINE_CAP_ROUND)
    cairo_set_line_width(cr,5)
    cairo_set_source_rgba(cr,0.7,0.7,0.7,0.4)
    cairo_stroke(cr)
    -- Draw minute hand
    xm=xc+clock_r*math.sin(mins_arc)
    ym=yc-clock_r*math.cos(mins_arc)
    cairo_move_to(cr,xc,yc)
    cairo_line_to(cr,xm,ym)
    cairo_set_line_width(cr,3)
    cairo_stroke(cr)]]--
    -- Draw seconds hand
    if show_seconds then
        xs=xc+clock_r*math.sin(secs_arc)
        ys=yc-clock_r*math.cos(secs_arc)
        cairo_move_to(cr,xc,yc)
        cairo_line_to(cr,xs,ys)
        cairo_set_source_rgba(cr,rgb_to_r_g_b('0xffaaaa','1'))
        cairo_set_line_width(cr,2)
        cairo_stroke(cr)
    end
end
function conky_ring_stats()
        local function setup_rings(cr,pt)
                local str=''
                local value=0
                str=string.format('${%s %s}',pt['name'],pt['arg'])
                str=conky_parse(str)
                value=tonumber(str)
                if value == nil then value = 0 end
                pct=value/pt['max']
                draw_ring(cr,pct,pt)
        end
        if conky_window==nil then return end
        local cs=cairo_xlib_surface_create(conky_window.display,conky_window.drawable,conky_window.visual, conky_window.width,conky_window.height)
        local cr=cairo_create(cs)
        local updates=conky_parse('${updates}')
        update_num=tonumber(updates)
        if update_num>5 then
                for i in pairs(settings_table) do
                        setup_rings(cr,settings_table[i])
                end
        end
        draw_clock_hands(cr,clock_x,clock_y)
end

بعد این دو خط رو قبل از TEXT توی کانفیگ conky وارد کنید :

lua_load ~/.scripts/luglio/rings.lua
lua_draw_hook_pre ring_stats

دقت کنید که در خط اول،آدرس رو به آدرس جایی که اسکریپت رو ذخیره کردید تغییر بدید. میتونید رنگ عقربه و محل مختصات مرکز ساعت و طول عقربه و ضخامت اون رو هم از داخل اسکریپت تغییر بدید تا با تم تون هماهنگ بشود .

*** برای قرار دادن عکس از اسکریپت زیر باید استفاده کنید به این شکل که اول فایل conkyPhoto.zip رو دانلود کنید و مثل روش بالا اونو به پوشه ی conkyscript. توی پوشه ی خانگیتون انتقال بدهید حالا دستور زیر رو بزنید

  • . .

    sudo chmod +x ~/.conkyscript/*

حالا یه عکس دلخواه رو که فرمت png دارد اسمش را به conkyPhoto تغییر بدهید و توی دو تا مسیر زیر قرارش بدهید

  • اولین مسیر
    /tmp
    دومین مسیر
    /home/user/Pictures
    ( userهمون اسم کاربری خودتون باید باشه )

این دو خط را هم به انتهای فایل conkyrc. اضافه کنید

  • ${voffset 4}${font Liberation Sans:style=Bold:size=8}PHOTO $stippled_hr${font}
    ${execi 10800 ~/.conkyscript/conkyPhoto}${image /tmp/conkyPhoto.png -s 175x120 -p 4,344}${voffset 114{

اینم لینک دانلود conkyPhoto.zip

*** اول اسکریپت رو از حالت فشرده خارج کن,بعد به پوشه ی conkyscript. که توی پوشه ی خانگیت درستش کرده بودید انتقالش بدهید و دستور زیر رو اجرا کنید .

  • sudo chmod +x ~/.conkyscript/*

خوب حالا باید یک پوشه ی جدید به اسم conky_picture توی پوشه ی خانگیتون درست کنید و هر چی فایل jpg که دوست دارید توش بریزید و در آخر هم این خط پایین را به conkyrc. اضافه کنید

  • ${execi 360 ~/.conkyscript/conky_photo_random}${image /tmp/conkyPhoto.png -s 175x120 -p 4,344}${voffset 114}
    
  • اینم لینک دانلود اسکریپت

http://mse112200.persiangig.com/khuzestanlug/ubuntu/conky_photo_random.zip

پ.ن: این اسکریپت به این صورت عمل میکند که هر بار شما conky رو اجرا میکنید اون یک عکس رو به دلخواه روی دسکتاپتون نمایش میدهد .

کمک بیشتر

سوالات خود را درباره این راهنما در اینجا مطرح کنید.

منابع

http://conky.sourceforge.net