I'm 赵一开, a developer.
文中提到的相关信息可能已经发生了很大的变化,请谨慎以本篇文章的内容作为参考做任何事情。
最近突然想到给自己搭建一个比较完善的通知系统还是比较有趣的...
Gnome什么的用的通知系统应该都是libnotify(Unity用的是osd-notify,不过都大同小异),它提供一个notify-send
能直接显示通知,效果不错。
但是在本地执行notify-send title message
是可以的,如果是远程服务器需要给自己电脑通过ssh执行notify-send
发送通知的话,需要将DISPLAY
和DBUS_SESSION_BUS_ADDRESS
两个环境变量设置为本地的值。
另外一个问题是,自己电脑的IP地址不是固定的,服务器端并不知道每次的IP地址。
对于以上两个问题我能想到的解决方法是每次开机(连接上网络)后给服务器发送自己的IP地址和两个环境变量的值,这样服务器就能完成通知了。
当然,电脑不是随时都开着的,当电脑开着的时候当然希望通知能发送到电脑桌面,当电脑关闭的时候,就是服务器如果发现无法连接时,应该使它推送到手机上。
iOS的通知系统使用的是推送,大概就是每个app需要给设备发送通知的时候需要给Apple服务器发送一个请求,然后再由Apple服务器统一推送至设备。这样的好处大概就是设备只需保持一个连接,省电省流量,而且通知不容易丢失;坏处当然就是自己想要给设备发送通知就有些困难。
不过还好,有一个叫Pushover的app能够作为类似一个代理的东西,只要给他的服务器POST一个HTTP请求,他就会给你的设备发送通知。
但是很可惜的是这个app是收费的,而且破解版也很难找到,我大概找了几十分钟才找到一个不是最新版本的...
Update: Checkout
PushBullet
!
Unable to load comments, check your (GFW Free) Internet connectivity.