首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有一种在重启时重新启动acpid的方法?

是否有一种在重启时重新启动acpid的方法?
EN

Unix & Linux用户
提问于 2019-07-14 01:10:46
回答 1查看 1.4K关注 0票数 2

我安装了一个名为thinkpad-scripts的软件包。简单地说,它的一堆脚本激活了linux上thinkpad设备上的各种功能,而这些功能在新安装时是无法发挥作用的。

我有脚本等工作,但每当我重新启动我的机器。当我的笔记本电脑转换为平板模式时,自动旋转功能不起作用。我注意到罪魁祸首与acpid有关。当我在终端中重新启动acpid时,它再次工作。是否有一种方法可以在重新启动时自动重新启动acpid,这样我就不必一而再、再而三地这样做了吗?

我在运行64位Debian

编辑:我试过用crontab -e制作一个cron作业

在我的文件末尾写,在结尾留下一条换行符

@reboot sh $HOME/acpid_restart.sh

脚本acpid_restart.sh包括

代码语言:javascript
复制
#!/bin/sh 
systemctl restart acpid

但这还是失败了..。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2019-07-14 05:34:27

首先,确保acpid.service实际上是在引导期间启动的。主机重新启动后,使用此命令验证:

代码语言:javascript
复制
# systemctl status acpid.service

应该说是startedenabled。如果没有,那么systemctl enable acpid.service可能会通过在重新启动时实际启动服务来解决问题。

第二,如果服务在引导期间实际启动,那么检查日志,看看它是否有问题。您应该已经从systemctl status输出中的日志中看到了一些行,然后您可以使用以下方法从该服务获得更多日志:

代码语言:javascript
复制
# journalctl -u acpid.service

您还可以查看上次重新启动后的所有日志,使用:

代码语言:javascript
复制
# journalctl -b

这可能会显示出与您正在经历的问题相关的其他问题。

如果结果是acpid.service在引导过程中实际启动,并且屏幕旋转在重新启动之前无法工作,那么很可能它在引导过程中启动得太早,这就是导致它在重新启动之前出现错误行为的原因。希望,如果是这样的话,日志可能会为您提供更多的细节,从而使您能够解决这个问题。

(如果您通过这个建议进行故障排除,请发布更新,如果您能够更具体地了解所见的症状,我很乐意给出更多的提示。)

最后,使用cron来管理systemd服务很可能不像预期的那样有效。

如果您确实希望在启动后的某个时候强制服务重新启动,那么使用systemd计时器是一种更好的方法。您可以在启动时禁用服务,并在系统启动一段时间后使用计时器单元实际启动它,或者在启动时继续启用它,并使用计时器单元触发单独的服务单元(也许是restart-acpid.service?)它使用Type=oneshot并执行/usr/bin/systemctl restart acpid.service命令(或者包装器脚本,它基本上是这样做的)。

然而,这是相当讨厌的。所以我建议你通过找到真正的原因来解决真正的问题,而不是投资于这样一个笨重的解决方法。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/530036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档