0

我正在用 mono/C# 开发一个程序,它将在带有触摸屏的 Linux 嵌入式平台上运行。

我已经在 Raspbian 上安装了 OpenBox,因为它将在“kiosk 模式”下运行,并且我试图让它尽可能简单。

我计划在程序中有两个选项:

  1. 关闭计算机的选项
  2. 关闭窗口管理器(openbox)并返回终端的选项

对于我尝试使用的第一个选项:

shutdown
poweroff
systcl poweroff

命令,但都需要特殊权限,所以我不确定什么是最好的方法。我应该创建一个具有 root 权限的 bash 脚本并从程序中运行这个脚本吗?

对于第二个选项,我什至不知道如何开始。我已经将 openbox 配置为能够通过 Ctrl + Alt + Backspace 从键盘关闭它,但我知道如何从程序中关闭它。我已经尝试将 SendKeys 与该组合键一起使用,但不起作用。

我也尝试过使用DBUS for C#的解决方案但我在编译它时遇到了问题。

你能给点建议吗?

4

1 回答 1

1

您可以设置您的 sudo 程序,让用户无需任何密码即可运行程序。添加到您的 visudo 文件:

<username-or-ALL> ALL=(ALL) NOPASSWD:/sbin/poweroff

看看这个也许

如果我是你,我会在设置后和测试前重新启动。

于 2019-10-22T12:40:47.307 回答