void linux и блокировка экрана при приостановке

Не упустите шанс установить синтаксические анализаторы XML/HTML, так как они будут подходящим инструментом для таких данных.
На данный момент вотawkобходной путь для вашего конкретного случая:

awk -F'[<>]' '{ for(i=1;i<=NF;i++) { if($i~/DOCNUM|MESTYP|SNDPRN/) a[$i]=$(i+1) } 
                print "XML",a["DOCNUM"],a["MESTYP"],a["SNDPRN"] }' OFS=',' your.xml

Выход:

XML,123456,,0000929674
XML,12345,,0000929677
0
20.11.2019, 05:24
2 ответа

Ваше первоначальное решение не работает, поскольку оболочка ожидает остановки процесса slock, прежде чем продолжить. Самое простое (, но не лучшее )решение сделать команду slock &, которая позволяет продолжить процессы после. Однако это не гарантирует, что slock завершит работу до того, как устройство приостановится.

«Правильный» способ сделать это — использовать xss-lockдля вызова slock и использовать xsetдля блокировки экрана по команде. Оба они могут быть найдены в репозиториях Void. xss-lock slockустановит xss -lock для использования slock для блокировки.

Этот должен работать без каких-либо дополнительных скриптов, так как предполагается, что блокировка xss -нормально работает при приостановке. Однако события на основе suspend -всегда были глючными, поэтому дополнительная активация через xset — неплохая идея.

Примером /etc/zzz.d/suspend/slockможет быть

#!/bin/sh
xset s activate

Аналогичный скрипт можно было бы поместить в соответствующий файл «резюме», но предыдущая проблема с разблокированным экраном появлялась до экрана блокировки.

0
28.01.2020, 03:06

Решил эту проблему вот так:

/etc/zzz.d/suspend/01

#!/bin/sh
doas -u ds xsecurelock &
sleep 2

/etc/doas.conf

permit persist :wheel
permit nopass root as ds cmd xsecurelock
permit nopass :wheel as root cmd zzz
permit nopass :wheel as root cmd ZZZ
permit nopass keepenv root as root

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

0
25.08.2020, 08:46

Теги

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