[Решено]Автозапуск с условием

Ооо, огромнейшая благодарность за помощь (и не только нафане))) Правда, я чуть по-другому написал:
sh -c "sleep 30 && ping -c 3 8.8.8.8 && pidgin"
Добавил sleep, чтобы дать wicd время на подключение к сети.
А bash покурю... Уже понял, что он открывает большие просторы для творчества)
GitHub, ArchWiki, AUR
Апну свою же тему. С недавнего времени стал использовать wifi-menu в связке с [email protected]interface_name.service.
Цель: автозапуск pidgin'a, как только произошло подключение к сети.
Решение: думаю, лучше всего и по фен-шую реализовать это через юнит systemd, но копаться в его документации сейчас откровенно не хочется (тапками прошу не кидаться). Для знающих людей, думаю, не составит труда помочь и дать готовый юнит из нескольких строк.
Прошу прощения за возможную "наглость" и заранее благодарю всех, кто отзовется
GitHub, ArchWiki, AUR

Цель: автозапуск pidgin'a, как только произошло подключение к сети.
Решение: думаю, лучше всего и по фен-шую реализовать это через юнит systemd, но копаться в его документации сейчас откровенно не хочется
Привлекать к этой процедуре systemd, как мне видится, имеет смысл только в кач-ве cron'а, а именно, данный unit должен периодически дёргать скрипт, проверяющий доступность сети и в случае таковой, запускающий пиджин.

Например, ситуация: [email protected]_name.service уже запущен, но в данный момент сети ещё нет (метро, бункер, пустыня, etc), а через пару минут она появилась - значит нужно именно периодически проверять доступность сети и выпускать голубя, если она есть и более того, при периодичности проверки, проверять не запущен ли пиджин уже, чтобы не запускать его снова и снова в случае успешного пинга. Как-то так.


bobart, то, что ты говоришь, можно легко сделать, но меня смущает потенциально частая ситуация: я уже начал работать, лазить по окошкам и т.п., а тут вдруг вылезает и отвлекает окно пиджина. Потому хочу именно запуск при старте сети
GitHub, ArchWiki, AUR
нужно просто запускать pidgin при старте де. если сеть есть, то будет подключение, а если нет, ну не будет, просто будет висеть в трее.
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
man netctl.profile

ExecUpPost=
           A command that is executed after a connection is established. If the specified command returns anything other than 0
           (success), netctl will abort and stop the profile. If the command should be allowed to fail, add ‘|| true’ to the end of
           it.
оно? Если да, то в нужные профили добавить что то вроде
ExecUpPost='su -c "DISPLAY=:0 pidgin" username || true'
PGP 0x31361F01
arcanisrepo
nafanja, насколько я знаю, в этом случае он выведет в списке контактов сообщение об отсутствии сети и будет ждать, пока не будет ручного вмешательства (пересоединения).
arcanis, идеально!
Нашел еще вот это:
ExecDownPre=
           A command that is executed before a connection is brought down. Similar precautions should be taken as with ExecUpPost.
Интересно, означает ли это, что в случае разрыва соединения команды будут выполнены?
GitHub, ArchWiki, AUR
Kycok
Интересно, означает ли это, что в случае разрыва соединения команды будут выполнены?
разрыв нет - соединение то висеть остается.
PGP 0x31361F01
arcanisrepo
Kycok
bobart, то, что ты говоришь, можно легко сделать, но меня смущает потенциально частая ситуация: я уже начал работать, лазить по окошкам и т.п., а тут вдруг вылезает и отвлекает окно пиджина. Потому хочу именно запуск при старте сети

Kycok
насколько я знаю, в этом случае он выведет в списке контактов сообщение об отсутствии сети и будет ждать, пока не будет ручного вмешательства (пересоединения).
Когда у меня медленно помирал предыдущий ADSL-модем, сеть часто разрывалась и снова появлялась, а уж в момент старта системы её почти никогда не было. Но:
  • pidgin, стартующий из автозапуска, сидел себе спокойно в трее, и при появлении сети никаких окошек не выскакивало. Настройки такой, вроде, нет, просто он запоминает своё состояние из прошлого запуска, а оно было скрытым;
  • при появлении сети через какое-то время pidgin сам восстанавливал соединения. Но происходило это очень не сразу, так что иногда таки приходилось переустанавливать соединения вручную - если надо срочно.
(С каким бы удовольствием я вернулся к SIM, но увы, неугомонные линуксописатели его убили)
Спасибо всем откликнувшимся. По совету arcanis'a добавил в нужные профили эти строки:
ExecUpPost='su -c "DISPLAY=:0 pidgin" kycok || true'
ExecDownPre='su -c "killall pidgin" || true'
Закрыто
GitHub, ArchWiki, AUR
 
Зарегистрироваться или войдите чтобы оставить сообщение.