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