Выполнять «правильные» вызовы xrandr при подключении/отключении мониторов

Я думаю, что вам нужно создать скрипт демона, затем связать стартовую ссылку на требуемом уровне запуска, чтобы запустить ваш squid.

Например:

cp /etc/init.d/skeleton /etc/init.d/squid

затем реализовать start() & stop() и restart(), если необходимо. Теперь вам нужно связать созданный демон с нужным уровнем выполнения, но убедитесь, что он имеет порядковый номер после networking или network-manager, например: если желаемый уровень выполнения - 5 cd /etc/rc5.d/ ls -l

вы найдете что-то вроде lrwxrwxrwx 1 root root 18 Jun 16 2015 S08iptables -> ../init.d/iptables lrwxrwxrwx 1 root root 17 Jun 16 2015 S10network -> ../init.d/network lrwxrwxrwx 1 root root 18 Jun 16 2015 S11netplugd -> ../init.d/netplugd Поэтому вам нужно выполнить следующее

ln -s /etc/init.d/squid /etc/rc5.d/S88squid

...... Перезапустите ваш сервер и протестируйте

Обратите внимание, что в jessie debian есть две ориентации управления сервисами systemclt и старый стиль демона.

3
03.08.2017, 00:25
1 ответ

Уже есть ответ на этот вопрос. Она сводится к следующим пунктам:

  • Событие не запущено, единственным способом является опрос
  • Опрос — это всегда плохо, но некоторые методы (, как описано в связанном ответе ), более производительны/легковесны, чем другие

В качестве альтернативы можно было бы создать следующий (непроверенный сценарий, но идея ясна )и запустить этот сценарий, возможно, с помощью нажатия клавиши:

# cat <<EOF >/usr/local/bin/fastxrr
#!/bin/sh
if xrandr | grep "eDP1 (connected)"
then
    xrandr SETUP FOR CONNECTED SCREEN
else
    xrandr SETUP FOR DISCONNECTED SCREEN
fi
EOF
# chmod +x /usr/local/bin/fastxrr
1
27.01.2020, 21:30

Теги

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