如何在没有 sudo 的情况下使用 systemd-inhibit?

如何在没有 sudo 的情况下使用 systemd-inhibit?

我有一台运行 Ubuntu 16_04 的 SBC (pine64),我有一个很长的过程要做(构建 tensorflow)。我使用命令nohup将该过程从我的 SSH 会话中分离出来,但连续两天我的主板在午夜重启。我发现我可以使用 来抑制重启、睡眠和关机systemd-inhibit

%JAVA_HOME有没有办法不使用 sudo 来使用此命令?使用以下命令启动时,Bazel 构建无法识别我的sudo...

这是我正在尝试运行的命令:

systemd-inhibit --why="Compiling TF" nohup bazel build -c opt --copt="-funsafe-math-optimiza
tions" --copt="-ftree-vectorize" --copt="-fomit-frame-pointer" --verbose_failures tensorflow/tools/pip_package:build_pip_pa
ckage &  

这给了我:

Failed to inhibit: Access denied

有什么建议吗?

答案1

您可以systemd-inhibit --what=idle以普通用户身份使用,以防止机器因系统空闲而挂起。其他锁定需要提升权限。

答案2

我已经测试过systemd-inhibit --what=idlesystemd-inhibit --what=sleep命令,它们都可以在普通用户中使用。

顺便说一句,如果您使用,elogind-inhibit所有--what=参数都有效(如果您设置了一个)。

相关内容