当没有用户登录时

当没有用户登录时

我们有一个运行 Ubuntu 18.04 的共享办公室桌面,其中多个作业(通过 ssh 和 screen)通常在多个帐户上运行数周。登录帐户后,睡眠/挂起功能会通过以下方式停用:

  1. 主系统设置中的电源设置
  2. 使用gnome-tweak-tool,将“笔记本电脑盖关闭时暂停”设置为关闭。

只要具有这些电源设置的用户始终直接登录到机器(即物理登录,而不是通过 ssh),这就可以正常工作。

问题是指当前没有用户直接登录,即机器处于主登录屏幕(如启动时)。当未登录特定帐户时,似乎没有办法设置睡眠/暂停设置。因此,如果机器停留在此屏幕上,它最终会进入睡眠状态,暂停所有正在运行的作业。

正如我提到的,只要一些用户已登录。然而,这被视为安全风险。因此,我们希望找到一个更好的系统级解决方案。

我应该提到,我们还有另一台运行 Ubuntu 16.04 的办公室台式机,它没有这个问题。

答案1

当没有用户登录时

当没有用户登录时,电源设置来自伪用户 ID gdm。以下控件用于GDM 自动暂停来自:ArchLinux GDM

GDM 自动暂停(GNOME 3.28)

GDM 使用单独的 dconf 数据库来控制电源管理。您可以通过将用户设置复制到 GDM 的 dconf 数据库来使 GDM 的行为与用户会话相同。

$ IFS=$'\n'; for x in $(sudo -u username gsettings list-recursively org.gnome.settings-daemon.plugins.power); do eval "sudo -u gdm dbus-launch gsettings set $x"; done; unset IFS

username您的用户名是哪里?

或者简单地禁用自动挂起(也可以运行命令,将 ac 替换为 battery,以便在使用电池运行时禁用它):

$ sudo -u gdm dbus-launch gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'nothing'

答案2

编辑文件/etc/systemd/logind.conf

你可以在那里找到这一行:

#HandleLidSwitch=suspend

更改为:

HandleLidSwitch=ignore

现在您的登录屏幕也会忽略您的盖子开关。

有一个很好的 logind.conf 的 ubuntu 手册页:

http://manpages.ubuntu.com/manpages/cosmic/man5/logind.conf.5.html

要通过 policykit 禁用暂停(系统范围设置),请按照以下说明进行操作:

https://sites.google.com/site/easytipsforlinux/disable-hibernate-and-suspend

答案3

您必须更改用户的设置孕期

作为执行

sudo -Hu gdm dbus-launch dconf write /org/gnome/settings-daemon/plugins/power/sleep-inactive-ac-timeout 3600
sudo -Hu gdm dbus-launch dconf write /org/gnome/settings-daemon/plugins/power/sleep-inactive-ac-type "'nothing'"
sudo -Hu gdm dbus-launch dconf write /org/gnome/settings-daemon/plugins/power/sleep-inactive-battery-timeout 1800
sudo -Hu gdm dbus-launch dconf write /org/gnome/settings-daemon/plugins/power/sleep-inactive-battery-type "'nothing'"

(可能您不需要这两行带有超时的内容。)

使用以下方式检查设置

sudo -u gdm dconf dump /

答案4

如果你使用的是 UBUNTU 18.04,则可以使用名为

咖啡因指标

您可以从软件商店获取它并安装它。

激活它,以便手动控制桌面的空闲状态

希望如此,这会有所帮助。

相关内容