Answers:
找到了这个,它是由Ubuntu论坛用户opus1制造的。也许可以帮上忙。
这是该帖子提供的解决方案:
对于感兴趣的任何人,这是我的工作:我查看了日志(特别是/var/logs/auth.log),并发现在检查并接受密码时会进行输入。我的日志说:
Aug 7 14:10:57 mumble gnome-screensaver-dialog: gkr-pam: unlocked login keyring最终,我找到了一个名为“ Swatch”的应用程序,该应用程序为您监视日志,并在该日志中出现您指定的字符串时运行脚本。Swatch需要一个配置文件(.swatchrc),而我的看起来像这样:
watchfor /unlocked login keyring/ exec /root/.gnome2/nautilus-scripts/wakeServer其中“ / unlocked登录密钥环/”是要查找的字符串,“ exec”定义了找到脚本后要运行的脚本。我的wakeServer脚本如下所示:
#!/bin/bash #wake the server wakeonlan AA:BB:CC:DD:EE:FF #record info in the log file myVar="woke server at login:" echo "$myVar">>/home/me/.serverWake.log date>>/home/me/.serverWake.log其中“ AA:BB:CC:DD:EE:FF”是我的服务器的MAC地址。
需要将Swatch作为启动应用程序输入(在“系统|首选项|启动应用程序中创建一个名为“ runSwatch”的条目,并执行命令“ swatch --tail-file /var/log/auth.log --daemon”) (在Debian中,只有root可以读取日志,因此启动命令必须以“ sudo”开头,并且需要将swatch添加到sudoers文件中,而无需输入密码。在Ubuntu中,似乎非root用户可以读取日志。授予对样本无密码访问权限可能存在安全问题,但在我看来,这是可以接受的。
到目前为止,它运行良好!
dbus-monitor。您找到了其他解决方案?
auth.log不存在,/var/logs/auth.log但位于/var/log/auth.log。
.bashrc将是您要用于该过程的地方。 .bashrc拥有用户的配置文件和所有配置,这就是系统在您登录时会首先读取的内容,因此,您要在其中放置代码以供自定义脚本在登录时运行。
这是我使用的代码示例。这是我添加到.bashrc最底行的代码:
if [ -f ~/.myscripts ]; then
. ~/.myscripts
fi
并将.myscripts我的脚本保存在bash shell中,以便在登录时将其解雇。