変換後にConkyスクリプトを実行することはできません。

変換後にConkyスクリプトを実行することはできません。

古いconkyウィジェットを新しい1.10+構文に変換しようとしていますが、なぜ機能しないのかわかりません。正しく変換されたことを確認するためにすべてのアクションを実行しましたが、まだ必要なウィジェットは実行されません。コードは次のとおりです。

conky.config = {
-- Conky settings
    background = false,
    update_interval = 1,

    cpu_avg_samples = 2,
    net_avg_samples = 2,

    override_utf8_locale = true,

    double_buffer = true,
    no_buffers = true,

    text_buffer_size = 2048,
        --imlib_cache_size = 0,

    temperature_unit = 'celsius',

-- With class override, gets images to display properly (black bg)
  own_window_argb_visual = true,
    own_window_argb_value = 0,

-- Window specifications
  own_window_class = override,
    own_window = true,
-- XFCE4 = desktop, sinon 'normal'
    own_window_type = 'normal',
    own_window_transparent = true,

-- XFCE4 - undecorate not working
    own_window_hints = 'sticky,skip_taskbar,skip_pager,below',

    border_inner_margin = 0,
    border_outer_margin = 0,

    minimum_width = 520,
    minimum_height = 600,
    maximum_width = 520,

    alignment = 'top_right',
    gap_x = 20,
    gap_y = 112,

-- Graphics settings #
    draw_shades = false,
    draw_outline = false,
    draw_borders = false,
    draw_graph_borders = false,

-- useless
    default_shade_color = 'red',
    default_outline_color = 'green',

-- Text settings #
    use_xft = true,
    override_utf8_locale = true,
    font = 'Play:normal:size=8',
    xftalpha = 0.9,
    uppercase = false,

-- TEXT color
    default_color = '333333',

    color0 = 'a992e6',
    color1 = '323232',

    lua_load = './rings-v2_gen.lua',
    lua_draw_hook_pre = 'conky_main',

    diskio_avg_samples = 2,
};

conky.text = [[
${voffset 12}${color1}${goto 106}${freq_g cpu0} Ghz${alignr 330}${hwmon 1 temp 1} °C
${voffset 16}${color1}${goto 106}${freq_g cpu0} Ghz${alignr 330}${acpitemp} °C

${voffset -3}${goto 120}${color1}CPU 1${alignr 330}${color1}${cpu cpu1}%
${voffset -3}${goto 120}${color1}CPU 2${alignr 330}${color1}${cpu cpu2}%
${voffset -3}${goto 120}${color1}CPU 3${alignr 330}${color1}${cpu cpu3}%
${voffset -3}${goto 120}${color1}CPU 4${alignr 330}${color1}${cpu cpu4}%
${voffset -3}${goto 120}${color1}CPU 5${alignr 330}${color1}${cpu cpu5}%
${voffset -3}${goto 120}${color1}CPU 6${alignr 330}${color1}${cpu cpu6}%
${goto 49}${voffset 12}${color1}${top name 1}${alignr 306}${top cpu 1}%
${goto 50}${color1}${top name 2}${alignr 306}${top cpu 2}%
${goto 50}${color1}${top name 3}${alignr 306}${top cpu 3}%
${font Michroma:size=10}${color0}${goto 80}${voffset 4}CPU

${voffset -130}${goto 378}${font}${color1}${top_io name 1}${alignr 30}${top_io io_write 1}%
${goto 378}${voffset -1}${color1}${top_io name 2}${alignr 30}${top_io io_write 2}%
${goto 378}${voffset -1}${color1}${top_io name 3}${alignr 30}${top_io io_write 3}%
${goto 370}${voffset 4}${color1}disk writes${alignr 30}${diskio_write}%
${goto 370}${color1}disk reads${alignr 30}${diskio_read}%
${font Michroma:size=10}${color0}${goto 418}${voffset 1}IO WAIT

${font Michroma:size=10}${color0}${goto 394}${voffset 59}MEMORY
${font}${goto 324}${voffset -4}${color1}${top_mem name 1}${alignr 40}${top_mem mem 1}%
${goto 324}${color1}${top_mem name 2}${alignr 40}${top_mem mem 2}%
${goto 324}${color1}${top_mem name 3}${alignr 40}${top_mem mem 3}%
${voffset 8}${goto 348}${color1}SWAP${alignr 40}${color1}${swap} / ${color1}${swapmax}
${voffset 1}${goto 348}${color1}RAM ${alignr 40}${color1}${mem} / ${color1}${memmax}

${goto 70}${voffset -81}/${color1}${alignr 310}${fs_used /} / ${fs_size /}
${goto 70}${voffset -1}/boot/efi${color1}${alignr 310}${fs_used /boot/efi} / ${fs_size /boot/efi}
${goto 70}${voffset -1}/mnt/nvme0n1p3${color1}${alignr 310}${fs_used /mnt/nvme0n1p3} / ${fs_size /mnt/nvme0n1p3}
${font Michroma:size=10}${color0}${goto 68}${voffset 8}FILESYSTEM

${font Michroma:size=10}${color0}${voffset 26}${goto 324}INTERNET INFO
${font}${color1}${alignr 54}${voffset -8}WiFi     ${color1}${wireless_essid wlan0}
${goto 298}${voffset 2}Up${goto 370}${color1}${totalup wlan0} / ${color1}${upspeed wlan0}
${goto 298}${color1}Down${goto 370}${color1}${totaldown wlan0} / ${color1}${downspeed wlan0}
${goto 300}${voffset 4}Local IP${goto 370}${addr wlan0}
${goto 300}${voffset 0}Public IP${goto 370}${execi 3600 wget -q -O - checkip.dyndns.org | sed -e 's/[^[:digit:]\|.]//g'}
${voffset -24}

${font Michroma:size=10}${alignr 300}${voffset -50}${color0}${time %a} ${color0}${time %x}
${font Michroma:size=18}${alignr 318}${color1}${voffset -4}${time %H}:${time %M}

${font Michroma:bold:size=11}${color0}${voffset 90}${alignc}${execi 3600 awk -F '=' '/PRETTY_NAME/ { print $2 }' /etc/os-release | tr -d '"'}
]];

