Sim, você pode conceder ao seu usuário o direito de executar sudo du /var sem senha. Mostrarei mais tarde. No entanto, você realmente quer isso? Existem muito poucos arquivos e subdiretórios para os quais du precisa de acesso root. A diferença é relatada tamanho entre sudo du /var e du /var é pequena (pelo menos no meu sistema):
$ sudo du -s /var/
1830596 /var/
$ du -s /var/
1826040 /var/
Ambos resolvem exatamente o mesmo número de gigabytes:
$ sudo du -hs /var
1.8G /var
$ du -hs /var
1.8G /var
Então, uma diferença tão pequena realmente vale a pena? Parece-me que uma solução muito mais simples seria simplesmente ignorar as mensagens de erro enviando-as para /dev/null :
/var $alignr${exec du -sh /var 2>/dev/null | awk '{print $1}'}
Observe que removi o head , pois isso era necessário porque você estava usando a opção -c para imprimir o total.
Como du é muito pesado e duvido que você realmente precise dessa execução a cada alguns segundos, você também pode dizer a conky para executar o comando apenas uma vez por minuto:
/var $alignr${execi 60 du -sh /var 2>/dev/null | awk '{print $1}'}
Se você acha que realmente precisa do tamanho preciso de /var , execute sudo visudo e adicione esta linha:
schmiddl ALL=NOPASSWD:/usr/bin/du -ch /var
Depois de salvar o arquivo, o usuário schmiddl terá o direito de executar sudo du -ch /var sem uma senha, para que você possa adicioná-lo ao seu .conokyrc :
/var $alignr${execi 60 sudo du -sh /var | awk '{print $1}'}