Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
# get_display [USER] -- Returns $DISPLAY of USER.
# If first param is omitted, then $LOGNAME will be used.
get_display () {
who \
| grep ${1:-$LOGNAME} \
| perl -ne 'if ( m!\(\:(\d+)\)$! ) {print ":$1.0\n"; $ok = 1; last} END {exit !$ok}'
}
DISPLAY=$(get_display) || exit export DISPLAY
init_notify() {
user=`whoami`
pids=`pgrep -u $user nautilus`
for pid in $pids; do
# find DBUS session bus for this session
DBUS_SESSION_BUS_ADDRESS=`grep -z DBUS_SESSION_BUS_ADDRESS /proc/$pid/environ | sed -e 's/DBUS_SESSION_BUS_ADDRESS=//'`
# use it
export DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS
done
}
if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then
init_notify
fi
Собственные уведомления (notify) в Gnome