为什么在i3平铺窗口管理器中sudo pm-suspend无法正常工作?

10

我在使用i3平铺窗口管理器的~/.i3/config文件时遇到小问题。 我试图将pm-suspend实用程序设置为Mod4(Windows键)+ p(p字符)的键绑定。

我有一个名为suspendandlock的bash脚本,位于/usr/bin/目录中:

#!/bin/bash
sudo pm-suspend | i3lock -i /home/antony/unity-desk.png -p default -d -n 

我之前使用visudo修改了/etc/sudoers文件,添加了这行内容:

%users ALL = NOPASSWD: /usr/sbin/pm-suspend

为了执行pm-suspend实用程序,不需要密码。

然后我有我的i3配置文件,在其中添加了以下内容:

bindsym $mod+p exec suspendandlock

其中 $mod 是 Mod4 键。 当我在 gnome 终端中键入 suspendandlock 命令时,脚本可以正常工作 -> 它会像预期的那样使系统挂起并锁定屏幕。

但是,当我从键盘上键入 Mod4+p 时,它只能锁定屏幕而无法执行 pm-suspend。 为什么它不能正常工作?

有人知道我错在哪里吗?


我解决了,我的用户不在用户组中。 - tonix
1个回答

12

看起来OP已经解决了这个问题,但对于其他需要修复的人(包括我自己),只需运行:

sudo usermod -aG users `whoami`
which pm-suspend || sudo apt-get install pm-utils #make sure you have pm-suspend command, install it if you don't

运行sudo visudo,然后添加:

%users ALL = NOPASSWD: /usr/sbin/pm-suspend

然后添加:

bindsym $mod+p exec "sudo pm-suspend | i3lock"

将以下内容添加到~/.i3/config文件中。运行$mod+p将会锁定并挂起您的计算机。


请确保您注销并重新登录以使组修改生效。 - jtlindsey

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接