외부 명령을 통해 Conky 변수를 사용하는 방법은 무엇입니까?

외부 명령을 통해 Conky 변수를 사용하는 방법은 무엇입니까?

Conky가 함수를 사용하여 사용자 이름을 자르는 해결 방법을 만들려고 합니다 top user. 을 사용하여 id -nu $uid다음을 시도했습니다.

${exec id -nu ${top uid \1}}

이로 인해 "잘못된 대체" 오류가 발생합니다. 최상위 함수가 정수 대신 문자열을 보내기 때문일 수도 있다고 생각하여 루아 함수를 만들어 보았습니다.

function conky_uid_to_name(uid)
    num = tonumber(conky_parse(uid))
    name = conky_parse('${exec id -nu ${num}}')
    return name
end

그러나 이것은 파서가 내 변수를 볼 수 없기 때문에 결코 작동하지 않습니다. nameConky가 올바르게 구문 분석하는 변수 에 변수를 어떻게 보내나요 ? 이 작업을 수행하는 더 쉬운 방법이 있다고 확신하지만 Lua 예제를 많이 찾지 못했고 해당 문서도 심각하게 부족합니다.

답변1

템플릿을 사용하지 않는 경우 상단에 결과를 제공한 후 eval을 사용하여 exec를 다시 분석할 수 있습니다.

${eval $${exec id -nu ${top uid 1}}}

실행 중인 exec 는 $$중지되지만 ${top은 실행이 허용됩니다.

관련 정보