そしてウィジェットが呼び出すRings-v2_gen.luaファイル

--[[
Ring Meters by londonali1010 (2009)
Modified by La-Manoue (2016)
Automation template by popi (2017)

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 ~/conky/rings-v2_local.lua
    lua_draw_hook_pre ring_stats
    
Changelog:
+ v2.1.1 -- addedd IO_WAIT ring
+ v2.1.0 -- templated for automation, 
+ v2.0.0 -- Changed some values for ArchLinux
+ v1.2.2 -- Added color change for near-limits values / modified placement
+ 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)

]]

normal="0xbb07d7"
warn="0xff7200"
crit="0xff000d"

-- seulement quand fond nécessaire
corner_r=35
bg_colour=0x3b3b3b
bg_alpha=0.2

-- blue     | 0xbb07d7
-- red      | 0xff1d2b
-- green    | 0x1dff22
-- pink     | 0xff1d9f
-- orange   | 0xff8523
-- skyblue  | 0x008cff
-- darkgray | 0x323232

settings_table_io = {
    {
        name='top_io io_perc 1',
        arg='',
        max=100,
        bg_colour=0x3b3b3b,
        bg_alpha=0.8,
        fg_colour=0xbb07d7,
        fg_alpha=0.8,
        x=370, y=98,
        radius=55,
        thickness=12,
        start_angle=120,
        end_angle=360
    },
    {
        name='top_io io_perc 2',
        arg='',
        max=100,
        bg_colour=0x3b3b3b,
        bg_alpha=0.6,
        fg_colour=0xbb07d7,
        fg_alpha=0.8,
        x=370, y=98,
        radius=42,
        thickness=11,
        start_angle=120,
        end_angle=360
    },
    {
        name='top_io io_perc 3',
        arg='',
        max=100,
        bg_colour=0x3b3b3b,
        bg_alpha=0.4,
        fg_colour=0xbb07d7,
        fg_alpha=0.8,
        x=370, y=98,
        radius=30,
        thickness=10,
        start_angle=120,
        end_angle=360
    }
}

settings_table = {
    {
        name='hwmon',
        arg='1 temp 1',
        max=110,
        bg_colour=0x3b3b3b,
        bg_alpha=0.8,
        fg_colour=0xbb07d7,
        fg_alpha=0.8,
        x=200, y=120,
        radius=97,
        thickness=4,
        start_angle=0,
        end_angle=240
    },

    {
        name='cpu',
        arg='cpu1',
        max=100,
        bg_colour=0x3b3b3b,
        bg_alpha=0.7,
        fg_colour=0xbb07d7,
        fg_alpha=0.8,
        x=200, y=120,
        radius=88,
        thickness=10,
        start_angle=0,
        end_angle=240
    },
    {
        name='cpu',
        arg='cpu2',
        max=100,
        bg_colour=0x3b3b3b,
        bg_alpha=0.633333333333,
        fg_colour=0xbb07d7,
        fg_alpha=0.8,
        x=200, y=120,
        radius=77,
        thickness=9.5,
        start_angle=0,
        end_angle=240
    },
    {
        name='cpu',
        arg='cpu3',
        max=100,
        bg_colour=0x3b3b3b,
        bg_alpha=0.566666666667,
        fg_colour=0xbb07d7,
        fg_alpha=0.8,
        x=200, y=120,
        radius=66.5,
        thickness=9.0,
        start_angle=0,
        end_angle=240
    },
    {
        name='cpu',
        arg='cpu4',
        max=100,
        bg_colour=0x3b3b3b,
        bg_alpha=0.5,
        fg_colour=0xbb07d7,
        fg_alpha=0.8,
        x=200, y=120,
        radius=56.5,
        thickness=8.5,
        start_angle=0,
        end_angle=240
    },
    {
        name='cpu',
        arg='cpu5',
        max=100,
        bg_colour=0x3b3b3b,
        bg_alpha=0.433333333333,
        fg_colour=0xbb07d7,
        fg_alpha=0.8,
        x=200, y=120,
        radius=47.0,
        thickness=8.0,
        start_angle=0,
        end_angle=240
    },
    {
        name='cpu',
        arg='cpu6',
        max=100,
        bg_colour=0x3b3b3b,
        bg_alpha=0.366666666667,
        fg_colour=0xbb07d7,
        fg_alpha=0.8,
        x=200, y=120,
        radius=38.0,
        thickness=7.5,
        start_angle=0,
        end_angle=240
    },
    {
        name='memperc',
        arg='',
        max=100,
        bg_colour=0x3b3b3b,
        bg_alpha=0.8,
        fg_colour=0xbb07d7,
        fg_alpha=0.8,
        x=340, y=234,
        radius=60,
        thickness=15,
        start_angle=180,
        end_angle=420
    },
    {
        name='swapperc',
        arg='',
        max=100,
        bg_colour=0x3b3b3b,
        bg_alpha=0.4,
        fg_colour=0xbb07d7,
        fg_alpha=0.8,
        x=340, y=234,
        radius=45,
        thickness=12,
        start_angle=180,
        end_angle=420
    },

    {
        name='fs_used_perc',
        arg='/',
        max=100,
        bg_colour=0x3b3b3b,
        bg_alpha=0.8,
        fg_colour=0xbb07d7,
        fg_alpha=0.8,
        x=220, y=280,
        radius=40,
        thickness=10,
        start_angle=0,
        end_angle=240
    },
    {
        name='fs_used_perc',
        arg='/boot/efi',
        max=100,
        bg_colour=0x3b3b3b,
        bg_alpha=0.6,
        fg_colour=0xbb07d7,
        fg_alpha=0.8,
        x=220, y=280,
        radius=29,
        thickness=9,
        start_angle=0,
        end_angle=240
    },
    {
        name='fs_used_perc',
        arg='/mnt/nvme0n1p3',
        max=100,
        bg_colour=0x3b3b3b,
        bg_alpha=0.4,
        fg_colour=0xbb07d7,
        fg_alpha=0.8,
        x=220, y=280,
        radius=19,
        thickness=8,
        start_angle=0,
        end_angle=240
    },

    {
        name='downspeedf',
        arg='wlan0',
        max=125000,
        bg_colour=0x3b3b3b,
        bg_alpha=0.8,
        fg_colour=0xbb07d7,
        fg_alpha=0.8,
        x=290, y=345,
        radius=30,
        thickness=12,
        start_angle=180,
        end_angle=420
    },
    {
        name='upspeedf',
        arg='wlan0',
        max=125000,
        bg_colour=0x3b3b3b,
        bg_alpha=0.6,
        fg_colour=0xbb07d7,
        fg_alpha=0.8,
        x=290, y=345,
        radius=17,
        thickness=11,
        start_angle=180,
        end_angle=420
    },
    {
        name='time',
        arg='%H',
        max=24,
        bg_colour=0x3b3b3b,
        bg_alpha=0.4,
        fg_colour=0xbb07d7,
        fg_alpha=0.8,
        x=230, y=406,
        radius=10,
        thickness=6,
        start_angle=0,
        end_angle=240
    },
    {
        name='time',
        arg='%M',
        max=60,
        bg_colour=0x3b3b3b,
        bg_alpha=0.6,
        fg_colour=0xbb07d7,
        fg_alpha=0.8,
        x=230, y=406,
        radius=19,
        thickness=9,
        start_angle=0,
        end_angle=240
    },
    {
        name='time',
        arg='%S',
        max=60,
        bg_colour=0x3b3b3b,
        bg_alpha=0.8,
        fg_colour=0xbb07d7,
        fg_alpha=0.8,
        x=230, y=406,
        radius=31,
        thickness=12,
        start_angle=0,
        end_angle=240
    },
--{{ BATTERY }}
    {
        name='kernel', --just to avoid unknown viariable '$' in console
        arg='',
        max=100,
        bg_colour=0x3b3b3b,
        bg_alpha=0.6,
        fg_colour=0xbb07d7,
        fg_alpha=0.6,
        x=274, y=464,
        radius=5,
        thickness=13,
        start_angle=0,
        end_angle=360
    },
}

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)
    
    -- Draw indicator ring

    cairo_arc(cr,xc,yc,ring_r,angle_0,angle_0+t_arc)
    cairo_set_source_rgba(cr,rgb_to_r_g_b(fgc,fga))
    cairo_stroke(cr)        
