我在 Dell Latitude E6230 上运行 Fedora 22。有一次我安装了一个软件补丁,导致合上盖子时笔记本电脑无法挂起。以前它可以正常工作,现在不行了。我不确定是什么补丁导致了这个问题,也不知道为什么。我也是 Linux 新手(但不是计算机新手),如果我没有调查我应该调查的事情,我很抱歉。
我调查过的内容:
我尝试取消注释这些行
/etc/systemd/logind.conf
然后重新启动:HandleLidSwitch=suspend LidSwitchIgnoreInhibited=yes HandleLidSwitchDocked=ignore
sudo journalctl -b -u systemd-logind
表示盖子正在检测其关闭和打开。
我尝试安装
gnome-power-manager
...但似乎没有效果。我安装了 gnome tweak tool,并将“合上盖子不暂停”设置为“关闭”。在操作过程中,我还将“电源按钮操作”更改为“休眠”,但电源按钮只会关闭笔记本电脑,合上盖子仍然不会暂停笔记本电脑。
然后我返回
/etc/systemd/logind.conf
并取消注释以下几行:HandlePowerKey=suspend HandleSuspendKey=poweroff
是的,这是倒退……但这个设置没有生效。也就是说,即使重新启动后,电源按钮仍然会关闭笔记本电脑,而挂起按钮将使笔记本电脑挂起。
这似乎向我证明该
/etc/systemd/logind.conf
文件和 gnome tweak 工具设置没有任何效果。我尝试了这个命令...但我不完全确定它的作用:
gsettings set org.gnome.settings-daemon.plugins.xrandr default-monitors-setup do-nothing
我在其中一个帖子中发现了这一点。此时我确实注意到,在底座上关闭盖子会使笔记本电脑暂停。所以我认为也许发生了一些双重负面行为。我更改了这些行只是为了测试:
HandleLidSwitch=ignore HandleLidSwitchDocked=suspend
结果是,当盖子关闭时,笔记本电脑在底座上不再处于挂起状态,当笔记本电脑离开底座时也不再处于挂起状态。
任何时候都没有连接任何外部监视器。
那么我到底错过了什么?什么可以覆盖这些设置?
答案1
我已经通过从启动程序中删除 ignore-lid-switch-tweak 程序解决了该问题。
从终端运行:gnome-session-properties
然后删除 ignore-lid-switch-tweak。
答案2
就我的情况(xubuntu 20.04)而言,我的 logind.conf 如下:
$> sudo cat /etc/systemd/logind.conf |grep Lid
HandleLidSwitch=suspend
HandleLidSwitchExternalPower=suspend
HandleLidSwitchDocked=suspend
LidSwitchIgnoreInhibited=yes
但是,是什么阻止了 logind 完成其工作,我必须用这个命令来弄清楚:
$> systemd-inhibit --list --mode=block
WHO UID USER PID COMM WHAT WHY >
xfce4-power-manager 1000 riccardo 1838 xfce4-power-man handle-power-key:handle-suspend-key:handle-hibernate-key:handle-lid-switch xfce4-power-manager handles these eve>
1 inhibitors listed.
显然这xfce4-power-manager
是在搞乱。
我打开了sfce4-settings-manager
-> Power Manager
,发现有两个选项,用于关闭对接或未对接笔记本电脑上的盖子,我必须将其配置为“暂停”。这样做一切正常。
答案3
我来这里是因为我有对面的问题(盖子关闭没有被忽略,而这正是我所需要的)。
我之前已经解决过一次这个问题,但似乎最新版本的 Fedora(我现在使用的是 Fedora 28)现在需要这两个条目,而之前只需要第一个:
user$ sudo vi /etc/systemd/logind.conf
HandleLidSwitch=ignore <---- Set both of these
HandleLidSwitchDocked=ignore <---- to ignore lid events.
user$ sudo systemctl restart systemd-logind
我希望这对其他人有所帮助。请不要因为我添加了针对相反问题的解决方案而投反对票。:)