Як призупинити комбінацію клавіш?


11

Я хотів би призупинити свою систему xubuntu (14.04) на ярлику клавіатури, не вводячи свій пароль суперпользователя ( sudo ). Я шукаю командний рядок, який можна перетворити на ярлик.

Поки я спробував два рішення:

Команда Xfce:

xfce4-session-logout --suspend

Проблема: система не блокує сеанс. Мені не потрібно вводити свій пароль для пробудження, і я хочу це зробити.

Dbus :

dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend

Проблема: Після пробудження Інтернет-з'єднання припинено, і мені доведеться перезавантажити систему, щоб відновити її.

Чи є третє рішення, яке 1. запитайте пароль під час процесу пробудження, а 2. не зіпсується з підключенням до Інтернету?

Насправді, графічний ярлик за замовчуванням (з меню) працює чудово. Я просто не знаю, який командний рядок викликається.

Відповіді:


8

Я написав сценарій. Здається, робити те, що ви просите:

#!/usr/bin/env zsh
# Custom suspend
#
# (That 'zsh' up there can be switched to 'bash', or 
# pretty much any shell - this doesn't do anything too fancy.)
#
# Dependencies are mostly xfce stuff:
#
#   xbacklight
#   xflock4
#   xfce4-session-logout

# Set how dim we want the screen to go (percentage, out of 100)
dim=5

# Pack up your toys
previous_dimness=$(xbacklight -get)

# Turn down the lights
xbacklight -set $dim

# Lock the door (this requires a password to get back in)
xflock4

# And go to sleep
xfce4-session-logout --suspend

# When we wake up, turn the lights back on
xbacklight -set $previous_dimness

1
+1 за чудові коментарі. Я думаю, що я буду використовувати цей сценарій, коли встановлю Ubuntu.
Wildcard

Мені шкода, але де я повинен розмістити цей сценарій? як я повинен з'єднати це з комбінацією клавіш (наприклад, ctrl + alt + s)? Я використовую Lubuntu
hipoglucido

Ви можете технічно розмістити сценарій куди завгодно. У мене в домашньому каталозі є бін / каталог тільки для особистих сценаріїв, таких як цей, який я хочу використовувати. У цьому випадку шлях до сценарію: / home / <username> / bin / custom-suspend. Ви хочете переконатися, що сценарій виконується. Один із способів зробити це - виконати таку команду: $ chmod + x / home / <username> / bin / custom-suspend Щоб надати їй ярлик під LXDE (який використовує Lubuntu), ви повинні мати можливість шукати щось на зразок "клавіатура" у меню "Пуск", яке має показувати програму конфігурації клавіатури.
Джон Картер

4

Ви можете просто надіслати команду, щоб він спершу заблокував екран, а потім призупинити його:

xscreensaver-command -lock ; xfce4-session-logout --suspend

Для використання xscreensaver-commandзапустітьxscreensaver-command --help


Це працює з командного рядка (хоча блокування екрана непотрібне, оскільки це автоматично з призупиненням), але не як ярлик програми для клавіатури (принаймні, з Ubuntu 12.04). До речі, додаток Xfce для блокування екрану - це xflock4 (без аргументів), який за замовчуванням зобов’язаний control-alt-delete.
BobDoolittle

xscreensaver-commandмабуть, пішло в 15.10.
Джессі Глік

@JesseGlick - просто встановіть xscreensaverпакет
Вільф

2

Як не дивно, це xfce4-session-logout --suspendпрацює чудово, і моя система - xubuntu 14.04. Він також блокує сеанс, хоча я ввімкнув опцію "заблокувати екран перед сном", перейдіть у меню Налаштування-> Сесія та запуск-> Додатково та перевірте, чи він там увімкнено.


Це працює з командного рядка (хоча блокування екрана непотрібне, оскільки це автоматично з призупиненням), але не як ярлик програми для клавіатури (принаймні, з Ubuntu 12.04).
BobDoolittle

добре, він повинен працювати в x ubuntu, а не ubuntu. Я не впевнений, чому ви навіть маєте xfce4-session-logoutкоманду.
Уфос

Ми говоримо про Xfce, який можна додати до будь-якого дистрибутива ubuntu. Xubuntu - це просто зручний дистрибутив, який, як буває, додав Xfce пакети та налаштував їх як робочий стіл. Ви можете почати з ubuntu та додати / налаштувати його самостійно. Відмінність xubuntu / ubuntu - це червона оселедець.
BobDoolittle

Мені непогано працювати з блокуванням екрану в Xubuntu 15.10.
Джессі Глік

0

Ця команда працює для мене: я просто роблю запуск для робочого столу і встановлюю для цього значок Shutdown. покласти цю команду в подану команду:

dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend

час кулака попросіть мене зробити виконавним і після цього працювати дуже добре.

Я використовую wicd для підключення до Інтернету, і він також добре працює після пробудження!


Xubuntu 15.10:Error org.freedesktop.DBus.Error.UnknownMethod: Method "Suspend" with signature "" on interface "org.freedesktop.UPower" doesn't exist
Джессі Глік

0

Якщо ви перебуваєте на ноутбуці і просто хочете натиснути клавішу. Можна використовувати кнопку живлення. Поведінку можна встановити за допомогою параметрів живлення:

  1. Відкрийте Менеджер налаштувань (або за командою: xfce4-manager-manager)
  2. Відкрийте налаштування Power Manager
  3. Загалом: встановити Коли натиснути кнопку живлення, щоб задати запит
  4. Закрийте налаштування Power Manager

Якщо у вас встановлені сценарії ACPI, відключіть або оновіть сценарій кнопки живлення від

/etc/acpi/events/, and change the action field to /bin/true:
# EXAMPLE
event=button/power.*
#action=/usr/lib/acpid/power_button
action=/bin/true

Посилання: https://wiki.xfce.org/tips#solution_2

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.