显示Zenity弹出给所有用户



我想在我通过SSH登录时向我的机器上的其他用户显示一个zenity弹出(或其他图形显示)。我如何才能实现这个弹出为其他用户?

当我通过SSH连接时,它应该显示登录的用户,但是,如果用户在我连接时没有登录,然后登录,那么当他们登录时(当我连接时)他们应该看到通知。

我希望我可以写一些文件,在用户登录时检查,以便在我连接后运行脚本,但它是初始连接命令,这让我难住了。

基本上这是我的家用电脑,我不希望我的家人在我做事的时候把它关掉!

假设您和您的家庭成员使用bash作为登录shell,下面是完成此操作的一个基本大纲。假设您是用户"joe",您的家庭由用户"user1"、"user2"one_answers"user3"组成。

在你的。bash_login:

for user in user1 user2 user3; do
    echo "JOE is logged in, do not turn power off" > /tmp/message.$user
done

在您的。bash_logout:

for user in user1 user2 user3; do
    [ -f /tmp/message.$user ] && rm /tmp/message.$user
done

现在,在每个其他用户的.bash_login中:

export MSGFILE=/tmp/message.$USER
check_messages() {
  while [ 1 ]; do
    if [ -f $MSGFILE ]; then
        zenity --text-info --filename=$MSGFILE
        rm $MSGFILE
    fi
    sleep 60
  done
}
check_messages &

因此,如果userX登录,他们将有一个后台任务,每分钟检查一次新消息

相关内容

  • 没有找到相关文章

最新更新