我正在尝试制作一个可执行文件(bash 脚本)来向我显示通知并在找不到进程时关闭我的计算机。
我将把脚本作为启动应用程序运行,并且在这个脚本中使用notify-send
andshutdown
命令。
问题是:
(1)如果我添加myfolder/myscript
到启动应用程序列表它不能运行shutdown
命令(需要root密码)
(2)如果我添加脚本sudo myfolder/myscript
它不能通过notify-send
应用程序显示通知。
我已经在互联网上进行了大量搜索并尝试了以下步骤:
(1)添加脚本路径或/sbin/shutdown
通过sudo visudo
(2)在命令su - $USER -c "DISPLAY=$DISPLAY DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$UID/bus
之前添加notify-send
(我发现一些用户报告说 root 无法发送通知)`
所以......他们都没有工作。我错过了什么?可以做些什么来显示通知和关机?
这是我的代码:
#!/bin/bash
#Search for a specific process and sleep if it is found (removed for space saving)
shut_time=$(date --date='10 minutes' +"%T")
notify-send -t 600000 "WARNING:
Program is not running.
Shutting down in 10 minutes (scheduled for $shut_time)."
#ALREADY TESTED BELLOW LINES (DON'T WORK)
#su - $USER -c "DISPLAY=$DISPLAY DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$UID/bus notify-send -t 600000 'WARNING:
#Program is not running.
#Shutting down in 10 minutes.'"
sudo /sbin/shutdown -h +10 #Tried with our without sudo
我正在运行 MX Linux 18(xfce,基于 Debian)。