[ОТВЕТИТЬ]
Опции темы
09.01.2015 22:35  
OlegON
Проблема следующего рода. Мессенджеры традиционно закрываются по каким-то своим внутренним проблемам. Соответственно, мой pidgin закрылся после того, как я несколько недель не перезагружался. Самое простое - в периодическом кроне проверять, запущен он или нет, а если не запущен, то запускать из под моего пользователя и в моем Х.

Код:
#! /bin/bash
testcmd=`ps -Af | grep -o -w 'pidgin$' | grep -v grep | grep -v check_pidgin`

if [ -z "$testcmd" ] ; then
eval $(tr '\0' '\n' < /proc/$(pgrep awesome)/environ | sed -nr '/^(DISPLAY|XAUTHORITY)=/p' | sed -e 's/^/export /' )
sudo -u user /usr/bin/dbus-launch /usr/bin/pidgin &>/dev/null &
fi
 
09.01.2015 22:38  
OlegON
расшифрую:
я работаю в awesome, т.е. строка с eval вычисляет DISPLAY, в котором работает awesome.
первая строка заносит в переменную результат поиска процесса pidgin, вторая - проверяет его.
запускаю через sudo, поскольку отдельную крон-задачу лепить не хотелось, а основная работает из под рута.
чтобы нормально работали уведомления в pidgin, запускаю его через dbus-launch.
 
 
Опции темы



Часовой пояс GMT +3, время: 19:08.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.