end

function conky_ring_stats()
    -- 20170715 IO_WAIT
    local function setup_rings_io(cr,pt)
        local str=''
        local value=0
        
        local warn_value=50
        local crit_value=70

        str=string.format('${%s %s}',pt['name'],pt['arg'])
        iowait=0
        ioused=tonumber(conky_parse(str))
        if ioused>0 then 
            iowait=100 - ioused
        end
        value=tonumber(iowait)

        if value == nil then value = 0 end
        pct=value/pt['max']
        draw_ring(cr,pct,pt)
    end

    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
                display_temp=temp_watch()
        setup_rings(cr,settings_table[i])
        end
        -- IO_WAIT
        for i in pairs(settings_table_io) do
        setup_rings_io(cr,settings_table_io[i])
        end
    end
   cairo_surface_destroy(cs)
  cairo_destroy(cr)
end

-- Contrôle de l'espace disque
function disk_watch()

    warn_disk=93
    crit_disk=98
    -- poser une boucle plus tard... pas simple

    disk=tonumber(conky_parse("${fs_used_perc /}"))
    if disk<warn_disk then
        settings_table[10]['fg_colour']=normal
    elseif disk<crit_disk then
        settings_table[10]['fg_colour']=warn
    else
        settings_table[10]['fg_colour']=crit
    end

    disk=tonumber(conky_parse("${fs_used_perc /boot/efi}"))
    if disk<warn_disk then
        settings_table[11]['fg_colour']=normal
    elseif disk<crit_disk then
        settings_table[11]['fg_colour']=warn
    else
        settings_table[11]['fg_colour']=crit
    end

    disk=tonumber(conky_parse("${fs_used_perc /mnt/nvme0n1p3}"))
    if disk<warn_disk then
        settings_table[12]['fg_colour']=normal
    elseif disk<crit_disk then
        settings_table[12]['fg_colour']=warn
    else
        settings_table[12]['fg_colour']=crit
    end


end

-- Contrôle de la température
function temp_watch()

    warn_value=70
    crit_value=80

    temperature=tonumber(conky_parse("${hwmon 1 temp 1}"))

    if temperature<warn_value then
        settings_table[1]['fg_colour']=normal
    elseif temperature<crit_value then
        settings_table[1]['fg_colour']=warn
    else
        settings_table[1]['fg_colour']=crit
    end
end

-- Battery color control
function battery_watch()

    warn_value=30
    crit_value=10

    --{{ BATTERY_WATCH }}

    if battery>warn_value then
        settings_table[index]['fg_colour']=normal
    elseif battery>crit_value then
        settings_table[index]['fg_colour']=warn
    else
        settings_table[index]['fg_colour']=crit
    end
end

-- Contrôle de l'interface active
-- choice to not probe network interface once conky is running. 
-- just call again create_conky.py to update if gateway interface has changed
--function iface_watch()
--
--    iface=conky_parse("${if_existing /proc/net/route enp1s0f2}enp1s0f2${else}wlan0${endif}")
--
--    settings_table[11]['arg']=iface
--    settings_table[12]['arg']=iface
--end

function conky_draw_bg()
    if conky_window==nil then return end
    local w=conky_window.width
    local h=conky_window.height
    local cs=cairo_xlib_surface_create(conky_window.display, conky_window.drawable, conky_window.visual, w, h)
    cr=cairo_create(cs)
    
    cairo_move_to(cr,corner_r,0)
    cairo_line_to(cr,w-corner_r,0)
    cairo_curve_to(cr,w,0,w,0,w,corner_r)
    cairo_line_to(cr,w,h-corner_r)
    cairo_curve_to(cr,w,h,w,h,w-corner_r,h)
    cairo_line_to(cr,corner_r,h)
    cairo_curve_to(cr,0,h,0,h,0,h-corner_r)
    cairo_line_to(cr,0,corner_r)
    cairo_curve_to(cr,0,0,0,0,corner_r,0)
    cairo_close_path(cr)
    
    cairo_set_source_rgba(cr,rgb_to_r_g_b(bg_colour,bg_alpha))
    cairo_fill(cr)
end


function conky_main()
    temp_watch()
    disk_watch()
    --iface_watch()
    -- if a battery is found
    --{{ BATTERY_ACTIVATE }}
    conky_ring_stats()
-- quand fond nécessaire
--    conky_draw_bg()
end

正しく機能するには何を編集する必要がありますか?

ベストアンサー1

おすすめ記事