背景

在终端执行一些需要较长时间的命令时,会切换到别的界面。但为了知道是否执行完成,需要时不时地切换过去看一眼。很麻烦。

解决方式

为了减少这种麻烦,可以使用notify-send,发送桌面通知。notify-send的使用非常简单,后面加上提示内容即可。

比如执行make的时候,就可以换成使用

make && notify-send "编译完成"

当然,每次还需要手工输入notify-send,也是挺麻烦。经常使用的话,可以封装成shell函数。起个自己顺手的名字。

比如我就将m作为了make的函数,每次输入m即可。

m() {
make -j32 $@ && notify-send "编译完成"
}

注意事项

如果是通过ssh登录到远程服务器上,则需要在ssh登录时,使用X11-forward才行,不然在远程使用notify-send本地是看不到的。

在~/.ssh/config中添加配置即可,如

Host CS
hostname 192.168.12.34
user zhuangqiubin
ForwardX11 yes
ForwardX11Trusted yes

如果是想在cron中,定时调用,则需要先设置DISPLAY=:0.0,如

00 12 * * * export DISPLAY=:0.0 && notify-send "到点吃饭了"

其他

notify-send还有很多的参数,可以指定时间,图标等,有需要可查看帮助或上网搜索教程。

最新文章

  1. css3的动画特性
  2. python安装完毕后,提示找不到ssl模块的解决步骤
  3. C#、.Net代码精简优化(空操作符(??)、as、string.IsNullOrEmpty() 、 string.IsNullOrWhiteSpace()、string.Equals()、System.IO.Path 的用法)
  4. javascript平时小例子⑤(投票效果的练习)
  5. NOIP 2015 BZOJ 4326 运输计划 (树链剖分+二分)
  6. 第五篇 :微信公众平台开发实战Java版之如何获取公众号的access_token以及缓存access_token
  7. iOS边练边学--菜单悬停效果的实现思路
  8. simple grammer
  9. (实用篇)PHP页面跳转到另一个页面的方法总结
  10. hibernate的oracle配置(转)
  11. Spring笔记(四)SpingAOP
  12. 学以致用:让visualstudio爱上sublime
  13. js bom中浏览器兼容问题判断代码
  14. VC++学习之网络编程中的套接字
  15. 【译】在Asp.Net中操作PDF - iTextSharp - 利用列进行排版
  16. POJ1505&&UVa714 Copying Books(DP)
  17. 什么是比特币(Bitcoin)?
  18. C#网络程序设计(1)网络编程常识与C#常用特性
  19. nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:37
  20. 如何做更好的Android驱动project师

热门文章

  1. HashMap源码剖析及实现原理分析(学习笔记)
  2. CSS3 transform rotate(旋转)锯齿/元素抖动模糊的解决办法
  3. BZOJ2732:[HNOI2012]射箭——题解
  4. LOJ6346:线段树:关于时间 ——题解
  5. JavaScript中的函数与栈
  6. select2 全拼以及首字母
  7. C语言实现单链表的遍历,逆序,插入,删除
  8. Shell脚本循环读取文件中的每一行
  9. [技巧篇]19.InputStream与String,Byte之间互转[转载]
  10. 35 个你也许不知道的 Google 开源项目