Execute o script como root imediatamente após o login no gui

0

Por algum motivo, meus discos rígidos são acionados depois que eu faço login na minha conta.

No rc.local é um hdparm -y /dev/sda (sda é o meu Data Raid que nunca é montado no linux, usado apenas para o corte de vídeo no Windows) que reduz meus hdds diretamente no tempo de inicialização.

problema: assim que entro no sistema, eles giram novamente; então eu quero executar este comando novamente (precisando de direitos de root para isso) diretamente após o login na unidade. (ubuntu 15.10)

    
por Tobi 24.02.2016 / 18:34

1 resposta

2

Primeiro, você precisa ter certeza de que pode executar esse comando com sudo sem precisar de uma senha. Então, você pode fazer isso no arquivo sudoers :

sudo visudo

Neste arquivo, você verá uma linha parecida com:

YOURUSERNAME ALL = (ALL) ALL

Se não, tudo bem, não se preocupe muito com isso. Você está no grupo sudoers na regra do grupo que está lá também. Para executar hdparm sem uma senha, você só precisa adicionar uma regra para ela:

YOURUSERNAME ALL = (root) NOPASSWD: /sbin/hdparm

Se essa regra estiver no final, você poderá executar esse programa sem uma senha. Yay!

Em seguida, basta adicionar um aplicativo de inicialização personalizado no menu "Aplicativos de inicialização":

sudo hdparm -y /dev/sda

Como você não precisa de uma senha para isso, ele será executado muito bem sempre que você fizer login.

Se você quiser executar esse script automaticamente quando retomar de um suspender / dormir, será necessário criar outro script para ele:

sudo YOURTEXTEDITOR HERE /lib/systemd/system-sleep/hdparm-resume.sh

E use o seguinte conteúdo:

#!/bin/sh
case $1/$2 in
  pre/*)
    exit 0
    ;;
  post/*)
    sudo hdparm -y /dev/sda
    exit 0
    ;;
esac

Finalmente, para garantir que ele possa ser executado:

sudo chmod a+x /lib/systemd/system-sleep/hdparm-resume.sh
    
por user323419 24.02.2016 / 18:43