我正在用 mono/C# 开发一个程序,它将在带有触摸屏的 Linux 嵌入式平台上运行。
我已经在 Raspbian 之上安装了 OpenBox,因为它将以“kiosk 模式”运行,我试图让它尽可能简单。
我计划在程序中有两个选项:
- 关闭计算机的选项
- 关闭窗口管理器(openbox)并返回终端的选项
对于我尝试使用的第一个选项:
shutdown
poweroff
systcl poweroff
命令,但都需要特殊权限,所以我不确定什么是最好的方法。我应该创建一个具有 root 权限的 bash 脚本并从该程序运行该脚本吗?
对于第二个选项,我什至不知道如何开始。我已将 openbox 配置为能够通过 Ctrl + Alt + Backspace 从键盘关闭它,但我知道如何从程序中关闭它。 我已尝试将 SendKeys 与该组合键一起使用,但不起作用。
我也尝试过解决方案 here使用 DBUS for C#但我在编译时遇到了问题。
请问您有什么建议吗?
最佳答案
您可以将 sudo 程序设置为让用户无需任何密码即可运行程序。 添加到您的 visudo 文件:
<username-or-ALL> ALL=(ALL) NOPASSWD:/sbin/poweroff
如果我是你,我会在设置之后和测试之前重启。
关于c# - 关闭窗口管理器并从 C#/Mono 程序关闭电源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58502507/