Как создать сочетание клавиш, которое инициирует приостановку

Когда я запускал оболочку Unity, я мог делать 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

6 ответов

Решение

Я протестировал команду, упомянутую здесь, в 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

на комбинацию клавиш по вашему выбору.

Чтобы приостановить Ubuntu 18.10, я использую Super ключ для запуска команды и введите sus выделите команду Suspend, затем нажмите RETURN,

Не так быстро, как элегантно SUPER-l для блокировки экрана, но он работает без добавления каких-либо настроек и не требует мыши.

Спасибо.

Я знаю, что этот пост старый. Но в новых версиях Gnome это очень просто.

Просто зайдите в настройки> клавиатура> сочетания клавиш и добавьте собственное сочетание клавиш с помощью этой команды .systemctl suspend.

Вы можете просто добавить это

gksudo pm-suspend

в Настройки >> Клавиатура >> Сочетание клавиш и сопоставьте его с любой комбинацией клавиш, которую вы хотите.

Мое решение использовать pm-utils с PolicyKit

Таким образом, вы должны ввести пароль, прежде чем приостановить


Первая установка pm-utils, нам нужно pm-suspend

sudo apt-get install pm-utils

После этого создайте новый файл скрипта и добавьте код ниже

#!/bin/sh
pkexec "pm-suspend" "$@"

Откройте меню "Клавиатура" в меню " Действия", перейдите к пользовательским ярлыкам и добавьте новый ярлык.

введите описание изображения здесь

введите описание изображения здесь


Теперь добавьте новый файл в /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>

Вот и все ;)

Вот пример того, как создать сочетание клавиш для приостановки работы системы, нажав <Super> + pключи:

      gsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/']"
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/ name 'suspend'
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/ command 'systemctl suspend'
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/ binding '<Super>p'
Другие вопросы по тегам