2020年9月7日月曜日

Conkyが自動起動しなくなった時の対処法

Conkyが起動しなくなった
少し前からConkyが自動起動しなくなった。いろいろ調べてみると、古いConkyと新しいConkyとで使っている構文が違うことが原因と分かった。

この記事では、Conkyが自動起動しなくなった原因と、設定ファイルの構文の変換方法について記載し、Conkyが自動起動しなくなった時の対処法をまとめた。


Conkyが起動しなくなった時の症状
これまで、conkyの設定ファイルをホームフォルダに作成し、.config/autostartから自動起動するように設定していた。しかし、ここ最近Conkyが自動起動しなくなっていた。

まず、原因を調べるためにConkyを手動で起動してみる。

$ conky -p 2 -d -c ~/.conkyrc1

conky: Syntax error (/home/zero/.conkyrc1:2: unexpected symbol near '#') while reading config file. 
conky: Assuming it's in old syntax and attempting conversion.
conky: [string "..."]:159: attempt to call a nil value (global 'loadstring')

以前は問題なく起動できていた設定ファイルを読み込んでいるが、Syntax errorが出てConkyが起動しなくなっている。アップデートログを調べてみると、Conkyのアップデートが、8月11日に実施されていた。この時分から、Conkyが起動しなくなっている気がする。このアップデートが原因か…

$ less /var/log/pacman.log 

...
[2020-08-11T21:25:34+0900] [ALPM] upgraded conky (1.11.5-3 -> 1.11.5-4)
...

Arch LinuxのConkyのWikiページ(Conky - ArchWiki)を調べてみると、conky 1.10から設定ファイルの構文がLua形式に変わっていると書いてあった。なんとなく怪しいが、Conky 1.10にアップデートされたのは相当昔だから、最近になってConkyが自動起動しなくなったのも変な気がする。

デフォルトのConkyの設定ファイルの生成方法とかが書かれていたので、とりあえずこの設定ファイルを生成してConkyから起動してみる。

$ conky -C > ~/conky.conf.default
$ conky -c ~/conky.conf.default

すると、問題なくConkyを起動できた。conky.conf.defaultはLuaの構文で書かれていたので、どうやら今まで使っていた設定ファイルの構文が古いことが原因で、Conkyが起動できない可能性が高い。


Conkyの古い構文をLuaの構文に変換する
Arch LinuxのConkyのWikiページに、Conkyの古い構文をLuaの構文に変換するスクリプトがあると書かれていた。リンクの先は「conky/convert.lua at master · brndnmtthws/conky · GitHub」

このスクリプトを使って、現在使っている設定ファイルの構文をLua形式に直してみる。まず、ファイルをダウンロードして、実行できるようにする。

$ wget https://raw.githubusercontent.com/brndnmtthws/conky/master/extras/convert.lua ~/convert.lua
$ chmod 744 ~/convert.lua

スクリプトを使って、設定ファイルの構文をLua形式に変換する。古い設定ファイルは~/.conkyrc1、新しい設定ファイルは~/new.conky

$ ~/convert.lua ~/.conkyrc1 ~/new.conky

Lua形式の設定ファイルを使って、Conkyで起動してみる。

$ conky -c ~/new.conky

Lua形式に変換後の設定ファイルは問題なく、起動できた。


新しい設定ファイルをConkyで問題なく起動できることが確認できたら、古い設定ファイルの中身を新しい設定ファイルの内容に書き換えておく。これで、Conkyが自動起動できるようになった。

Conkyの設定ファイル
最後に、Lua形式に変換後のConkyの設定ファイルを載せておく。自分の環境では、設定ファイルは、~/.conkyrc1と~/.conkyrc2の2つ作っている。

~/.conkyrc1
conky.config = {
-- conky configuration
-- edited by darcon at gmail.com

-- set to yes if you want Conky to be forked in the background
	background = false,

-- X font when Xft is disabled, you can pick one with program xfontsel
--font 5x7
--font 6x10
--font 7x13
--font 8x13
--font 9x15
--font *mintsmild.se*
--font -*-*-*-*-*-*-34-*-*-*-*-*-*-*


-- Use Xft?
	use_xft = true,

-- Xft font when Xft is enabled
	font = 'terminus:size=10',
--xftfont Dejavu Sans Mono:size=9

-- Text alpha when using Xft
	xftalpha = 0.8,

-- Print everything to console?
-- out_to_console no

-- mail spool
--mail_spool $MAIL

-- Update interval in seconds
	update_interval = 4.0,

-- This is the number of times Conky will update before quitting.
-- Set to zero to run forever.
	total_run_times = 0,

-- Create own window instead of using desktop (required in nautilus)
--own_window_colour brown
	own_window_class = 'Conky',
	own_window = true,
	own_window_type = 'conky',
	own_window_transparent = true,
	own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
	own_window_argb_visual = true,
	own_window_argb_value = 255,

-- Use double buffering (reduces flicker, may not work for everyone)
	double_buffer = true,

-- Minimum size of text area
	minimum_width = 210, minimum_height = 5,
	maximum_width = 220,

-- Draw shades?
	draw_shades = true,

-- Draw outlines?
	draw_outline = false,

-- Draw borders around text
	draw_borders = false,

-- Stippled borders?
	stippled_borders = 8,

-- border margins
--border_margin 4

-- border width
	border_width = 1,

-- Default colors and also border colors
	default_color = 'white',
	default_shade_color = 'black',
	default_outline_color = 'white',

-- Text alignment, other possible values are commented
--alignment top_left
--alignment top_right
	alignment = 'bottom_left',
--alignment bottom_right

-- Gap between borders of screen and text
-- same thing as passing -x at command line
	gap_x = 1695,
	gap_y = 5,

-- Subtract file system buffers from used memory?
	no_buffers = true,

-- set to yes if you want all text to be in uppercase
	uppercase = false,

-- number of cpu samples to average
-- set to 1 to disable averaging
	cpu_avg_samples = 2,

-- number of net samples to average
-- set to 1 to disable averaging
	net_avg_samples = 2,

-- Force UTF8? note that UTF8 support required XFT
	override_utf8_locale = true,


-- Add spaces to keep things from moving about?  This only affects certain objects.
--use_spacer left
--Note: doesn't work in conky 1.2 =(

--   mldonkey_hostname     Hostname for mldonkey stuff, defaults to localhost
--   mldonkey_port         Mldonkey port, 4001 default
--   mldonkey_login        Mldonkey login, default none
--   mldonkey_password     Mldonkey password, default none

};

