후속 라인의 conky에서 execi의 출력을 어떻게 사용할 수 있습니까?

후속 라인의 conky에서 execi의 출력을 어떻게 사용할 수 있습니까?

저는 코더가 아니며 Linux 배포판의 기본 배포를 위해 conky를 사용하려는 사람일 뿐입니다. 여기서는 자동 net 설정을 얻으려고 합니다.

  1. 여기와 다른 곳의 게시물에 이어 다음 줄을 사용하여 활성 네트워크 인터페이스를 인쇄할 수 있습니다.

    ${color2}활성: ${color3}${execi -300 netup}${color}

"netup"은 /usr/local/bin/에 있는 한 줄의 작은 스크립트를 나타냅니다.

ip addr show | awk '/inet.*brd/{print $NF; exit}'

내 경우에는 화면에 다음과 같은 선이 생성됩니다.활성: 인터페이스_이름(아래 이미지 참조). 지금까지는 매우 훌륭했습니다.

  1. 이제 트래픽이나 기타 넷 정보에 대한 인터페이스별 명령을 해당 스크립트가 출력하는 이름으로 바꾸고 싶습니다. 그러면 나와 사용자가 어느 정도 번거로움을 덜 수 있을 것입니다. 나는 이것을 시도했는데 wlan0 등을 사용하면 잘 작동합니다.

    아래: ${downspeedf netup}kB/s ${alignr}위: ${upspeedf netup}kB/s ${downspeedgraph netup 30,120 000000 000000} ${alignr}${upspeedgraph netup 30,120 000000 000000}

분명히 정확하지 않습니다. 그래프에는 표시되지만 내용은 없습니다. 내용이 없는 순 그래프

두 가지 질문: 1) ​​방금 한 줄 전에 작성된 활성 인터페이스를 읽을 수 있는 방법이 있습니까?; 2) 그렇지 않다면 어떻게 netup 스크립트의 출력을 하향 및 상향 그래프에 통합할 수 있습니까?

도움을 주셔서 감사합니다.

실내 변기

답변1

당신이 할 수 있는 일은 스크립트를 호출하고 인터페이스 이름을 반환할 때까지 호출 등을 eval지연시키는 것 입니다.upspeedf

예를 들어,

${eval $${downspeedgraph ${exec netup} 30,120 000000 000000} } 
${alignr}
${eval $${upspeedgraph   ${exec netup} 30,120 000000 000000} }

두 배로 늘리면 평가용 $단일이 됩니다 . $안타깝게도 각 업데이트 주기마다 스크립트가 호출되므로 스크립트를 최적화하는 것이 좋습니다. execi간격을 두고 사용해도 별 차이는 없습니다 .

완전한 다양성을 위해서는 루아 함수를 사용해야 하는데, 이는 배워야 할 것이 꽤 많습니다. 인터페이스가 시작 시 한 번만 결정되어야 한다면 작은 시작 스크립트를 작성하여 인터페이스 이름을 찾고 conky를 실행하기 전에 해당 이름으로 .conkyrc 파일을 편집하는 것이 좋습니다.


참고, ${eval}버전 1.10에서는 이 기능이 손상되었습니다.반점제 생각에는 1.10.3 또는 .4용인 것 같습니다.

관련 정보