我已经研究了一段时间了,没有双关语的意思。我只是想每次我的电脑从挂起状态唤醒时在浏览器中打开我的待办事项列表网址。通常执行此操作的命令很简单:
xdg-open https://complice.co/
...但那不起作用,因为“请以普通用户身份启动 Google Chrome。”如果我尝试,结果也是一样sensible-browser
。
所以我尝试
sudo -H -u malcolm bash -c 'sensible-browser "https://complice.co/" >> "$LOGFILE"'
...如果我以 root 身份进入终端,这完全可以正常工作,但如果我尝试将其放入脚本中/etc/pm/sleep.d/
,则会默默失败。我试过
sudo -H -u malcolm bash -c 'sleep 10; sensible-browser "https://complice.co/" >> "$LOGFILE"'
...但似乎该过程在 sleep 10 完成之前就被终止了。(基于尝试sleep 10; echo "WAT" >> "$LOGFILE";
)
这看起来应该很简单,但我很困惑。
答案1
对我来说,有效的方法是将下面的脚本放入/etc/pm/sleep.d/
call it中70resumescript.sh
,并使用 赋予其可执行权限sudo chmod +x scriptname.sh
。此外,我使用 编写了脚本,sudo nano scriptname.sh
以便脚本由 root 拥有。因此,脚本必须具有 +x 权限并由 root 拥有。请随意修改脚本以满足您的需求
#!/bin/sh
case "$1" in
resume|thaw)
# date >> /home/serg/LOG
# echo "Script runs" >> /home/serg/LOG
DISPLAY=:0 ; export DISPLAY
sleep 4
su serg -c 'firefox google.com'
;;
esac