Не используя Conky, я собираюсь дать ответ, основанный на некоторых предположениях, которые я сделал после прочтения различных разделов конфигурации, найденных на вики.
Мне кажется, что 'variables' используется в поле conky.text
, и другие поля шаблона не являются частью среды Lua. То есть синтаксис $
и ${}
, вероятно, не выполняет поиск в среде для интерполяции значений. Это может также означать, что переменная nodename
, с которой вы сравниваете, на самом деле равна nil
.
В любом случае, если ваша переменная lan
не интерполируется, быстрое решение состоит в том, чтобы просто объединить ваши строки:
conky.text = [[${color yellow}]] .. lan.. [[ ${alignr}${addr wlp9s0}]]
Или рассмотрите возможность написания собственной функции итерполяции строк, если вам нужна более чистая строка:
local function interp (s, t)
return s:gsub('(#%b{})', function (w)
return t[w:sub(3, -2)] or w
end)
end
conky.text = interp([[${color yellow}#{lan} ${alignr}${addr wlp9s0}]], {
lan = lan
})
Обратите внимание: если nodename
не является частью среды Lua, вы можете попробовать использовать io.popen
для запуска hostname
вручную, а затем прочитать из дескриптора файла, который он возвращает.
person
Oka
schedule
03.11.2016
conky.text = [[${color yellow}${lan} ${alignr}${addr wlp9s0}]]
с дополнительными{}
вокругlan
? - person Danil Gaponov   schedule 03.11.2016