linux - 以访客用户身份登录时,如何以编程方式重启 Ubuntu?

标签 linux ubuntu operating-system

我想编写一个脚本,在以访客用户身份登录时重新启动计算机。我知道这是可能的,因为 guest 用户可以通过右上角的设置按钮关闭。

但是,当我尝试从脚本或终端运行 reboot 时,我得到了 reboot: Need to be root。我无法使用 sudo,因为 guest 用户没有 sudo 访问权限。

为什么当关机按钮能够以访客身份重新启动系统时,reboot 不起作用?

最佳答案

登录 session 由 systemd-logind 处理,它以 root 身份运行并允许您向其发出重启信号。这就是图形重启按钮的作用。

can signal it from the command line还有:

dbus-send --system --print-reply \
    --dest=org.freedesktop.login1 /org/freedesktop/login1 \
         "org.freedesktop.login1.Manager.Reboot" boolean:true

reboot 命令尝试自行重启系统,无需 systemd-logind 的帮助。因此它失败了,因为您无法授予它根访问权限。

关于linux - 以访客用户身份登录时,如何以编程方式重启 Ubuntu?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30173119/

相关文章:

ubuntu - hadoop dfs -mkdir -p/user/flume/tweets/命令有什么问题

postgresql - Ubuntu 上的 Postgres,控制 postgresql.conf 位置

java - 如何在不同的操作系统上部署Java应用程序?

javascript - 解构/破解 NodeJs

linux - shell 脚本 : Print directory names and files with specifics

android - 使用bluez在android下移植BLE

ubuntu - 为什么我不能从 Ubuntu 中的 .desktop 文件正确启动这个 ros .launch 文件?

linux - 如何根据另一个文件对一个文件进行排序?

linux - 在 shell 脚本中设置 -e 和 set -x

c++ -/SUBSYSTEM 参数的意义 - msdn