ssh 远程登录弹窗提醒
Tofloor
poster avatar
151******18
deepin
2018-10-05 18:39
Author
我在学习了ssh后,和小伙伴们不停的相互捣乱,而后就写了一个脚本,作用是在他人登录的我的电脑的时候会有右上角的弹窗提示,最开始使用while死循环去判断的,但是而后觉得太蠢了,就改为在.bashrc和.bash_logout中调用,由于才疏学浅,根本没想到远程调用弹窗行不行的问题,但是deepin居然支持,而后给其他用ubuntu的小伙伴安装了过去,居然不行,最后发现,ubuntu不能在远程调用弹窗(notify-send -i gtk-dialog-info "通知文本"),这是为什么啊?
  1. #!/bin/bash

  2. newloger=$(last | head -1 | awk -v num=$(who | wc -l) '{printf("%s|%s|%s", $3, $7, num);}')
  3. lastloger=`cat $HOME/Command/logm.info | tail -1`

  4. if [[ ! -e "$HOME/Command/logm.info" ]];then
  5.     echo ${newloger} > $HOME/Command/logm.info
  6. fi

  7. case $1 in
  8.     "login")

  9.         logip=$(echo "${newloger}" | cut -d '|' -f 1)
  10.         logtime=$(echo "${newloger}" | cut -d '|' -f 2)
  11.         lognum=$(echo "${newloger}" | cut -d '|' -f 3)
  12.         last_lognum=$(echo "${lastloger}" | cut -d '|' -f 3)

  13.         if [[ ${lognum} != ${last_lognum} && ${logip} != ":0" ]];then
  14.             notify-send -i gtk-dialog-info "${logip} logged in your computer at ${logtime}"
  15.         fi
  16.         echo ${newloger} > $HOME/Command/logm.info
  17.     ;;
  18.     "logout")
  19.         last_logip=$(echo "${lastloger}" | cut -d '|' -f 1)
  20.         notify-send -i gtk-dialog-info "${last_logip} logged out at $(date +"%H:%M:%S")"
  21.         echo $(echo "${newloger}" | awk -F '|' '
  22.         {
  23.             printf("%s|%s|%d", $1, $2, $3 - 1);
  24.         }
  25.         ') > $HOME/Command/logm.info
  26.     ;;
  27. esac
  28. # 在`.bashrc`中添加`bash 路径/脚本名 login`
Copy the Code

Reply Favorite View the author
All Replies
avatar
151******18
deepin
2018-10-05 18:44
#1
是系统的问题还是什么的问题,能不能通过简单的配置和安装什么东西让可怜的ubuntu也能用啊,或者有没有什么其他的好想法,可我不会前端,唉。
Reply View the author
avatar
许自强
deepin
2018-10-06 21:12
#2
Ubuntu GUI登录的和ssh登录的,是同一个用户吧?
Reply View the author
avatar
151******18
deepin
2018-10-08 19:01
#3
https://bbs.deepin.org/post/169532
Ubuntu GUI登录的和ssh登录的,是同一个用户吧?

对啊,是同一个用户,但是在Ubuntu下notify-send用ssh远程登录执行没反应,但是神奇的deepin就好使。所以我在想有没有啥更好的办法,或者解决方案
Reply View the author
avatar
许自强
deepin
2018-10-08 19:22
#4
https://bbs.deepin.org/post/169532
对啊,是同一个用户,但是在Ubuntu下notify-send用ssh远程登录执行没反应,但是神奇的deepin就好使。所以 ...

确定Ubuntu安装了libnotify-bin
Reply View the author
avatar
151******18
deepin
2018-10-08 19:24
#5
https://bbs.deepin.org/post/169532
确定Ubuntu安装了libnotify-bin

我去试试,你是怎么发现这些依赖包的?
Reply View the author
avatar
许自强
deepin
2018-10-08 20:07
#6
https://bbs.deepin.org/post/169532
我去试试,你是怎么发现这些依赖包的?

呃呃呃,哈哈哈。搜索一下呀。notify就是需要这个东西的
Reply View the author
avatar
151******18
deepin
2018-10-08 21:14
#7
https://bbs.deepin.org/post/169532
呃呃呃,哈哈哈。搜索一下呀。notify就是需要这个东西的

好吧
Reply View the author
avatar
151******18
deepin
2018-10-08 21:34
#8
不好使,现在是在Ubuntu图形界面调用notify-send 是好使的,但是远程ssh登录调用不好使
Reply View the author