Usman, acho que você tem pelo menos duas opções que eu já mencionei.
A maneira mais fácil
Crie um binário set-UID que (verifique quem o iniciou e permita o uso se o proprietário do processo pai puder executá-lo) execute o script preparado e saia. Coloque em inicialização no seu gerenciador de desktop, isso é tudo. Basta ser avisado que não é o melhor caminho e precisa de um pouco de codificação C. Basicamente, você precisa criar um código como este exemplo:
int main(){
setuid(0);
system("/bin/sh /root/bin/mounts.sh");
}
Esteja ciente de que isso é um truque, não uma solução, na verdade. E não se esqueça de usar direitos root: allowed_group e 4750 em binary se você não precisar que ele seja executado por todos. Lembre-se de adicionar todos os usuários que podem iniciar isto em allowed_group (escolha seu nome).
Uma boa maneira
Outra maneira, muito melhor, é fazer um tipo de daemon, gerado @ boot do sistema (digamos, de init-scripts), mas não tenho certeza exatamente como você vai detectar quando uma nova sessão X for iniciada, Neste tópico ainda, eu não posso dar nenhum aviso claro aqui.