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}'}