Как запускать скрипт каждый раз, когда я вхожу и разблокирую сессию

В Saucy salamander мне нужно запускать скрипт каждый раз, когда я вхожу в систему, а затем каждый раз, когда я разблокирую сеанс после ручной блокировки или автоматического сна. Я не могу использовать «Startup Application» для этого, потому что оно не сработает при разблокировке.

4
задан 8 January 2014 в 21:07

2 ответа

Найден этот , который был сделан пользователем Ubuntu Forums opus1 . Может быть, это поможет.


Вот что пост дает в качестве решения:

Для всех, кто заинтересовался, вот что я сделал: я посмотрел журналы (в частности, /var/logs/auth.log) и увидел, что запись сделана, когда пароль проверен и принят. Мой журнал сказал:

Aug  7 14:10:57 mumble gnome-screensaver-dialog: gkr-pam: unlocked login keyring

В конечном итоге я нашел приложение под названием «Swatch», которое отслеживает журнал и запускает сценарий, когда указанная вами строка появляется в этом журнале. Для Swatch требуется файл конфигурации (.swatchrc), и мой выглядит следующим образом:

watchfor /unlocked login keyring/
  exec /root/.gnome2/nautilus-scripts/wakeServer

где «/ unlocked login keyring /» - это строка для поиска, а «exec» определяет скрипт, который будет запускаться, когда он найден. Мой скрипт wakeServer выглядит следующим образом:

#!/bin/bash

#wake the server
wakeonlan AA:BB:CC:DD:EE:FF

#record info in the log file
myVar="woke server at login:"
echo "$myVar">>/home/me/.serverWake.log
date>>/home/me/.serverWake.log

где «AA: BB: CC: DD: EE: FF» - это MAC-адрес моего сервера.

Swatch необходимо будет ввести в качестве запускаемого приложения (создайте запись в Системе | Настройки | Запускаемые приложения с именем «runSwatch» и введите команду «swatch --tail-file /var/log/auth.log - -daemon ". (В Debian, только root может читать журналы, поэтому перед командой запуска необходимо ввести« sudo », а образец необходимо добавить в файл sudoers без пароля. В Ubuntu, похоже, пользователи без полномочий root могут читать журналы. Может быть проблема безопасности с предоставлением доступа без пароля к образцу, но в моем случае это кажется приемлемым).

До сих пор это работало отлично!

0
ответ дан 8 January 2014 в 21:07

.bashrc будет местом, которое вы хотите использовать для этого процесса. .bashrc содержит профиль пользователя и все конфигурации, и именно это система сначала прочитает при входе в систему, поэтому именно здесь вы хотите поместить свои коды для своих пользовательских сценариев, которые будут выполняться при входе в систему.

Вот пример из моих кодов, которые я использую. Это код, который я добавил в нижнюю строку .bashrc:

if [ -f ~/.myscripts ]; then
. ~/.myscripts
fi

И .myscripts хранит мои скрипты в оболочке bash, которые я хочу запустить при входе в систему.

0
ответ дан 8 January 2014 в 21:07

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

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