Причина, по которой ваш код не работает, заключается в том, что вы пытаетесь использовать переменную оболочки $i
внутри сценария awk
, но делаете это неправильно. Текст внутри одинарных кавычек '...'
обрабатывается оболочкой буквально, поэтому $i
рассматривается как два символа, а не как значение переменной оболочки $i
. Вы также пытаетесь выполнить сравнение как действие (, что означает отсутствие подразумеваемого действия для печати строки ).
Вы можете передать значение вawk
awk -F $'\t' -v i="$i" '$2 == i' input > "cluster.$i.txt"
Или вы можете рассматривать каждую строку отдельно и полностью избегать awk
:
while read field index
do
printf "%s\t%s\n" "$field" "$index" >> "cluster.$index.txt"
done < input
Или вы могли бы использовать awk
почти для того же самого:
awk '{ fname = "cluster." $2 ".txt"; print > fname }' input
Если вам удобно работать с исходными файлами и терминалом, вы можете редактировать/etc/security/time.conf
Благодаря этому ответу и модифицированному скрипту elementary os я смог установить свои расписания и правила. Сценарий, измененный elementary, приведен ниже. Это немного излишество, но OP была о приложениях для экранного времени.
## PANTHEON_PARENTAL_CONTROLS_START
*;*;sampleUser1;Wk0800-2300
*;*;sampleUser2;Wk0800-2300
## PANTHEON_PARENTAL_CONTROLS_END
Это немного отличается от того, что упоминается в ОП, поэтому я не буду отмечать это как ответ.
Это запрещает указанным учетным записям входить в систему вне указанного времени в будние дни с 8:00 до 20:00. до 23:00. по времени на компьютере.
Функция «Экранное время» еще не реализована в Fedora 34, но ожидается, что она будет разработана проектом GNOME и включена в приложение «Родительский контроль». Вы можете следить за выпуском #10 в репозитории malcontent
GitLab, чтобы отслеживать разработку функции.
Предварительный проект включал:
Restrictions: …
- Set daily limit for screen time; prevent the child from using the computer once this has been exceeded
Components to the design: …
- Screen time settings - where a child can see information about their usage, and how much screen time they have left
Родительский контроль уже находится в основном репозитории Fedora:
$ dnf search parental
Останню перевірку на застарілість метаданих було виконано 8:56:35 тому, вт, 07-вер-2021 15:21:11 +0300.
========================= Відповідник Резюме: parental =========================
malcontent.x86_64 : Parental controls implementation
malcontent-control.x86_64 : Parental Controls UI
malcontent-pam.x86_64 : Parental Controls PAM Module
malcontent-tools.x86_64 : Parental Controls Tools
Существует даже модуль PAM для предотвращения входа пользователей в систему после запланированного периода времени:
$ dnf info malcontent-pam
Останню перевірку на застарілість метаданих було виконано 0:00:06 тому, ср, 08-вер-2021 07:37:35 +0300.
Доступних пакунків
Назва : malcontent-pam
Версія : 0.10.0
Випуск : 2.fc34
Архітектура : x86_64
Розмір : 22 k
Джерело : malcontent-0.10.0-2.fc34.src.rpm
Сховище : fedora
Резюме : Parental Controls PAM Module
Адреса : https://gitlab.freedesktop.org/pwithnall/malcontent/
Ліцензування : LGPLv2+
Опис : This package contains a PAM module which prevents logins for users who have
: exceeded their allowed computer time.
Но этого функционала в приложении пока нет.
На данный момент существует только дизайн-макет -до функции экранного времени: