Сразу же заблокируйте экран, когда я закрываю крышку ноутбука под Gnome 3 (14.04)

3

Как я могу настроить свой Ubuntu 14.04, войдя в систему с помощью Gnome 3, чтобы заблокировать экран при закрытии крышки ноутбука?

Все настройки ► Power только предлагает Do nothing или Suspend в качестве параметров, когда я закрываю крышку.

Все настройки ► Яркость & amp; Блокировка сконфигурирована с блокировкой ВКЛ , экран блокировки после Экран отключается . Кажется, что это не работает.

Я попытался отредактировать /etc/systemd/logind.conf , чтобы установить HandleLidSwitch=lock и перезагрузить; ничего не изменилось.

    
задан Alan De Smet 08.09.2014 в 08:26
источник

3 ответа

3

Возможно, существует другой простой метод, который вы хотите, но вы можете заблокировать экран, используя этот скрипт, после закрытия крышки. Я нашел его на help.ubuntu.com . Я стараюсь держать его коротким. Подробное объяснение вы можете найти по ссылке.

  • Сделать переменные среды доступными для root.

    gedit ~/export_x_info

    и вставьте следующие контуры

    # Export the dbus session address on startup so it can be used by any other environment
    sleep 5
    touch $HOME/.Xdbus
    chmod 600 $HOME/.Xdbus
    env | grep DBUS_SESSION_BUS_ADDRESS > $HOME/.Xdbus
    echo 'export DBUS_SESSION_BUS_ADDRESS' >> $HOME/.Xdbus
    # Export XAUTHORITY value on startup so it can be used by cron
    env | grep XAUTHORITY >> $HOME/.Xdbus
    echo 'export XAUTHORITY' >> $HOME/.Xdbus
    
  • Сделайте его выполнимым с помощью

    chmod 700 ~/export_x_info

  • Вам нужно запустить его при запуске. Поэтому добавьте его в Запуск приложений . Выберите Запуск программы из меню Gnome и нажмите «Добавить».

    Name:<Any name you want>
    Command:/home/your_user/export_x_info
    
  • Теперь вам нужно отредактировать файл /etc/acpi/lid.sh, который закрывает событие открытия и закрытия крышки. Измените имя пользователя с вашим именем пользователя

    gksudo gedit /etc/acpi/lid.sh и вставить

    /home/your_user/lid_event сразу после #!/bin/bash . Сохранить и закрыть.

  • Теперь вам нужно создать скрипт для закрытия события, чтобы вы могли заблокировать ваш экран.

    gedit ~/lid_event и вставьте следующее.

    #!/bin/bash
    grep closed /proc/acpi/button/lid/LID0/state  
     if [ $? = 0 ]
     then
     source /home/user_name/.Xdbus
     DISPLAY=:0.0 su user_name -c "gnome-screensaver-command -l"
     fi
    

    Также проверьте файл / proc / acpi / button / lid / LID0 / state, потому что LID0 может быть LID .

  • Теперь перезапустите ACPI, используя

    sudo /etc/init.d/acpid restart

  • Убедитесь, что параметр «Управление питанием» для крышки ноутбука закрыт, чтобы ничего не делать

ответ дан g_p 08.09.2014 в 10:18
1

Используйте этот простой скрипт. Не забудьте установить все параметры крышки в "Do nothing" в настройке Power.

#! /bin/bash

while true
  do
    value='cat  /proc/acpi/button/lid/LID0/state |cut -f2 -d:'
    if [ ! $value=open ]; then
            gnome-screensaver-command -l
    fi
  done

Я сохранил этот файл с именем lid_lock.sh в моем домашнем каталоге, и я запустил его на sh lid_lock.sh . Если вы хотите запустить этот скрипт в каждой загрузке, добавьте эту строку в файл /etc/rc.local в конце для exit 0 ,.

sh /home/kasiya/lid_lock.sh &

"&" используется для выполнения этого выхода.

    
ответ дан αғsнιη 08.09.2014 в 10:33
1

Простой способ: после изменения

HandleLidSwitch=lock

вам необходимо перезапустить службу

sudo systemctl restart systemd-logind
    
ответ дан zoccaf 08.06.2015 в 09:24