X 分钟后让 Ubuntu PC 进入待机状态

X 分钟后让 Ubuntu PC 进入待机状态

我们一直sleepd在使用 ubuntu 12.04,让公共桌面在 5-10 分钟不活动后暂停。我们计划部署 13.10(稍后将迁移到 14.04),并且发现该sleepd软件包不见了

是否有其他工具或系统范围的设置可以完成此工作?其他系统管理员如何解决此问题?

编辑:我们的宿舍里有 90 多名学生。有些学生拥有普通用户访问权限,有些学生仅使用访客帐户。当没有任何用户登录时,解决方案必须有效。

答案1

我没有测试过,可能错过了一步。

  1. 使用系统设置 → 电源 / 亮度。根据需要设置所有需要的设置
  2. 根据当前用户设置创建一个覆盖文件并将其放置在/usr/share/glib-2.0/schemas/

    echo "[org.gnome.settings-daemon.plugins.power]" > 90_mypower.gschema.override
    gsettings list-recursively org.gnome.settings-daemon.plugins.power | awk '{ gsub("org.gnome.settings-daemon.plugins.power ","") ; print $1"="$2 }' >> 90_mypower.gschema.override
    
    sudo mv 90_mypower.gschema.override /usr/share/glib-2.0/schemas/
    sudo chown root:root /usr/share/glib-2.0/schemas/90_mypower.gschema.override
    sudo chmod +r /usr/share/glib-2.0/schemas/90_mypower.gschema.override
    
  3. 编译架构

    sudo glib-compile-schemas /usr/share/glib-2.0/schemas
    
  4. 为所有密钥创建一个锁文件org.gnome.settings-daemon.plugins.power并将其放置在/etc/dconf/db/gdm.d/locks/

    gsettings list-keys org.gnome.settings-daemon.plugins.power | xargs -L 1 -I{} echo /org/gnome/settings-daemon/plugins/power/{} > 90-mypower-locks
    
    sudo cp 90-mypower-locks /etc/dconf/db/gdm.d/locks/90-mypower-locks
    sudo chown root:root /etc/dconf/db/gdm.d/locks/90-mypower-locks
    sudo chmod +r /etc/dconf/db/gdm.d/locks/90-mypower-locks
    
  5. 锁具更新

    sudo dconf update
    

当您寻找系统管理时,很高兴了解到:

  1. 关注dconf变化

    dconf watch /
    
  2. 从 GUI 更改电源设置,观察消息

  3. 打开dconf-editor,按照相同的路径,选择一个键
  4. 查看底部,它显示了其模式名称/ID:org.gnome.settings-daemon.plugins.power

参考:

答案2

如果您坚持要安装 sleepd,本答案的底部提供了安装说明。但是,该软件包对于现代硬件来说已经过时了。

如果你要编写程序,可以考虑以下来源:

而不是使用sleep(3)在代码中(如 sleepd 所做的那样),如果你使用poll(3)或者select(3)具有超时参数。(这假设设备/dev/input/*是可轮询的,我不知道是否如此,但你应该查阅文档)


上游 (git 仓库)已经删除了默认的 hal 依赖项(犯罪),因此您可以尝试从源代码构建。以下命令在 Kubuntu 13.10 Live 环境中进行了测试。它安装构建依赖项,修复 Makefile 中阻止 HAL 被禁用的错误,最后创建一个 deb 包。

sudo apt-get install build-essential git debhelper libapm-dev
git clone git://git.kitenet.net/sleepd.git
cd sleepd
sed 's/ifdef USE_HAL/ifeq ($(USE_HAL), 1)/' -i Makefile
dpkg-buildpackage -b -us -uc

这会sleepd_2.05_amd64.deb在父目录中生成一个包,然后您可以将其安装在机器上。此包需要有电池或 AC 接口(例如/sys/class/power_supply/*),否则它将尝试 APM。由于现代机器不使用 APM,而是使用 ACPI,因此它将静默退出。

因此,虽然软件包可以顺利构建和安装,但如果尚未实现这样的功能,那么您最好编写一个新的守护进程。

答案3

系统设置下的电源设置是否缺失,因为在那里你可以以图形方式设置时间

在此处输入图片描述

正如您所看到的,如果您有这个(我相信您有),那么您可以修改它。

相关内容