标签: notify-send

通知发送通知类别、提示和版本参数是什么意思?

notify-send命令手册说

Usage:
  notify-send [OPTION...] <SUMMARY> [BODY] - create a notification

Help Options:
  -?, --help                        Show help options

Application Options:
  -u, --urgency=LEVEL               Specifies the urgency level (low, normal, critical).
  -t, --expire-time=TIME            Specifies the timeout in milliseconds at which to expire the notification.
  -i, --icon=ICON[,ICON...]         Specifies an icon filename or stock icon to display.
  -c, --category=TYPE[,TYPE...]     Specifies the notification category.
  -h, --hint=TYPE:NAME:VALUE        Specifies basic extra data to pass. Valid types are int, double, string and byte.
  -v, --version                     Version of …
Run Code Online (Sandbox Code Playgroud)

libnotify notify-send

23
推荐指数
1
解决办法
8602
查看次数

从 udev 规则调用通知发送

我使用 Linux Mint 13 MATE,并且在插入/拔出设备时尝试设置通知。

首先,我找到了udev-notify包,但不幸的是它几乎对我不起作用:它工作的时间很短(1-2 分钟),然后,如果我连接/断开任何设备,它会崩溃:

Traceback (most recent call last):
  File "./udev-notify.py", line 319, in <module>
    notification.show()
glib.GError: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name :1.1061 was not provided by any .service files
Run Code Online (Sandbox Code Playgroud)

我还没有找到任何解决方案,所以我不得不将其删除。(日提交错误报告也)

令人惊讶的是,到目前为止我还没有找到类似的实用程序。然后我尝试编写应该匹配所有设备的 udev 规则。我添加了新文件/etc/udev/rules.d/notify.rules

ACTION=="add",    RUN+="/bin/bash /home/dimon/tmp/device_plug.sh"
ACTION=="remove", RUN+="/bin/bash /home/dimon/tmp/device_unplug.sh"
Run Code Online (Sandbox Code Playgroud)

和两个脚本:

device_plug.sh:

#!/bin/bash

export DISPLAY=":0"
notify-send "device plugged"

/usr/bin/play -q /path/to/plug_sound.wav &
Run Code Online (Sandbox Code Playgroud)

device_unplug.sh:

#!/bin/bash

export DISPLAY=":0"
notify-send "device unplugged"

/usr/bin/play -q /path/to/unplug_sound.wav &
Run Code Online (Sandbox Code Playgroud)

它有效,但它的工作非常愚蠢。我的问题是:

  1. 如何获取附加设备的实际标题,与我在lsusb输出中看到的相同?目前,我只收到诸如“已插入”和“未插入”之类的通知,但我找不到如何在我的 udev 规则中检索设备名称(如果可以,我会将它作为范围)
  2. 目前,激活的通知太多。比如说,当我连接 U 盘时,我收到了大约 15 …

udev notifications devices notify-send

13
推荐指数
1
解决办法
1万
查看次数

notify-send - 当消息超过一行时如何显示完整消息?

假设我使用notify-send这些长消息:

notify-send 'd: title, up/down: zoom, w: win_to_img, </>: rotate, *: orig, Enter/0: blah blah blah'
Run Code Online (Sandbox Code Playgroud)

但它会截断消息,只显示其中的一部分,而没有查看完整消息的选项:

在此处输入图片说明

使用 Fedora 21,我能够查看完整消息(在底部弹出滚动条),但使用 Fedora 24 则无法查看。

版本notify-send是 libnotify-0.7.6-8.fc24.i686。

无论如何要在 Fedora 24 中显示完整消息吗?

notifications gnome-shell libnotify notify-send

7
推荐指数
1
解决办法
4650
查看次数

了解“通知发送”的选项

我已经浏览了手册页notify-send,但我无法理解以下两个选项

-u, --urgency=LEVEL Specifies the urgency level (low, normal, critical).
-h, --hint=TYPE:NAME:VALUE
          Specifies basic extra data to pass. Valid types are int, double, string and byte.
Run Code Online (Sandbox Code Playgroud)

