LINUX.ORG.RU

Вы нам предлагаете гадать на кофейной гуще? Логи давайте.

Запустите sudo journalctl -f, затем закройте крышку ноутбука, подождите перехода в спящий режим, откройте крышку и выложите накопившийся вывод этой команды.

Rootlexx ★★★★★
()
Ответ на: комментарий от virussokk93
мая 30 17:13:59 sergey-G550JK systemd-logind[1064]: Delay lock is active (UID 1000/sergey, PID 1851/gnome-shell) but inhibitor timeout is reached.

Вот причина: gnome-shell попросила logind задержать переход в спящий режим. Надо теперь смотреть, в каких случаях она это делает.

Rootlexx ★★★★★
()
Ответ на: комментарий от virussokk93

Не совсем. Это который при выборе «Заблокировать» в системном (верхнем правом) меню. После нажатия экран тухнет — сразу пошевелите мышкой и проверьте, что он успешно заблокирован.

Rootlexx ★★★★★
()
Ответ на: комментарий от virussokk93

Просмотрел код gnome-shell — inhibit вызывается лишь для блокировщика экрана. Но вы пишете, что он работает нормально.

Давайте так: запустите команду while sleep 5; do systemd-inhibit --list --no-pager; gnome-session-inhibit --list; done, затем снова переведите систему в спящий режим и покажите, что успело вывестись в консоль.

И да, завершать команду стоит нажатием Ctrl+C, а не Ctrl+Z: последняя не завершает выполнение, а лишь переводит его в фоновый режим.

Rootlexx ★★★★★
()
Ответ на: комментарий от Rootlexx

я не совсем понял . Выполнить команду и просто уйти в спячку? Оно просто выводит циклично такое

http://pastie.org/p/6TamHYdrF0LXIwf1znszyI

virussokk93
() автор топика
Последнее исправление: virussokk93 (всего исправлений: 4)
Ответ на: комментарий от virussokk93
GNOME Shell                  1000 sergey 1775 gnome-shell     sleep                                                    GNOME необходимо заблокировать экран                      delay

Ну вот — gnome-shell откладывает переход в спящий режим, пока не запустится блокировка экрана, однако или она не запускается (но вы ведь сказали, что если запустить её вручную, то нет проблем), или не сигнализирует о своей готовности. Ну или у вас установлено какое-то расширение, ковыряющееся в параметрах сеанса.

Если во время задержки с переходом в спячку пошевелить мышкой, появляется ли блокировщик экрана, или вы всё так же видите свой рабочий стол?

Rootlexx ★★★★★
()
Ответ на: комментарий от virussokk93

Экран блокировки должен запускаться, чтобы кто-нибудь другой не открыл ваш компьютер, пока вас нет рядом, и не получил полный доступ к вашей учётной записи. Поэтому после каждого выхода из спячки вам требуется ввести свой пароль, прежде чем получить доступ к рабочему столу.

Rootlexx ★★★★★
()
Ответ на: комментарий от Rootlexx

похоже я нашел причину долгого ухода. В разделе конфиденциальность-экран-блокировка экрана в ждущем режиме (было выключено) Я включил. Стало быстро выключаться как и раньше

virussokk93
() автор топика
Ответ на: комментарий от virussokk93

В разделе конфиденциальность-экран-блокировка экрана в ждущем режиме

В оригинальном GNOME нет такого параметра. Выходит, эти «гении» из Canonical сделали настройку, не разобравшись в том, как это работает. Если об этом ещё не написан отчёт об ошибке, то советую написать.

Rootlexx ★★★★★
()
Ответ на: комментарий от Rootlexx

Я просто механику и логику не понимаю работы , как должно, а как нет) Раньше все работало норм. Просто включал автовход и все. А сейчас чет блокировка какая то включена должна быть. Без нее долго спать ложится… Иногда вообще не просыпается (очень редко). И все после обновы. Поэтому что и писать им не понимаю

