Запустите скрипт как root сразу после входа в GUI - proUbuntu
0 голосов
/

По какой-то причине мои жесткие диски раскручиваются после входа в учетную запись.

В rc.local есть hdparm -y /dev/sda (sda - мой Data Raid, который никогда не монтируется в Linux, используется только для вырезания видео в Windows), который раскручивает мои hdds непосредственно во время загрузки.

проблема: как только я вхожу, они снова раскручиваются; поэтому я хочу снова запустить эту команду (для этого нужны права root) сразу после входа в Unity. (Ubuntu 15.10)

1 Ответ

2 голосов
/

Во-первых, вам нужно убедиться, что вы можете запустить эту команду с sudo без пароля. Итак, вы можете сделать это в файле sudoers:

sudo visudo

В этом файле вы должны увидеть строку, которая выглядит следующим образом:

YOURUSERNAME ALL = (ALL) ALL

Если нет, ничего страшного, не беспокойся об этом. Вы в группе sudoers, там же есть правило группы. Чтобы выполнить hdparm без пароля, вам просто нужно добавить для него правило:

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

Если это правило в самом конце, вы можете запустить эту программу без пароля. Ура!

Затем просто добавьте пользовательское приложение запуска в меню «Автозагрузка приложений»:

sudo hdparm -y /dev/sda

Поскольку вам не нужен пароль для него, он будет прекрасно работать при каждом входе в систему.

Если вы хотите запускать этот скрипт автоматически при выходе из режима ожидания / сна, вам нужно создать для него другой скрипт:

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

И использовать следующее содержимое:

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

Наконец, чтобы убедиться, что оно может быть выполнено:

sudo chmod a+x /lib/systemd/system-sleep/hdparm-resume.sh
...