如何创建启动暂停的键盘快捷键

如何创建启动暂停的键盘快捷键

当我运行 Unity shell 时,我可以执行Fn+F1并使我的机器挂起,但是现在我正在运行 Gnome Shell,当我执行这个键盘快捷键时,什么也没有发生,所以我想知道是否有任何方法可以使它在执行该键盘快捷键时,我的机器确实挂起?

我尝试查看我的系统设置,但发现没有什么特别之处,我也查看了 Gnome Tweak Tool,但仍然没有发现特别之处。当我使用 Unity 时就是这样,甚至在我之前使用 Windows 7 时,该键盘组合也是如此,我从未需要特别配置任何东西,也不需要让它工作。


操作系统信息:

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 15.04
Release:    15.04
Codename:   vivid

答案1

我测试了提到的命令这里在 Gnome 15.04 上,它做得很好。接下来要做的就是让它在快捷键下可用。

最简单的方法是创建一个小脚本:

#!/bin/bash

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

将其另存为initiate_suspend.sh,并将其设置为快捷键。要做到这一点,Gnome其操作与 中的相同Unity:选择:系统设置 > “键盘” > “快捷键” > “自定义快捷键”。单击“+”并添加命令:

/bin/bash /path/to/initiate_suspend.sh

到您选择的快捷键组合。

答案2

我知道这篇文章已经过时了。但在新版 Gnome 中,这很容易。

只需前往设置 > 键盘 > 键盘快捷键并添加自定义快捷方式用这个命令systemctl suspend

答案3

要暂停 Ubuntu 18.10,我使用Super键启动命令并键入sus以突出显示 Suspend 命令,然后点击Return

截屏

不像Super+l锁屏那样快捷优雅,但是无需添加任何配置即可工作,也不需要鼠标。

答案4

pm-utils与 PolicyKit 一起使用

使用这种方式,您必须在暂停之前输入密码。

  1. 首先安装pm-utils,我们需要pm-suspend

    sudo apt-get install pm-utils
    
  2. 之后,创建一个新的脚本文件并添加以下代码

    #!/bin/sh
    pkexec "pm-suspend" "$@"
    
  3. 通过菜单打开键盘Activities并导航Custom Shortcuts并添加新的快捷方式。

    截屏

    截屏

  4. 现在添加一个新文件/usr/share/polkit-1/actions/

     sudo nano cat /usr/share/polkit-1/actions/pm-suspend.policy
    

    并添加以下几行

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE policyconfig PUBLIC
     "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
     "http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
    
    <policyconfig>
    
      <action id="org.freedesktop.policykit.pkexec.run-pm-suspend">
        <description>Run FlashTool</description>
        <message>Authentication is required to run pm-suspend</message>
        <defaults>
          <allow_any>no</allow_any>
          <allow_inactive>no</allow_inactive>
          <allow_active>auth_admin_keep</allow_active>
        </defaults>
        <annotate key="org.freedesktop.policykit.exec.path">/usr/sbin/pm-suspend</annotate>
        <annotate key="org.freedesktop.policykit.exec.allow_gui">TRUE</annotate>
      </action>
    
    </policyconfig>
    

就这样;)

相关内容