我相信紧急度的唯一用途是显示高紧急度通知,即使低紧急度在队列中。但什么是提示?我找不到关于它的更多信息。类型我理解,但是 NAME:VALUE 将在哪里使用?

除上述内容外,该-t选项还显示“以毫秒为单位的超时时间”,但我看到通知的停留时间超过了给定值。甚至不尊重给定的价值。例如我给了-t 400。通知应在 400 毫秒后关闭,但它会在大约 5 秒后消失。

有关上述问题的任何信息?

notify-send

5
推荐指数
1
解决办法
5354
查看次数

有没有办法在 Linux 桌面和 iOS 之间同步通知?

我在我的桌面上使用notify-senddunst作为我的通知系统。

经过研究,我发现有一些商业解决方案可以向iOS设备发送推送通知,我什至使用Pushover编写了一个脚本。

但是,我没有找到任何方法来从我桌面上显示的 iPhone 获取通知。(最好使用统一的通知系统,例如使用notify-send)。我知道 OSX 对此有很好的支持,所以我想这不是不可能的,但我没有找到任何可行的解决方案。

当然,最好的解决方案是完全同步,包括在一个地方读取通知时从两个地方删除通知。

当然,很多问题已经解决了。电子邮件、Facebook 等通知基本上可以“同步”开箱即用。

我可以编写脚本,包括必须编写自定义过滤器等。如果没有完整的解决方案,我对仅获取构建块感到满意,尤其是那些以某种方式将 iOS 通知发送到我的桌面的东西。

编辑:我添加了标签蓝牙,因为我了解到 OSX 使用蓝牙 LE 来做到这一点。不过,查找蓝牙 LE 支持仍然没有帮助我。

notifications bluetooth synchronization ios notify-send

5
推荐指数
1
解决办法
987
查看次数

设置通知发送点击动作

notify-send在 bash 脚本中给出一些简单的命令,例如

notify-send "test"
Run Code Online (Sandbox Code Playgroud)

当用户单击该通知时,如何使确定的窗口获得焦点?我以为玩转-a开关会做些什么,但我无法让它在 GNOME Shell 和 XFCE 上工作。

focus notify-send

5
推荐指数
1
解决办法
1086
查看次数

Pop! 中的通知发送替代命令是什么?操作系统

notify-sendManjaro Linux中使用发送通知,如下:

notify-send [OPTIONS] [Message Summary] [Message Body]
Run Code Online (Sandbox Code Playgroud)

然而,我搬到了流行音乐!操作系统和我发现command not found: notify-send

我听说notify-send已经死了,所以我试图找到一个替代命令来在Pop!中发送通知。操作系统

是否也可以在 Pop! 中安装通知发送?操作系统?

linux notifications notify-send pop-os

5
推荐指数
1
解决办法
1890
查看次数

通知发送在 Cinnamon 中不起作用

我正在使用Linux Mint 17.
我想每 50 分钟收到一次通知,每小时一次的小休息。

这是cron 工作

nazar@desktop ~ $ crontab -l

DISPLAY=:0.0
XAUTHORITY=/home/matrix/.Xauthority

00 13 * * * /home/nazar/Documents/scripts/lunch_break_job.sh # JOB_ID_2
50 * * * * /home/nazar/Documents/scripts/pc_break.sh # JOB_ID_1
* * * * * /home/nazar/Documents/scripts/cron_job_test.sh # JOB_ID
Run Code Online (Sandbox Code Playgroud)

这是脚本/home/nazar/Documents/scripts/cron_job_test.sh

#!/bin/bash

export DISPLAY=0.0
export XAUTHORITY=/home/matrix/.Xauthority

if [ -r "$HOME/.dbus/Xdbus" ]; then
  . "$HOME/.dbus/Xdbus"
fi

/usr/bin/notify-send -i "hello"
Run Code Online (Sandbox Code Playgroud)

这个函数片段:

if [ -r "$HOME/.dbus/Xdbus" ]; then
  . "$HOME/.dbus/Xdbus"
fi
Run Code Online (Sandbox Code Playgroud)

检查DBUS_SESSION_BUS_ADDRESS并使用它。

根据这个答案我执行了脚本,现在我的Dbus被保存到 …

cron notifications cinnamon notify-send

