Я хотел бы запустить что-то подобное при входе в систему:
Регистрация событий экрана блокировки

Затем я попытался использовать systemd и upstart, описанные в этом ответе:https://askubuntu.com/questions/228304/how-do-i-run-a-script-at-start-up#answer-228313

Однако мой скрипт никогда не запускается при запуске.
Сценарий запускается нормально, если я запускаю его сам после входа в систему.

Сценарий, который я поместил в /etc/init.d/ выглядит следующим образом:

#!/bin/bash
### BEGIN INIT INFO
# Provides:          screenlogger
# Required-Start:    $local_fs $network
# Required-Stop:     $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: screenlogger
# Description:       screenlogger
### END INIT INFO

export SCREENLOGGER="$HOME/.bin/screenlogger.sh"

if [ -e "$SCREENLOGGER" ]
then
  $SCREENLOGGER
fi

Затем я понял, что если я просто echo "$HOME" >> /home/myloggin/test то при перезагрузке файл всегда будет пустым.

Кроме того, кажется, что скрипт запускается при загрузке, а не при входе в систему, и пользователь является пользователем root не я.

Поэтому я хотел бы знать, возможно ли запустить скрипт при входе в систему как владелец пользовательского процесса (с заполнением $HOME )?

1 ответ1

0

Я использую ~/.xprofile для применения настроек уровня пользователя и запуска служб уровня пользователя, например:

xss-lock slock &

У меня никогда не было проблем с тем, что X не инициализировался в момент запуска этого файла.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .