1. 程式人生 > 實用技巧 >修復linux系統更新後Conky無法啟動的問題

修復linux系統更新後Conky無法啟動的問題

kali系統更新後的版本為

~$uname -a
Linux 4rk 5.9.0-kali5-amd64 #1 SMP Debian 5.9.15-1kali1 (2020-12-18) x86_64 GNU/Linux

進入系統後conky並未顯示,通過終端啟動報錯如下:

~$  conky
conky: Syntax error (/home/m4k0/.conkyrc:2: syntax error near 'yes') 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')

查資料後發現,更新後的conky對配置檔案解析更加嚴格,以前的形如double_buffer yes的格式會解析失敗,進而無法啟動。更詳細說明參見官方wiki
官方提供了轉換指令碼,可以把配置檔案轉換成新的可解析的格式。傳送門,由於眾所周知的原因,raw檔案可能會下載失敗,建議複製貼上程式碼到本地。
備份原有配置檔案,然後執行以下命令進行轉換。

chmod +x convert.lua
./convert.lua .conkyrc conkyrcc
mv conkyrcc .conkyrc

注:如果出現下列問題,需要安裝lua環境後再執行轉換指令碼,安裝命令:sudo apt-get install lua5.4

./convert.lua .conkyrc conkyrcc
./convert.lua: line 3: local: can only be used in a function
./convert.lua: line 4: Usage:: command not found
./convert.lua: line 5: Tries: command not found
./convert.lua: line 6: Keep: command not found
./convert.lua: line 7: with: command not found
./convert.lua: line 8: should: command not found
./convert.lua: line 9: Although: command not found
./convert.lua: line 21: unexpected EOF while looking for matching `"'
./convert.lua: line 156: syntax error: unexpected end of file

啟動conky,熟悉的介面又回來了