起因
昨晚家里新装了Debian12和Gnome桌面环境,调试发现,远程SSH连接服务过一会儿会自动不可用。
打开Grome桌面环境,发现 电源设置
被设置为 20分钟后 自动挂起
,故将其禁用。
第二天去公司,试一下家里的SSH服务,发现又连不上。以前安装不带图形桌面的Debian都没这么坑。
总结:如果安装Linux的主要目的是为了当服务器使用,强烈不推荐安装图形桌面环境。
解决
从2个方面入手解决:
- 系统systemctl相关服务禁用
- 禁用Gnome桌面相关的休眠设置项
Debian系统systemctl服务设置:
# 禁用休眠
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
# 启用休眠
sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target
# 查看休眠服务启用状态
sudo systemctl status sleep.target suspend.target hibernate.target hybrid-sleep.target
Gnome休眠设置:
# 运行gdm设置
sudo -u gdm dbus-launch gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'nothing'
# 笔记本运行
sudo -u gdm dbus-launch gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-type 'nothing'
设置GNOME的GDM3:
sudo nano /etc/gdm3/greeter.dconf-defaults
[org/gnome/settings-daemon/plugins/power]
# sleep-inactive-ac-type='nothing'
# sleep-inactive-battery-type='nothing'
sleep-inactive-ac-timeout=0
sleep-inactive-battery-timeout=0
重启GDM3:
sudo systemctl restart gdm3
为防止网卡自动休眠,最好还要修改grub:
sudo nano /etc/default/grub
...
# 文件最下方添加: pcie_aspm=off
# 更新grub设置
sudo update-grub && sudo update-grub2
设置完之后如果还不行可以重启下机器。
[教程]解决Debian 20分钟自动休眠,需要电源键唤醒问题 https://amagi.yukisaki.io/article/bd2e9dc0-3016-4140-81a2-9f8d89a1eed3/
Suspend - Debian Wiki https://wiki.debian.org/Suspend
How to Disable Sleep, Hibernate, and Suspend on [Debian] Linux via Terminal https://gitlab.com/-/snippets/2515869
auto-suspend can't be disabled when GDM is active https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/22