如何在连接时保持计算机开机?

如何在连接时保持计算机开机?

我正在使用 Linux Mint Debian v2,64 位。

我希望计算机在停止使用后立即进入睡眠状态,因此我将不活动超时设置为 10 分钟。

但是,当我使用笔记本电脑通过 SSH 连接到计算机时,即使我正在执行复制文件或通过 samba 观看视频等操作,它也会进入睡眠状态。

如何在不更改睡眠时间设置的情况下停止此操作?究竟什么构成计算机进入睡眠状态的“无活动”?也许相反的情况更容易解释,什么构成活动让计算机保持唤醒状态?

我的笔记本电脑也是 LMDE v2。

答案1

初始化程序d中的所有脚本/etc/pm/sleep.d都将在进入睡眠模式之前执行,如果其中任何脚本返回非零状态,则不会进入睡眠模式。

因此,您可以在那里放置一个脚本,查找您不希望被识别为“PC 仍在使用”的所有进程,如果其中任何进程仍在运行,或者您能够编写脚本的任何其他条件,则只需返回 1。

对于 ssh,您可以用来netstat -tnpa | grep ESTABLISHED.*sshd检查打开的连接,对于 samba,您可以解析以下输出smbstatus


编辑: 如果您正在使用

系统: 创建一个/etc/systemd/system/dontsleep.service这样的

[Unit]
Description=Inhibit suspend in case of [some] activity
Before=sleep.target

[Service]
Type=oneshot
ExecStart=/usr/bin/sh -c "some command that that returns an failure exit status if you don't want the pc to go into sleep mode (e.g exit 1)"

[Install]
RequiredBy=sleep.target

现在,RequiredBy= & Before=sleep.target您的新dontsleep.service服务已成为 的依赖项sleep.target,并且在该服务成功执行之前,systemd 无法进入睡眠模式(例如exit 0

不要忘记启用它systemctl enable dontsleep.service

(从这里盗来的想法:https://bbs.archlinux.org/viewtopic.php?pid=1380080#p1380080

相关内容