conky.text = [[


${font Droid Sans:size=11}[SYSTEM] ${font }${hr 1}${voffset 5}
${color #ffd700}${font openlogos:size=26}t${font }${color } ${alignr}${voffset -7}Sys: ${color lightgrey}$sysname on $machine${color }
${voffset 7}${color #1793d1}${font openlogos:size=24}B${font }${color } ${alignr}${voffset -7}Kern: ${color lightgrey}$kernel${color }
${voffset 13}Date: $alignr${color lightgrey}${time  %D}${color }
Time: $alignr${color lightgrey}${time %Z, }${time %H:%M}${color }
UpTime: $alignr${color lightgrey}$uptime${color }

${font Droid Sans:size=11}[PROCESSOR] ${font }${hr 1}${voffset 5}
Proc: ${alignr}${color lightgrey}i7-3770S 3.10GHz${color }
Freq: ${alignr}${color lightgrey}${freq}MHz${color }
Load: ${alignr}${color lightgrey}${loadavg}${color }
Core: ${alignr}${color lightgrey}$cpu% (${execi 10 sensors | grep ^"Core 0" | cut -c 17-24})${color }
${alignr}${cpugraph 20,170 000000 ffffff}
#Load: $alignr${color lightgrey}$loadavg${color }
#Processes: $alignr${color lightgrey}$processes${color }
#Running: $alignr${color lightgrey}$running_processes${color }
Highest CPU:
${color #ddaa00} ${top name 1}${top_mem cpu 1}${color }
${color lightgrey} ${top name 2}${top cpu 2}${color }
${color lightgrey} ${top name 3}${top cpu 3}${color }
#${color lightgrey} ${top name 4}${top cpu 4}${color }

${font Droid Sans:size=11}[MEMORY] ${font }${hr 1}${voffset 5}
MEM: $alignr${color lightgrey}$memperc% ($mem/$memmax)${color }
$alignr${color lightgrey}${membar 5,170}${color }
Highest MEM:
${color #ddaa00} ${top_mem name 1}${top_mem mem 1}${color }
${color lightgrey} ${top_mem name 2}${top_mem mem 2}${color }
${color lightgrey} ${top_mem name 3}${top_mem mem 3}${color }
#${color lightgrey} ${top_mem name 4}${top_mem mem 4}${color }

${font Droid Sans:size=11}[NETWORK] ${font }${hr 1}${voffset 5}
#External IP: ${execi 36000 wget -O - http://www.whatismyip.com/automation/n09230945.asp}
LAN IP: $alignr${color lightgrey}${addr enp3s0}${color}
Up: $alignr${color lightgrey}${upspeed enp3s0} /s${color}
$alignr${upspeedgraph enp3s0 20,170 000000 ffffff}
Down: $alignr${color lightgrey}${downspeed enp3s0} /s${color}
$alignr${downspeedgraph enp3s0 20,170 000000 ffffff}
]];

~/.conkyrc2
conky.config = {
-- conky configuration
-- edited by darcon at gmail.com

-- set to yes if you want Conky to be forked in the background
	background = false,

-- X font when Xft is disabled, you can pick one with program xfontsel
--font 5x7
--font 6x10
--font 7x13
--font 8x13
--font 9x15
--font *mintsmild.se*
--font -*-*-*-*-*-*-34-*-*-*-*-*-*-*


-- Use Xft?
	use_xft = true,

-- Xft font when Xft is enabled
	font = 'terminus:size=10',
--xftfont Dejavu Sans Mono:size=9

-- Text alpha when using Xft
	xftalpha = 0.8,

-- Print everything to console?
-- out_to_console no

-- mail spool
--mail_spool $MAIL

-- Update interval in seconds
--update_interval 3.0
	update_interval = 180.0,

-- This is the number of times Conky will update before quitting.
-- Set to zero to run forever.
	total_run_times = 0,

-- Create own window instead of using desktop (required in nautilus)
--own_window_colour brown
	own_window_class = 'Conky',
	own_window = true,
	own_window_type = 'conky',
	own_window_transparent = true,
	own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
	own_window_argb_visual = true,
	own_window_argb_value = 255,

-- Use double buffering (reduces flicker, may not work for everyone)
	double_buffer = true,

-- Minimum size of text area
	minimum_width = 210, minimum_height = 5,
	maximum_width = 220,

-- Draw shades?
	draw_shades = true,

-- Draw outlines?
	draw_outline = false,

-- Draw borders around text
	draw_borders = false,

-- Stippled borders?
	stippled_borders = 8,

-- border margins
--border_margin 4

-- border width
	border_width = 1,

-- Default colors and also border colors
	default_color = 'white',
	default_shade_color = 'black',
	default_outline_color = 'white',

-- Text alignment, other possible values are commented
--alignment top_left
--alignment top_right
	alignment = 'bottom_left',
--alignment bottom_right

-- Gap between borders of screen and text
-- same thing as passing -x at command line
	gap_x = 1450,
	gap_y = 20,

-- Subtract file system buffers from used memory?
	no_buffers = true,

-- set to yes if you want all text to be in uppercase
	uppercase = false,

-- number of cpu samples to average
-- set to 1 to disable averaging
	cpu_avg_samples = 2,

-- number of net samples to average
-- set to 1 to disable averaging
	net_avg_samples = 2,

-- Force UTF8? note that UTF8 support required XFT
	override_utf8_locale = true,


-- Add spaces to keep things from moving about?  This only affects certain objects.
--use_spacer left
--Note: doesn't work in conky 1.2 =(

--   mldonkey_hostname     Hostname for mldonkey stuff, defaults to localhost
--   mldonkey_port         Mldonkey port, 4001 default
--   mldonkey_login        Mldonkey login, default none
--   mldonkey_password     Mldonkey password, default none

};

conky.text = [[


${font Droid Sans:size=11}[STORAGE] ${font}${hr 1}${voffset 5}
Swap: $alignr${color lightgrey}$swapperc% ($swap/$swapmax)${color }
$alignr${color lightgrey}${swapbar 5,170}${color }

/boot: $alignr${color lightgrey}${fs_used_perc /boot}% (${fs_used /boot}/${fs_size /boot})${color }
$alignr${color lightgrey}${fs_bar 5,170 /boot}${color }

/: $alignr${color lightgrey}${fs_used_perc /}% (${fs_used /}/${fs_size /})${color }
$alignr${color lightgrey}${fs_bar 5,170 /}${color }

/home: $alignr${color lightgrey}${fs_used_perc /home}% (${fs_used /home}/${fs_size /home})${color }
$alignr${color lightgrey}${fs_bar 5,170 /home}${color }
#3TB-1: $alignr${color lightgrey}${fs_used_perc /home/zero/Disk/3TB-1}%(${fs_used /home/zero/Disk/3TB-1}/${fs_size /home/zero/Disk/3TB-1})${color }
#$alignr${color lightgrey}${fs_bar 5,170 /home/zero/Disk/3TB-1}${color }
#3TB-3: $alignr${color lightgrey}${fs_used_perc /home/zero/Disk/3TB-3}%(${fs_used /home/zero/Disk/3TB-3}/${fs_size /home/zero/Disk/3TB-3})${color }
#$alignr${color lightgrey}${fs_bar 5,170 /home/zero/Disk/3TB-3}${color }

#3TB-4: $alignr${color lightgrey}${fs_used_perc /home/zero/Disk/3TB-4}%(${fs_used /home/zero/Disk/3TB-4}/${fs_size /home/zero/Disk/3TB-4})${color }
#$alignr${color lightgrey}${fs_bar 5,170 /home/zero/Disk/3TB-4}${color }

#3TB-5: $alignr${color lightgrey}${fs_used_perc /home/zero/Disk/3TB-5}%(${fs_used /home/zero/Disk/3TB-5}/${fs_size /home/zero/Disk/3TB-5})${color }
#$alignr${color lightgrey}${fs_bar 5,170 /home/zero/Disk/3TB-5}${color }

#3TB-6: $alignr${color lightgrey}${fs_used_perc /home/zero/Disk/3TB-6}%(${fs_used /home/zero/Disk/3TB-6}/${fs_size /home/zero/Disk/3TB-6})${color }
#$alignr${color lightgrey}${fs_bar 5,170 /home/zero/Disk/3TB-6}${color }

8TB-0: $alignr${color lightgrey}${fs_used_perc /home/zero/Disk/8TB-0}%(${fs_used /home/zero/Disk/8TB-0}/${fs_size /home/zero/Disk/8TB-0})${color }
$alignr${color lightgrey}${fs_bar 5,170 /home/zero/Disk/8TB-0}${color }

8TB-1: $alignr${color lightgrey}${fs_used_perc /home/zero/Disk/8TB-1}%(${fs_used /home/zero/Disk/8TB-1}/${fs_size /home/zero/Disk/8TB-1})${color }
$alignr${color lightgrey}${fs_bar 5,170 /home/zero/Disk/8TB-1}${color }

8TB-2: $alignr${color lightgrey}${fs_used_perc /home/zero/Disk/8TB-2}%(${fs_used /home/zero/Disk/8TB-2}/${fs_size /home/zero/Disk/8TB-2})${color }
$alignr${color lightgrey}${fs_bar 5,170 /home/zero/Disk/8TB-2}${color }

8TB-3: $alignr${color lightgrey}${fs_used_perc /home/zero/Disk/8TB-3}%(${fs_used /home/zero/Disk/8TB-3}/${fs_size /home/zero/Disk/8TB-3})${color }
$alignr${color lightgrey}${fs_bar 5,170 /home/zero/Disk/8TB-3}${color }

#sdd: $alignr${color lightgrey}${fs_used_perc /home/zero/Disk/sdd}% (${fs_used /home/zero/Disk/sdd}/${fs_size /home/zero/Disk/sdd})${color }
#sdd: $alignr${color lightgrey}${fs_used_perc /home/zero/Disk/sdd}% (${fs_used /home/zero/Disk/sdd}/${fs_size /home/zero/Disk/sdd})${color }
#$alignr${color lightgrey}${fs_bar 5,170 /home/zero/Disk/sdd}${color }
]];



参考:

[1]Conky - ArchWiki

スポンサーリンク

スポンサーリンク


関連コンテンツ


この記事をシェアする

0 件のコメント:

コメントを投稿