登录 GUI 后立即以 root 身份运行脚本

登录 GUI 后立即以 root 身份运行脚本

由于某种原因,我登录帐户后硬盘就开始旋转了。

在 rc.local 中hdparm -y /dev/sda(sda 是我的数据 Raid,它从未在 linux 中安装,仅用于在 windows 中剪切视频),它会在启动时直接关闭我的硬盘驱动器。

问题:我一登录它们就再次启动;所以我想在登录到 unity 后直接再次运行此命令(需要 root 权限)。(ubuntu 15.10)

答案1

首先,您需要确保无需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

相关内容