virussokk93
() автор топика
Последнее исправление: virussokk93 (всего исправлений: 1)
Ответ на: комментарий от virussokk93

Должно быть так:

  • Если автовход выключен, то после загрузки системы требуется ввести пароль для входа в учётную запись.
  • Если автовход включён, то вход в учётную запись после загрузки системы происходит автоматически.
  • В обоих описанных выше случаях при переходе в спящий режим происходит блокировка экрана, и после выхода из спящего режима требуется ввести пароль для разблокирования сеанса.

Поскольку в GNOME при переходе в спящий режим экран блокируется независимо от того, включён автовход или нет, то gnome-shell безусловно ожидает запуска блокировщика экрана прежде чем уходить в спячку. А в Canonical своими кривущими руками сделали патч:

From: Tim Lunn <tim@feathertop.org>
Date: Wed, 20 Jun 2018 19:22:06 +0200
Subject: add support for the ubuntu lock on suspend option

Bug-Ubuntu: https://bugs.launchpad.net/bugs/1063110
---
 js/ui/screenShield.js | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js
index a781720..d7c8824 100644
--- a/js/ui/screenShield.js
+++ b/js/ui/screenShield.js
@@ -21,6 +21,7 @@ const { adjustAnimationTime } = imports.ui.environment;
 const SCREENSAVER_SCHEMA = 'org.gnome.desktop.screensaver';
 const LOCK_ENABLED_KEY = 'lock-enabled';
 const LOCK_DELAY_KEY = 'lock-delay';
+const SUSPEND_LOCK_ENABLED_KEY = 'ubuntu-lock-on-suspend';
 
 const LOCKDOWN_SCHEMA = 'org.gnome.desktop.lockdown';
 const DISABLE_LOCK_KEY = 'disable-lock-screen';
@@ -115,6 +116,7 @@ var ScreenShield = class {
 
         this._settings = new Gio.Settings({ schema_id: SCREENSAVER_SCHEMA });
         this._settings.connect(`changed::${LOCK_ENABLED_KEY}`, this._syncInhibitor.bind(this));
+        this._settings.connect(`changed::${SUSPEND_LOCK_ENABLED_KEY}`, this._syncInhibitor.bind(this));
 
         this._lockSettings = new Gio.Settings({ schema_id: LOCKDOWN_SCHEMA });
         this._lockSettings.connect(`changed::${DISABLE_LOCK_KEY}`, this._syncInhibitor.bind(this));
@@ -209,7 +211,8 @@ var ScreenShield = class {
     }
 
     async _syncInhibitor() {
-        const lockEnabled = this._settings.get_boolean(LOCK_ENABLED_KEY);
+        const lockEnabled = this._settings.get_boolean(LOCK_ENABLED_KEY) ||
+                            this._settings.get_boolean(SUSPEND_LOCK_ENABLED_KEY);
         const lockLocked = this._lockSettings.get_boolean(DISABLE_LOCK_KEY);
         const inhibit = !!this._loginSession && this._loginSession.Active &&
                          !this._isActive && lockEnabled && !lockLocked &&
@@ -240,7 +243,7 @@ var ScreenShield = class {
 
     _prepareForSleep(loginManager, aboutToSuspend) {
         if (aboutToSuspend) {
-            if (this._settings.get_boolean(LOCK_ENABLED_KEY))
+            if (this._settings.get_boolean(SUSPEND_LOCK_ENABLED_KEY))
                 this.lock(true);
         } else {
             this._wakeUpScreen();

Нетрудно заметить, что переменная lockEnabled (а значит, и включение inhibit) зависит от значения двух ключей, а сама блокировка экрана — от одного. И до этих «гениев» даже не дошло, что если LOCK_ENABLED_KEY == true (что по умолчанию так), а пользователь выставил SUSPEND_LOCK_ENABLED_KEY == false, то inhibit с задержкой взят будет, а блокировки экрана, для которой тот был взят, не будет — получаем задержку перехода в спящий режим, равную таймауту delay inhibit.

Rootlexx ★★★★★
()