我想在我通过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登录,他们将有一个后台任务,每分钟检查一次新消息