3
推荐指数
1
解决办法
1955
查看次数

如何自定义通知发送的外观?

我正在运行 linux mint 并将该notify-send命令用于各种目的,当然也从常规应用程序(例如不和谐或 MS Teams)接收通知

使用 Cinnamon DE 时,它们看起来很正常,我什至可以在自定义notify-send调用中添加图标,以清楚地表明发生了什么

然而,我最近开始使用 XMonad WM,我发现不仅常规应用程序通知丑陋,而且我的自定义应用程序通知(其中有漂亮的图标)也遵循相同的丑陋风格(请原谅模糊的屏幕截图):

在此输入图像描述

例如,根据以下命令,上述通知应包含一个图标:

notify-send --hint=int:transient:1 'Connecting to VPN... Check 2FA Device.' -i myicon
Run Code Online (Sandbox Code Playgroud)

这是在哪里配置的?

notifications xmonad notify-send

3
推荐指数
1
解决办法
4701
查看次数

当最近的进程是“notify-send”时,为什么我不能在 Bash 中使用带参数扩展的 `kill $!`?

根据 Bash:特殊参数

($!) 扩展到最近放入后台的作业的进程 ID,无论是作为异步命令执行还是使用 bg 内置

我可以按如下方式使用它:

$ leafpad &
[2] 3962
$ kill $!
Run Code Online (Sandbox Code Playgroud)

这有效并杀死最近的进程(例如leafpad),但notify-send它似乎不起作用:

$ notify-send Hello &
[2] 4052
$ kill $!
bash: kill: (4052) - No such process
Run Code Online (Sandbox Code Playgroud)

我必须使用killall notify-osd才能杀死它。

所以,我想知道为什么kill $!不起作用notify-send?杀死这样一个进程的正确方法是什么?

注意:我知道我可以指定超时,但这是一个不同的问题。

bash kill libnotify notify-send

2
推荐指数
1
解决办法
274
查看次数

libotify / notify-send:如果正文包含“&lt;”或“&gt;”,则不打印正文

我使用的是 Linux Mint 18.1,MATE。

我正在使用 notify-send 命令来可视化键的名称(例如<enter>),同时通过 python 脚本将它们发送到当前窗口。大约两周以来,notify-send 显示出一种奇怪的行为。我知道 bash 的基本语法是notify-send [OPTIONS] <summary> [body].

基本问题

执行时notify-send -t 0 '<enter>' 'text body',一切看起来都很好: 在此处输入图片说明

但是,当尝试使用 打印消息正文中的密钥名称时notify-send -t 0 'Summary' '<enter>',我得到:

在此处输入图片说明

同样的情况发生在notify-send -t 0 'Summary' '<', notify-send -t 0 'Summary' '>'notify-send -t 0 'Summary' \<

如果正文包含 < 或 > ,为什么正文打印为空白有什么想法吗?


解决方法(失败)

我尝试使用 python 模块代替:

from gi.repository import Notify
Notify.init("App Name")
Notify.Notification.new("Summary","<enter>").show()
Run Code Online (Sandbox Code Playgroud)

但结果与上图 2 中的结果相同。


附加信息:

zenity --info --title='Summary' --text='<enter>'在 bash …

libnotify notify-send

2
推荐指数
1
解决办法
1678
查看次数

在 i3 中使用 crontab 通知发送

我正在尝试创建一个通过通知发送发送通知的 cron 作业。

我目前正在尝试这个:

*/2 * * * * DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(id -u)/bus /usr/bin/notify-send "test"
Run Code Online (Sandbox Code Playgroud)

如果我只是从终端运行它,这是有效的。

我也试过设置

XAUTHORITY=/home/munhunger/.Xauthority
Run Code Online (Sandbox Code Playgroud)

我有一个类似的 crontab,它运行一个 shell 脚本,该脚本具有打印到日志文件的相同变量,所以我知道 crontab 正在工作。但是,仍然没有显示任何通知。

有没有人知道可能有什么问题?

我正在运行 Ubuntu 17.10,上面有 i3

cron ubuntu notifications i3 notify-send

1
推荐指数
1
解决办法
1341
查看次数