Dunst - A customizable and lightweight notification-daemon 1.4.1 (2019-07-03)
dunst
来自官方 Arch 仓库Arch Linux
原问题: https :
在这里询问,因为betterlockscreen
和xtrlock
。
我正在使用 Arch Linux 和以下软件包:
我的问题是dunst
通知仍然出现在锁屏上。
我已经运行systemctl enable betterlockscreen@$USER
来启用用户服务。
如果我理解正确,由于启用了 systemd 用户服务,betterlockscreen 在锁定之前执行以下操作,在解锁之后执行此操作。
我尝试使用锁屏脚本复制这些命令,而不是使用常规的betterlockscreen -l -t ""
命令作为解决方法(因为dunst
通知仍然显示),但不幸的是它没有任何区别。
lockscreen.sh
#!/bin/bash
pkill -u "$USER" -USR1 dunst
betterlockscreen -l -t ""
pkill -u "$USER" -USR2 dunst
_注意:我也按照Arch Wiki上的建议尝试了killall -SIGUSR1 dunst
和killall -SIGUSR2 dunst
这是xidlehook
AUR触发的方式:
~/.xinitrc
#!/bin/bash
dunst &
xset s on &
xset s 600 &
xidlehook \
--not-when-fullscreen \
--not-when-audio \
--timer 300 '~/scripts/lockscreen.sh' '' &
所以基本上,屏幕会在 5 分钟后锁定,并在再过 5 分钟后关闭。 这工作得很好,我唯一的问题是dunst
通知仍然显示在锁屏上。
复制是相当困难的。
提前致谢。
编辑:我还使用picom
在以下picom.conf
:
配置文件
backend = "glx";
glx-no-stencil = true;
glx-copy-from-front = false;
shadow = false;
shadow-radius = 5;
shadow-offset-x = -5;
shadow-offset-y = -5;
shadow-opacity = 1;
shadow-ignore-shaped = false;
inactive-opacity = 1;
active-opacity = 1;
frame-opacity = 1;
inactive-opacity-override = false;
detect-client-opacity = true;
blur-background = false;
blur-background-frame = false;
blur-background-fixed = false;
fading = true;
fade-delta = 4;
fade-in-step = 0.03;
fade-out-step = 0.03;
fade-exclude = [ ];
mark-wmwin-focused = true;
mark-ovredir-focused = true;
use-ewmh-active-win = true;
detect-rounded-corners = true;
refresh-rate = 0;
vsync = true;
dbe = false;
unredir-if-possible = false;
focus-exclude = [ ];
detect-transient = true;
detect-client-leader = true;
wintypes:
{
tooltip =
{
# fade: Fade the particular type of windows.
fade = true;
# shadow: Give those windows shadow
shadow = false;
# opacity: Default opacity for the type of windows.
opacity = 1;
# focus: Whether to always consider windows of this type focused.
focus = true;
};
popup_menu = { opacity = 1; };
};
xrender-sync-fence = true;
好吧,我是这个的维护者,我什至有同样的问题。 :see_no_evil: 我使用 i3lock 作为锁屏,我使用 compton 作为合成管理器。
在我们的研究中,我们发现,它与您系统的合成器相关联,它引入了一些奇怪的竞争条件等等...... :confused: Ref: i3/i3lock#204 #553
除了合成器问题,上面提到的暂停/取消暂停解决方案是我的解决方法,它在我的情况下完美运行。
至于为什么它在这里不起作用,我怀疑这是betterscreenlock
一个错误,从它调用 i3lock 的脚本的快速阅读来看,没有--nofork
所以 i3lock 在启动时立即分叉,这使得它运行取消暂停命令。
在我们的研究中,我们发现,它与您系统的合成器有关,
感谢您提供的信息,我将暂时禁用picom
,看看是否能解决问题。
除了合成器问题,上面提到的暂停/取消暂停解决方案是我的解决方法,它在我的情况下完美运行。
对于为什么它在这里不起作用,我怀疑这是 Betterscreenlock 中的一个错误,从它调用 i3lock 的脚本的快速通读来看,没有 --nofork 所以 i3lock 在启动时立即分叉,这使它运行 unpause 命令。
正如我所说,这个问题也发生在xtrlock
(如果我没记错的话,它不使用i3lock
),用以下脚本调用:
lockscreen.sh
:
#!/bin/bash
pkill -u "$USER" -USR1 dunst # or killall -SIGUSR1 dunst
xtrlock -b
pkill -u "$USER" -USR2 dunst # or killall -SIGUSR2 dunst
所以我禁用了picom
并且我可以确认在过去的大约 15 小时内我的锁屏上没有出现任何通知(目前使用betterlockscreen
)。 我解锁后都显示出来了。
我可以确认我在运行 picom 时遇到了同样的问题。 禁用它也可以解决问题,但不幸的是我需要它。 也许我们应该把它带到 picom?