Как заблокировать xscreensaver при приостановке

Нет, это не странно, я слишком часто сталкиваюсь с проблемами подключения, когда я использую модем net net setter.

Вот как вы это делаете

gksu service network-manager restart

сохранить его в файле с расширением .sh и предоставить разрешение для исполняемого файла, щелкнув правой кнопкой мыши >> properties >> permissions

4
задан 7 June 2011 в 21:53

27 ответов

Наконец, я нашел правильный способ сделать это, объединив части, найденные в /etc/acpi/sleep.sh (которые, похоже, остались там неиспользованными), и Скайна указала в / usr / lib / pm-utils ... [ ! d0]

Итак, окончательный скрипт, который работает для меня, это: /usr/lib/pm-utils/sleep.d/00xscreensaver

#!/bin/sh

# Lock xscreensaver on resume from a suspend.

# getXuser gets the X user belonging to the display in $displaynum.
# If you want the foreground X user, use getXconsole!
getXuser() {
        user=`pinky -fw | awk '{ if ($2 == ":'$displaynum'" || $(NF) == ":'$displaynum'" ) { print $1; exit; } }'`
        if [ x"$user" = x"" ]; then
                startx=`pgrep -n startx`
                if [ x"$startx" != x"" ]; then
                        user=`ps -o user --no-headers $startx`
                fi
        fi
        if [ x"$user" != x"" ]; then
                userhome=`getent passwd $user | cut -d: -f6`
                export XAUTHORITY=$userhome/.Xauthority
        else
                export XAUTHORITY=""
        fi
        export XUSER=$user
}

if pidof xscreensaver > /dev/null; then
    for x in /tmp/.X11-unix/*; do
        displaynum=`echo $x | sed s#/tmp/.X11-unix/X##`
        getXuser;
        if [ x"$XAUTHORITY" != x"" ]; then
            export DISPLAY=":$displaynum"
            case "$1" in
                resume|thaw)
                    sudo -u $XUSER xscreensaver-command -unthrottle
                ;;
                suspend|hibernate)
                    sudo -u $XUSER xscreensaver-command -throttle
                    sudo -u $XUSER xscreensaver-command -lock
                ;;
            esac
        fi
    done
fi

Фактические команды xscreensaver также могут вызывать корыто su ( вместо sudo), как

su $XUSER -c "(xscreensaver-command -lock)"

, но это не будет работать для меня, потому что я использую pam_mount для монтирования моего зашифрованного дома во время входа в систему, а pam запрашивает мой пароль для pam_mount в скрипте, когда я использую su ...

4
ответ дан 25 May 2018 в 23:35

наконец я нашел правильный способ сделать это, объединив части я нашел в /etc/acpi/sleep.sh (что, кажется, осталось неиспользованными есть), и Scaine указал в /usr/lib в/ПМ-utils и...

поэтому окончательный скрипт, который работает для меня: /уср/либ/ПМ-утилиты/сна.д/00xscreensaver

#!/bin/sh # Lock xscreensaver on resume from a suspend. # getXuser gets the X user belonging to the display in $displaynum. # If you want the foreground X user, use getXconsole! getXuser() { user=`pinky -fw | awk '{ if ($2 == ":'$displaynum'" || $(NF) == ":'$displaynum'" ) { print $1; exit; } }'` if [ x"$user" = x"" ]; then startx=`pgrep -n startx` if [ x"$startx" != x"" ]; then user=`ps -o user --no-headers $startx` fi fi if [ x"$user" != x"" ]; then userhome=`getent passwd $user | cut -d: -f6` export XAUTHORITY=$userhome/.Xauthority else export XAUTHORITY="" fi export XUSER=$user } if pidof xscreensaver > /dev/null; then for x in /tmp/.X11-unix/*; do displaynum=`echo $x | sed s#/tmp/.X11-unix/X##` getXuser; if [ x"$XAUTHORITY" != x"" ]; then export DISPLAY=":$displaynum" case "$1" in resume|thaw) sudo -u $XUSER xscreensaver-command -unthrottle ;; suspend|hibernate) sudo -u $XUSER xscreensaver-command -throttle sudo -u $XUSER xscreensaver-command -lock ;; esac fi done fi

команды получения справки об можете также вызывается через СУ (вместо суда) как

su $XUSER -c "(xscreensaver-command -lock)"

но это не работает для меня, потому что я использую pam_mount монтировать мои зашифрованные дом во время входа в систему, и Пэм просит пароль для pam_mount в скрипте, когда я использую СУ...

4
ответ дан 25 July 2018 в 22:38

наконец я нашел правильный способ сделать это, объединив части я нашел в /etc/acpi/sleep.sh (что, кажется, осталось неиспользованными есть), и Scaine указал в /usr/lib в/ПМ-utils и...

поэтому окончательный скрипт, который работает для меня: /уср/либ/ПМ-утилиты/сна.д/00xscreensaver

#!/bin/sh # Lock xscreensaver on resume from a suspend. # getXuser gets the X user belonging to the display in $displaynum. # If you want the foreground X user, use getXconsole! getXuser() { user=`pinky -fw | awk '{ if ($2 == ":'$displaynum'" || $(NF) == ":'$displaynum'" ) { print $1; exit; } }'` if [ x"$user" = x"" ]; then startx=`pgrep -n startx` if [ x"$startx" != x"" ]; then user=`ps -o user --no-headers $startx` fi fi if [ x"$user" != x"" ]; then userhome=`getent passwd $user | cut -d: -f6` export XAUTHORITY=$userhome/.Xauthority else export XAUTHORITY="" fi export XUSER=$user } if pidof xscreensaver > /dev/null; then for x in /tmp/.X11-unix/*; do displaynum=`echo $x | sed s#/tmp/.X11-unix/X##` getXuser; if [ x"$XAUTHORITY" != x"" ]; then export DISPLAY=":$displaynum" case "$1" in resume|thaw) sudo -u $XUSER xscreensaver-command -unthrottle ;; suspend|hibernate) sudo -u $XUSER xscreensaver-command -throttle sudo -u $XUSER xscreensaver-command -lock ;; esac fi done fi

команды получения справки об можете также вызывается через СУ (вместо суда) как

su $XUSER -c "(xscreensaver-command -lock)"

но это не работает для меня, потому что я использую pam_mount монтировать мои зашифрованные дом во время входа в систему, и Пэм просит пароль для pam_mount в скрипте, когда я использую СУ...

4
ответ дан 26 July 2018 в 23:21

наконец я нашел правильный способ сделать это, объединив части я нашел в /etc/acpi/sleep.sh (что, кажется, осталось неиспользованными есть), и Scaine указал в /usr/lib в/ПМ-utils и...

поэтому окончательный скрипт, который работает для меня: /уср/либ/ПМ-утилиты/сна.д/00xscreensaver

#!/bin/sh # Lock xscreensaver on resume from a suspend. # getXuser gets the X user belonging to the display in $displaynum. # If you want the foreground X user, use getXconsole! getXuser() { user=`pinky -fw | awk '{ if ($2 == ":'$displaynum'" || $(NF) == ":'$displaynum'" ) { print $1; exit; } }'` if [ x"$user" = x"" ]; then startx=`pgrep -n startx` if [ x"$startx" != x"" ]; then user=`ps -o user --no-headers $startx` fi fi if [ x"$user" != x"" ]; then userhome=`getent passwd $user | cut -d: -f6` export XAUTHORITY=$userhome/.Xauthority else export XAUTHORITY="" fi export XUSER=$user } if pidof xscreensaver > /dev/null; then for x in /tmp/.X11-unix/*; do displaynum=`echo $x | sed s#/tmp/.X11-unix/X##` getXuser; if [ x"$XAUTHORITY" != x"" ]; then export DISPLAY=":$displaynum" case "$1" in resume|thaw) sudo -u $XUSER xscreensaver-command -unthrottle ;; suspend|hibernate) sudo -u $XUSER xscreensaver-command -throttle sudo -u $XUSER xscreensaver-command -lock ;; esac fi done fi

команды получения справки об можете также вызывается через СУ (вместо суда) как

su $XUSER -c "(xscreensaver-command -lock)"

но это не работает для меня, потому что я использую pam_mount монтировать мои зашифрованные дом во время входа в систему, и Пэм просит пароль для pam_mount в скрипте, когда я использую СУ...

4
ответ дан 2 August 2018 в 04:05

Наконец, я нашел правильный способ сделать это, объединив части, найденные в /etc/acpi/sleep.sh (которые, похоже, остались там неиспользованными), и Скайна указала в / usr / lib / pm-utils ... [ ! d0]

Итак, окончательный скрипт, который работает для меня, это: /usr/lib/pm-utils/sleep.d/00xscreensaver

#!/bin/sh # Lock xscreensaver on resume from a suspend. # getXuser gets the X user belonging to the display in $displaynum. # If you want the foreground X user, use getXconsole! getXuser() { user=`pinky -fw | awk '{ if ($2 == ":'$displaynum'" || $(NF) == ":'$displaynum'" ) { print $1; exit; } }'` if [ x"$user" = x"" ]; then startx=`pgrep -n startx` if [ x"$startx" != x"" ]; then user=`ps -o user --no-headers $startx` fi fi if [ x"$user" != x"" ]; then userhome=`getent passwd $user | cut -d: -f6` export XAUTHORITY=$userhome/.Xauthority else export XAUTHORITY="" fi export XUSER=$user } if pidof xscreensaver > /dev/null; then for x in /tmp/.X11-unix/*; do displaynum=`echo $x | sed s#/tmp/.X11-unix/X##` getXuser; if [ x"$XAUTHORITY" != x"" ]; then export DISPLAY=":$displaynum" case "$1" in resume|thaw) sudo -u $XUSER xscreensaver-command -unthrottle ;; suspend|hibernate) sudo -u $XUSER xscreensaver-command -throttle sudo -u $XUSER xscreensaver-command -lock ;; esac fi done fi

Фактические команды xscreensaver также могут вызывать корыто su ( вместо sudo), как

su $XUSER -c "(xscreensaver-command -lock)"

, но это не будет работать для меня, потому что я использую pam_mount для монтирования моего зашифрованного дома во время входа в систему, а pam запрашивает мой пароль для pam_mount в скрипте, когда я использую su ...

4
ответ дан 4 August 2018 в 20:08

Наконец, я нашел правильный способ сделать это, объединив части, найденные в /etc/acpi/sleep.sh (которые, похоже, остались там неиспользованными), и Скайна указала в / usr / lib / pm-utils ... [ ! d0]

Итак, окончательный скрипт, который работает для меня, это: /usr/lib/pm-utils/sleep.d/00xscreensaver

#!/bin/sh # Lock xscreensaver on resume from a suspend. # getXuser gets the X user belonging to the display in $displaynum. # If you want the foreground X user, use getXconsole! getXuser() { user=`pinky -fw | awk '{ if ($2 == ":'$displaynum'" || $(NF) == ":'$displaynum'" ) { print $1; exit; } }'` if [ x"$user" = x"" ]; then startx=`pgrep -n startx` if [ x"$startx" != x"" ]; then user=`ps -o user --no-headers $startx` fi fi if [ x"$user" != x"" ]; then userhome=`getent passwd $user | cut -d: -f6` export XAUTHORITY=$userhome/.Xauthority else export XAUTHORITY="" fi export XUSER=$user } if pidof xscreensaver > /dev/null; then for x in /tmp/.X11-unix/*; do displaynum=`echo $x | sed s#/tmp/.X11-unix/X##` getXuser; if [ x"$XAUTHORITY" != x"" ]; then export DISPLAY=":$displaynum" case "$1" in resume|thaw) sudo -u $XUSER xscreensaver-command -unthrottle ;; suspend|hibernate) sudo -u $XUSER xscreensaver-command -throttle sudo -u $XUSER xscreensaver-command -lock ;; esac fi done fi

Фактические команды xscreensaver также могут вызывать корыто su ( вместо sudo), как

su $XUSER -c "(xscreensaver-command -lock)"

, но это не будет работать для меня, потому что я использую pam_mount для монтирования моего зашифрованного дома во время входа в систему, а pam запрашивает мой пароль для pam_mount в скрипте, когда я использую su ...

4
ответ дан 6 August 2018 в 04:10

Наконец, я нашел правильный способ сделать это, объединив части, найденные в /etc/acpi/sleep.sh (которые, кажется, остались там неиспользованными), и Скайна указала в / usr / lib / pm-utils ... [ ! d2]

Итак, окончательный скрипт, который работает для меня, это: /usr/lib/pm-utils/sleep.d/00xscreensaver

  #! / bin / sh # Lock xscreensaver on  возобновить с приостановления.  # getXuser получает пользователя X, принадлежащего дисплею в $ displaynum.  # Если вы хотите, чтобы пользователь на переднем плане X, используйте getXconsole!  getXuser () {user = `pinky -fw |  awk '{if ($ 2 == ":' $ displaynum '" || $ (NF) == ":' $ displaynum '") {print $ 1;  Выход;  }} '`if [x" $ user "= x" "];  затем startx = `pgrep -n startx`, если [x" $ startx "! = x" "];  то пользователь = `ps -o user --no-headers $ startx` fi fi, если [x" $ user "! = x" "];  then userhome = `getent passwd $ user |  cut -d: -f6` export XAUTHORITY = $ userhome / .Xauthority else export XAUTHORITY = "" fi export XUSER = $ user}, если pidof xscreensaver & gt;  / DEV / нуль;  затем для x в /tmp/.X11-unix/*;  do displaynum = `echo $ x |  sed s # / tmp / .X11-unix / X ## `getXuser;  если [x "$ XAUTHORITY"! = x ""];  затем экспортируйте DISPLAY = ": $ displaynum" случай "$ 1" в резюме | оттаивание) sudo -u $ XUSER xscreensaver-command -unthrott ;;  suspend | hibernate) sudo -u $ XUSER xscreensaver-command -throttle sudo -u $ XUSER xscreensaver-command -lock ;;  esac fi done fi  

Фактические команды xscreensaver также могут вызывать корыто su (вместо sudo), например

  su $ XUSER -c "(xscreensaver-command  -lock) " 

, но это не сработает для меня, потому что я использую pam_mount для монтирования зашифрованного дома во время входа в систему, а pam запрашивает мой пароль для pam_mount в скрипте, когда я использую su ...

4
ответ дан 7 August 2018 в 22:09

Наконец, я нашел правильный способ сделать это, объединив части, найденные в /etc/acpi/sleep.sh (которые, кажется, остались там неиспользованными), и Скайна указала в / usr / lib / pm-utils ... [ ! d2]

Итак, окончательный скрипт, который работает для меня, это: /usr/lib/pm-utils/sleep.d/00xscreensaver

  #! / bin / sh # Lock xscreensaver on  возобновить с приостановления.  # getXuser получает пользователя X, принадлежащего дисплею в $ displaynum.  # Если вы хотите, чтобы пользователь на переднем плане X, используйте getXconsole!  getXuser () {user = `pinky -fw |  awk '{if ($ 2 == ":' $ displaynum '" || $ (NF) == ":' $ displaynum '") {print $ 1;  Выход;  }} '`if [x" $ user "= x" "];  затем startx = `pgrep -n startx`, если [x" $ startx "! = x" "];  то пользователь = `ps -o user --no-headers $ startx` fi fi, если [x" $ user "! = x" "];  then userhome = `getent passwd $ user |  cut -d: -f6` export XAUTHORITY = $ userhome / .Xauthority else export XAUTHORITY = "" fi export XUSER = $ user}, если pidof xscreensaver & gt;  / DEV / нуль;  затем для x в /tmp/.X11-unix/*;  do displaynum = `echo $ x |  sed s # / tmp / .X11-unix / X ## `getXuser;  если [x "$ XAUTHORITY"! = x ""];  затем экспортируйте DISPLAY = ": $ displaynum" случай "$ 1" в резюме | оттаивание) sudo -u $ XUSER xscreensaver-command -unthrott ;;  suspend | hibernate) sudo -u $ XUSER xscreensaver-command -throttle sudo -u $ XUSER xscreensaver-command -lock ;;  esac fi done fi  

Фактические команды xscreensaver также могут вызывать корыто su (вместо sudo), например

  su $ XUSER -c "(xscreensaver-command  -lock) " 

, но это не сработает для меня, потому что я использую pam_mount для монтирования зашифрованного дома во время входа в систему, а pam запрашивает мой пароль для pam_mount в скрипте, когда я использую su ...

4
ответ дан 10 August 2018 в 10:23

Наконец, я нашел правильный способ сделать это, объединив части, найденные в /etc/acpi/sleep.sh (которые, кажется, остались там неиспользованными), и Скайна указала в / usr / lib / pm-utils ... [ ! d2]

Итак, окончательный скрипт, который работает для меня, это: /usr/lib/pm-utils/sleep.d/00xscreensaver

  #! / bin / sh # Lock xscreensaver on  возобновить с приостановления.  # getXuser получает пользователя X, принадлежащего дисплею в $ displaynum.  # Если вы хотите, чтобы пользователь на переднем плане X, используйте getXconsole!  getXuser () {user = `pinky -fw |  awk '{if ($ 2 == ":' $ displaynum '" || $ (NF) == ":' $ displaynum '") {print $ 1;  Выход;  }} '`if [x" $ user "= x" "];  затем startx = `pgrep -n startx`, если [x" $ startx "! = x" "];  то пользователь = `ps -o user --no-headers $ startx` fi fi, если [x" $ user "! = x" "];  then userhome = `getent passwd $ user |  cut -d: -f6` export XAUTHORITY = $ userhome / .Xauthority else export XAUTHORITY = "" fi export XUSER = $ user}, если pidof xscreensaver & gt;  / DEV / нуль;  затем для x в /tmp/.X11-unix/*;  do displaynum = `echo $ x |  sed s # / tmp / .X11-unix / X ## `getXuser;  если [x "$ XAUTHORITY"! = x ""];  затем экспортируйте DISPLAY = ": $ displaynum" случай "$ 1" в резюме | оттаивание) sudo -u $ XUSER xscreensaver-command -unthrott ;;  suspend | hibernate) sudo -u $ XUSER xscreensaver-command -throttle sudo -u $ XUSER xscreensaver-command -lock ;;  esac fi done fi  

Фактические команды xscreensaver также могут вызывать корыто su (вместо sudo), например

  su $ XUSER -c "(xscreensaver-command  -lock) " 

, но это не сработает для меня, потому что я использую pam_mount для монтирования зашифрованного дома во время входа в систему, а pam запрашивает мой пароль для pam_mount в скрипте, когда я использую su ...

4
ответ дан 13 August 2018 в 16:48

Я не эксперт, но я думаю, что вы могли бы отредактировать /usr/lib/pm-utils/sleep.d/00powersave, чтобы добавить команду xscreensaver-command --lock в начале.

Это, однако, будет выполняться дважды - один раз, когда вы приостанавливаете, тогда

Изменить: это немного больше (не так много), но из этого потока кажется, что вам лучше создать файл в / usr / lib / pm-utils /sleep.d с помощью команды, которую вы хотите запустить. Итак, в полном объеме, вот команды из терминала:

sudo gedit /usr/lib/pm-utils/sleep.d/000LockScreensaver

Затем поместите это в файл и сохраните:

#!/bin/sh

# Lock xscreensaver on resume from a suspend.

case "$1" in resume|thaw)
    xscreensaver-command --lock ;
esac

И, наконец,

sudo chmod +x /usr/lib/pm-utils/sleep.d/000LockScreensaver

Затем попробуйте приостановить, чтобы увидеть, работает ли это при возобновлении.

1
ответ дан 25 May 2018 в 23:35
  • 1
    Благодаря! Это указывало на правильное направление, но вы пропустили то, что xscreensaver-command нуждается в доступе к X-серверу, чтобы отправить команду на демон xscreensaver ... но я отправил свой сценарий, который я, наконец, взломал :) – u-foka 9 January 2011 в 05:37

Следует отметить, что приведенные выше ответы были устаревшими с момента введения systemd. Теперь, чтобы заблокировать xscreensaver, нужно либо перемещать, либо модифицировать вспомогательный скрипт для условных соглашений systemd-sleep(8), либо использовать вспомогательную программу, такую ​​как xss-lock.

Cf. XSS-замок

0
ответ дан 25 May 2018 в 23:35

следует отметить, что вышеуказанные ответы уже устарело после внедрения systemd в. Теперь, чтобы заблокировать получения справки об, надо либо двигаться и изменять вспомогательный скрипт для systemd-sleep(8) соглашения о вызовах, или использовать вспомогательные программы, такие как межсайтовый скриптинг-замок.

Ср. с xss-Блокировка!Д1]

0
ответ дан 25 July 2018 в 22:38

я не эксперт, но я думаю, что вы могли бы изменить [F4] для того, чтобы добавить команду xscreensaver-command --lock в начале.

это, однако, выполнить дважды - один раз, когда вы приостановить, а затем снова при выходе.

редактировать : это немного сложнее (не намного), но из этой темы, кажется, что ты лучше создавай свой файл в /usr/lib в/ПМ-утилиты/сна.D с команду, которую вы хотите запустить. Так по-полной, здесь команды из терминала :

sudo gedit /usr/lib/pm-utils/sleep.d/000LockScreensaver

затем положить это в файл и сохранить :

#!/bin/sh # Lock xscreensaver on resume from a suspend. case "$1" in resume|thaw) xscreensaver-command --lock ; esac

и, наконец,

sudo chmod +x /usr/lib/pm-utils/sleep.d/000LockScreensaver

тогда попробуйте приостановить, чтобы увидеть, если он работает, когда вы возобновить.

1
ответ дан 25 July 2018 в 22:38
  • 1
    Благодаря! Это указывало на правильное направление, но вы пропустили то, что xscreensaver-command нуждается в доступе к X-серверу, чтобы отправить команду на демон xscreensaver ... но я отправил свой сценарий, который я, наконец, взломал :) – u-foka 9 January 2011 в 05:37

следует отметить, что вышеуказанные ответы уже устарело после внедрения systemd в. Теперь, чтобы заблокировать получения справки об, надо либо двигаться и изменять вспомогательный скрипт для systemd-sleep(8) соглашения о вызовах, или использовать вспомогательные программы, такие как межсайтовый скриптинг-замок.

Ср. с xss-Блокировка!Д1]

0
ответ дан 26 July 2018 в 23:21

Я не эксперт, но я думаю, что вы могли бы отредактировать /usr/lib/pm-utils/sleep.d/00powersave, чтобы добавить команду xscreensaver-command --lock в начале.

Это, однако, будет выполняться дважды - один раз, когда вы приостанавливаете, тогда

Изменить: это немного больше (не так много), но из этого потока кажется, что вам лучше создать файл в / usr / lib / pm-utils /sleep.d с помощью команды, которую вы хотите запустить. Итак, в полном объеме, вот команды из терминала:

sudo gedit /usr/lib/pm-utils/sleep.d/000LockScreensaver

Затем поместите это в файл и сохраните:

#!/bin/sh # Lock xscreensaver on resume from a suspend. case "$1" in resume|thaw) xscreensaver-command --lock ; esac

И, наконец,

sudo chmod +x /usr/lib/pm-utils/sleep.d/000LockScreensaver

Затем попробуйте приостановить, чтобы увидеть, работает ли это при возобновлении.

1
ответ дан 26 July 2018 в 23:21
  • 1
    Благодаря! Это указывало на правильное направление, но вы пропустили то, что xscreensaver-command нуждается в доступе к X-серверу, чтобы отправить команду на демон xscreensaver ... но я отправил свой сценарий, который я, наконец, взломал :) – u-foka 9 January 2011 в 05:37

Следует отметить, что приведенные выше ответы были устаревшими с момента введения systemd. Теперь, чтобы заблокировать xscreensaver, нужно либо перемещать, либо модифицировать вспомогательный скрипт для условных соглашений systemd-sleep(8), либо использовать вспомогательную программу, такую ​​как xss-lock.

Cf. [D1] XSS-замок

1
ответ дан 2 August 2018 в 04:05

Я не эксперт, но я думаю, что вы могли бы отредактировать /usr/lib/pm-utils/sleep.d/00powersave, чтобы добавить команду xscreensaver-command --lock в начале.

Это, однако, будет выполняться дважды - один раз, когда вы приостанавливаете, тогда

Изменить: это немного больше (не так много), но из этого потока кажется, что вам лучше создать файл в / usr / lib / pm-utils /sleep.d с помощью команды, которую вы хотите запустить. Итак, в полном объеме, вот команды из терминала:

sudo gedit /usr/lib/pm-utils/sleep.d/000LockScreensaver

Затем поместите это в файл и сохраните:

#!/bin/sh # Lock xscreensaver on resume from a suspend. case "$1" in resume|thaw) xscreensaver-command --lock ; esac

И, наконец,

sudo chmod +x /usr/lib/pm-utils/sleep.d/000LockScreensaver

Затем попробуйте приостановить, чтобы увидеть, работает ли это при возобновлении.

1
ответ дан 2 August 2018 в 04:05
  • 1
    Благодаря! Это указывало на правильное направление, но вы пропустили то, что xscreensaver-command нуждается в доступе к X-серверу, чтобы отправить команду на демон xscreensaver ... но я отправил свой сценарий, который я, наконец, взломал :) – u-foka 9 January 2011 в 05:37

Следует отметить, что приведенные выше ответы были устаревшими с момента введения systemd. Теперь, чтобы заблокировать xscreensaver, нужно либо перемещать, либо модифицировать вспомогательный скрипт для условных соглашений systemd-sleep(8), либо использовать вспомогательную программу, такую ​​как xss-lock.

Cf. [D1] XSS-замок

1
ответ дан 4 August 2018 в 20:08

я не эксперт, но я думаю, что вы могли бы изменить [F4] для того, чтобы добавить команду xscreensaver-command --lock в начале.

это, однако, выполнить дважды - один раз, когда вы приостановить, а затем снова при выходе.

редактировать : это немного сложнее (не намного), но из этой темы, кажется, что ты лучше создавай свой файл в /usr/lib в/ПМ-утилиты/сна.D с команду, которую вы хотите запустить. Так по-полной, здесь команды из терминала :

sudo gedit /usr/lib/pm-utils/sleep.d/000LockScreensaver

затем положить это в файл и сохранить :

#!/bin/sh # Lock xscreensaver on resume from a suspend. case "$1" in resume|thaw) xscreensaver-command --lock ; esac

и, наконец,

sudo chmod +x /usr/lib/pm-utils/sleep.d/000LockScreensaver

тогда попробуйте приостановить, чтобы увидеть, если он работает, когда вы возобновить.

1
ответ дан 4 August 2018 в 20:08
  • 1
    Благодаря! Это указывало на правильное направление, но вы пропустили то, что xscreensaver-command нуждается в доступе к X-серверу, чтобы отправить команду на демон xscreensaver ... но я отправил свой сценарий, который я, наконец, взломал :) – u-foka 9 January 2011 в 05:37

Следует отметить, что приведенные выше ответы были устаревшими с момента введения systemd. Теперь, чтобы заблокировать xscreensaver, нужно либо перемещать, либо модифицировать вспомогательный скрипт для условных соглашений systemd-sleep(8), либо использовать вспомогательную программу, такую ​​как xss-lock.

Cf. [D1] XSS-замок

1
ответ дан 6 August 2018 в 04:10

я не эксперт, но я думаю, что вы могли бы изменить [F4] для того, чтобы добавить команду xscreensaver-command --lock в начале.

это, однако, выполнить дважды - один раз, когда вы приостановить, а затем снова при выходе.

редактировать : это немного сложнее (не намного), но из этой темы, кажется, что ты лучше создавай свой файл в /usr/lib в/ПМ-утилиты/сна.D с команду, которую вы хотите запустить. Так по-полной, здесь команды из терминала :

sudo gedit /usr/lib/pm-utils/sleep.d/000LockScreensaver

затем положить это в файл и сохранить :

#!/bin/sh # Lock xscreensaver on resume from a suspend. case "$1" in resume|thaw) xscreensaver-command --lock ; esac

и, наконец,

sudo chmod +x /usr/lib/pm-utils/sleep.d/000LockScreensaver

тогда попробуйте приостановить, чтобы увидеть, если он работает, когда вы возобновить.

1
ответ дан 6 August 2018 в 04:10
  • 1
    Благодаря! Это указывало на правильное направление, но вы пропустили то, что xscreensaver-command нуждается в доступе к X-серверу, чтобы отправить команду на демон xscreensaver ... но я отправил свой сценарий, который я, наконец, взломал :) – u-foka 9 January 2011 в 05:37

Я не эксперт, но я думаю, вы могли бы отредактировать /usr/lib/pm-utils/sleep.d/00powersave , чтобы добавить xscreensaver-command -lock .

Это будет выполняться дважды - один раз при приостановке, а затем при возобновлении.

Изменить: это немного больше (не много), но из этой нити , похоже, что вам лучше создать файл в /usr/lib/pm-utils/sleep.d с помощью команды, которую вы хотите запустить. Итак, в полном объеме, вот команды от терминала:

  sudo gedit /usr/lib/pm-utils/sleep.d/000LockScreensaver  

Затем поместите это в файле и сохранить:

  #! / bin / sh # Заблокировать xscreensaver при возобновлении с приостановки.  случай «$ 1» в резюме | оттаивание) xscreensaver-command -lock;  esac  

И, наконец,

  sudo chmod + x /usr/lib/pm-utils/sleep.d/000LockScreensaver  

Затем попробуйте приостановить, чтобы увидеть, работает ли это при возобновлении.

1
ответ дан 7 August 2018 в 22:09

Следует отметить, что приведенные выше ответы были устаревшими с момента введения systemd. Теперь, чтобы заблокировать xscreensaver, нужно либо переместить и изменить вспомогательный скрипт для systemd-sleep (8) вызывать соглашения, либо использовать вспомогательную программу, такую ​​как xss-lock .

Cf. [D1] https://unix.stackexchange.com/questions/149959/how-to-run-systemd-user-service-to-trigger-on-sleep-aka-suspend-hibernate

1
ответ дан 7 August 2018 в 22:09

Следует отметить, что приведенные выше ответы были устаревшими с момента введения systemd. Теперь, чтобы заблокировать xscreensaver, нужно либо переместить и изменить вспомогательный скрипт для systemd-sleep (8) вызывать соглашения, либо использовать вспомогательную программу, такую ​​как xss-lock .

Cf. [D1] https://unix.stackexchange.com/questions/149959/how-to-run-systemd-user-service-to-trigger-on-sleep-aka-suspend-hibernate

1
ответ дан 10 August 2018 в 10:23

Я не эксперт, но я думаю, вы могли бы отредактировать /usr/lib/pm-utils/sleep.d/00powersave , чтобы добавить xscreensaver-command -lock .

Это будет выполняться дважды - один раз при приостановке, а затем при возобновлении.

Изменить: это немного больше (не много), но из этой нити , похоже, что вам лучше создать файл в /usr/lib/pm-utils/sleep.d с помощью команды, которую вы хотите запустить. Итак, в полном объеме, вот команды от терминала:

  sudo gedit /usr/lib/pm-utils/sleep.d/000LockScreensaver  

Затем поместите это в файле и сохранить:

  #! / bin / sh # Заблокировать xscreensaver при возобновлении с приостановки.  случай «$ 1» в резюме | оттаивание) xscreensaver-command -lock;  esac  

И, наконец,

  sudo chmod + x /usr/lib/pm-utils/sleep.d/000LockScreensaver  

Затем попробуйте приостановить, чтобы увидеть, работает ли это при возобновлении.

1
ответ дан 10 August 2018 в 10:23

Следует отметить, что приведенные выше ответы были устаревшими с момента введения systemd. Теперь, чтобы заблокировать xscreensaver, нужно либо переместить и изменить вспомогательный скрипт для systemd-sleep (8) вызывать соглашения, либо использовать вспомогательную программу, такую ​​как xss-lock .

Cf. [D1] https://unix.stackexchange.com/questions/149959/how-to-run-systemd-user-service-to-trigger-on-sleep-aka-suspend-hibernate

1
ответ дан 13 August 2018 в 16:48

Я не эксперт, но я думаю, вы могли бы отредактировать /usr/lib/pm-utils/sleep.d/00powersave , чтобы добавить xscreensaver-command -lock .

Это будет выполняться дважды - один раз при приостановке, а затем при возобновлении.

Изменить: это немного больше (не много), но из этой нити , похоже, что вам лучше создать файл в /usr/lib/pm-utils/sleep.d с помощью команды, которую вы хотите запустить. Итак, в полном объеме, вот команды от терминала:

  sudo gedit /usr/lib/pm-utils/sleep.d/000LockScreensaver  

Затем поместите это в файле и сохранить:

  #! / bin / sh # Заблокировать xscreensaver при возобновлении с приостановки.  случай «$ 1» в резюме | оттаивание) xscreensaver-command -lock;  esac  

И, наконец,

  sudo chmod + x /usr/lib/pm-utils/sleep.d/000LockScreensaver  

Затем попробуйте приостановить, чтобы увидеть, работает ли это при возобновлении.

1
ответ дан 13 August 2018 в 16:48
  • 1
    Благодаря! Это указывало на правильное направление, но вы пропустили то, что xscreensaver-command нуждается в доступе к X-серверу, чтобы отправить команду на демон xscreensaver ... но я отправил свой сценарий, который я, наконец, взломал :) – u-foka 9 January 2011 в 05:37

Другие вопросы по тегам:

Похожие вопросы: