Como já foi dito, sudo não é necessário (nem para executar comandos em rc.local em geral, nem para executar xgamma especificamente) mas o problema aqui é xgamma requer (é claro) o X servidor a ser executado, mas rc.local é executado (como é declarado nos comentários de rc.local ) no final de cada runlevel multiusuário, o que é muito antes de o servidor X ser iniciado.
Para executar o comando logo após o servidor X ser iniciado, crie um script chamado .xinitrc em ~ ( touch ~/.xinitrc ), marque-o como executável com chmod +x ~/.xinitrc e coloque o comando lá:
#!/bin/sh -e
xgamma -gamma .8
exit 0