How can I prevent acpid from notifying its clients about button/lid events?
> cat /etc/acpi/events.ignore/events.ignore
...
button/lid*
> cat /etc/acpi/events/default
event=button/lid*
action=/etc/closelid.sh
Acpid does not seem to take care of events.ignore at all since the same kind of event is handeled correctly by events/default.
> ps -p 3521 3473 3289 3617
PID TTY STAT TIME COMMAND
3289 ? S 0:00 hald-addon-acpi
3473 ? S 0:00 /usr/sbin/powersaved ...
3521 ? S 0:00 /usr/sbin/iald
3617 tty7 SLs+ 0:38 /usr/X11R6/bin/X ...
Especially the X11R6 client should not be notified. All the work is done by /etc/closelid.sh so that no clients need should be signalled any more. The sense is to prevent Xorg from starting the screen saver if only one of two monitors get disconnected.
> tail -f -n 0 acpid
Apr 28 20:34:13 sonic [acpid]: received event "button/lid LID 00000080 0000000b"
Apr 28 20:34:13 sonic [acpid]: notifying client 3521[0:0]
Apr 28 20:34:13 sonic [acpid]: notifying client 3473[0:0]
Apr 28 20:34:13 sonic [acpid]: notifying client 3289[0:0]
Apr 28 20:34:13 sonic [acpid]: notifying client 3617[0:0]
Apr 28 20:34:13 sonic [acpid]: executing action "/sh/closelid.sh"
Apr 28 20:34:13 sonic [acpid]: BEGIN HANDLER MESSAGES
Apr 28 20:34:13 sonic [acpid]: END HANDLER MESSAGES
Apr 28 20:34:13 sonic [acpid]: action exited with status 1
Sorry, I'm not clear on what this feature request is?
The idea is to add button/lid* to events.ignore in order to prevent KDE and Gnome from wrongly powering the external monitor off, if the notebook lid is closed. However acpid seems to ignore this entry even after an /etc/init.d/acpid restart;
related upstream bug: https://bugzilla.novell.com/show_bug.cgi?id=429122
Two things here:
1) events.ignore is not a feature of acpid. If someone has patched something like that in, they have never sent me the patch. Way to go.
2) in general, closing the lid is a suspend operation, not a "turn this monitor off" operation. I don't know any laptop that works as you describe you want. That's not to say it can't, just that your assertion that it SHOULD does not hold water.
In my experience, KDE and GNOME pay no attention to acpid. Try killing acpid (killall acpid or "/etc/init.d/acpid stop" might work) then retest your problem to see if it still exists. If so, then acpid is not (necessarily) to blame.