Lubuntu 17.10 - 从“关机”启动器中删除暂停、切换用户、锁定屏幕选项

Lubuntu 17.10 - 从“关机”启动器中删除暂停、切换用户、锁定屏幕选项

我正在开发一个完全由红外遥控器控制的 Lubuntu 信息亭。到目前为止,除了重新启动和关机外,一切运行良好。我有两个相关问题:

  1. 现在,遥控器上有两个独立的按钮;一个poweroff在终端中运行,另一个运行reboot。但是,我觉得这很笨拙,我更希望遥控器上的一个按钮启动“关机”启动器(Lubuntu 17.10 桌面右下角的电源图标),就像用鼠标单击按钮时发生的情况一样。我用它xbindkeys来运行命令。有人知道终端命令或有启动“关机”启动器的脚本吗?

编辑:我解决了这个问题的这一部分。17.10 中的命令是lxsession-default quit

  1. 当出现“注销 Lubuntu 17.10 会话?”弹出窗口时,我希望唯一可见的选项是关机、重启和取消。我尝试了一些旧线程和旧版本中的许多方法,但未能成功删除任何选项。

    在此处输入图片描述

    在此处输入图片描述

无法在 17.10 上运行:

  • gsettings set com.canonical.indicator.session suppress-logout-menuitem true

  • 编辑/usr/share/polkit-1/actions/org.freedesktop.login1.policy和设置<allow_active>no</allow_active>相应的项目

答案1

https://www.freedesktop.org/software/polkit/docs/latest/polkit.8.htmlhttps://bbs.archlinux.org/viewtopic.php?id=180798 我尝试创建或编辑文件 /etc/polkit-1/rules.d/10-auth.rules 并包含以下内容:

polkit.addRule(function(action, subject) {
    if (action.id == "org.freedesktop.login1.suspend" ||
        action.id == "org.freedesktop.login1.suspend-multiple-sessions" ||
        action.id == "org.freedesktop.login1.hibernate" ||
        action.id == "org.freedesktop.login1.hibernate-multiple-sessions" ||
        action.id == "org.freedesktop.login1.lock-sessions"
        // switch user ?
        // logout ?
        ) {
        return polkit.Result.NO;
    }
    if (action.id == "org.freedesktop.login1.shutdown" ||
        action.id == "org.freedesktop.login1.reboot") {
        return polkit.Result.YES;
    }
});

但是,我还没有找到切换用户或注销的操作。

答案2

因此,在阅读和研究了更多内容后,似乎无法在不编辑和重新编译源代码的情况下编辑注销会话选项。所以我做了第二件最好的事情;我使用 python 和 tkinter 制作了自己的 GUI 程序来关闭或重启电脑。

这真的不难,我知道任何人都可以把它放在一起,但我会在这里发布它,以防其他人感兴趣或因为它可能会对某人有所帮助。

  1. 安装 python ( sudo apt-get install python)
  2. 安装 tkinter(sudo apt-get install python-tk
  3. 安装闲置 ( sudo apt-get install idle)
  4. 打开空闲 ( idle)
  5. 文件-->新文件
  6. 粘贴以下代码:

#Test.py from Tkinter import * import os window = Tk() B1 = Button(window, text = "Shutdown", command = lambda: os.system('poweroff')) B2 = Button(window, text = "Reboot", command = lambda: os.system('reboot')) B3 = Button(window, text = "Quit", command = lambda: quit()) B1.pack() B2.pack() B3.pack() window.mainloop()

  1. 在粘贴代码的新窗口中单击文件 --> 保存 --> 输入文件名称
  2. 要调用重启和关机而不使用 sudo 权限,您必须运行以下sudo chmod a+s /sbin/poweroff命令sudo chmod a+s /sbin/reboot。**请注意,这将允许任何人在没有 sudo 权限的情况下重启或关机,因此请小心**
  3. 可以从终端运行脚本,如下所示:python /dir/to/file/name.py

希望这对某人有帮助!这是输出的图片(我将在接下来的几天内努力使它看起来更漂亮)。

屏幕左侧中央的程序

相关内容