Finally, problem resolved by making a script in /etc/network/if-up.d/
sudo vim /etc/network/if-up.d/centrify
with content:
#!/bin/sh
if [ "$IFACE" = lo ]; then
exit 0
fi
/etc/init.d/centrifydc restart
initctl emit centrify-connected
after I typed:
sudo chown root /etc/network/if-up.d/centrify
sudo chgrp root /etc/network/if-up.d/centrify
sudo chmod 755 /etc/network/if-up.d/centrify
And then I modified /etc/init/lightdm.conf with right permissions (chown root, chgrp root, chmod 644), and I added only one boot condition.
sudo chown root /etc/init/lightdm.conf
sudo chgrp root /etc/init/lightdm.conf
sudo chmod 644 /etc/init/lightdm.conf
then
sudo vim /etc/init/lightdm.conf
and I added only one boot condition.
# LightDM - light Display Manager
#
# The display manager service manages the X servers running on the
# system, providing login and auto-login services
#
# based on gdm upstart script
description "LightDM Display Manager"
author "Robert Ancell <robert.ancell@canonical.com>"
start on ((filesystem
and runlevel [!06]
and started dbus
and (drm-device-added card0 PRIMARY_DEVICE_FOR_DISPLAY=1
or stopped udev-fallback-graphics)
**and centrify-connected)**
or runlevel PREVLEVEL=S)
stop on runlevel [016]
emits login-session-start
emits desktop-session-start
emits desktop-shutdown
script
if [ -n "$UPSTART_EVENTS" ]
then
# Check kernel command-line for inhibitors, unless we are being called
# manually
for ARG in $(cat /proc/cmdline); do
if [ "$ARG" = "text" ]; then
plymouth quit || :
stop
exit 0
fi
done
[ ! -f /etc/X11/default-display-manager -o "$(cat /etc/X11/default-display-manager 2>/dev/null)" = "/usr/bin/lightdm" -o "$(cat /etc/X11/default-display-manager 2>/dev/null)" = "/usr/sbin/lightdm" ] || { stop; exit 0; }
if [ "$RUNLEVEL" = S -o "$RUNLEVEL" = 1 ]
then
# Single-user mode
plymouth quit || :
exit 0
fi
fi
exec lightdm
end script
post-stop script
if [ "$UPSTART_STOP_EVENTS" = runlevel ]; then
initctl emit desktop-shutdown
fi
end script
Be very careful when you do this !