Почему большинство обычных менеджеров пакетов Linux не разрешают установку пакетов обычным пользователям? [дубликат]

Если вы знаете, как разместить сценарий запуска для LXDE (см. документацию ), вы всегда можете создать собственный сценарий:

until ip link show $interface | grep -F -q "state UP"; do
    sleep 10 # wait every ten second
done
# interface is up, now start program
exec bla

Пояснение:

  • ip link show $ interface выводит строку со статусом интерфейса (в данном случае enp0s25 ):

    3: enp0s25: mtu 1500 qdisc fq_codel state Режим UP DEFAULT группа по умолчанию qlen 1000

  • grep -F -q «Состояние UP» проверяет, содержит ли вывод строку состояние UP . Если да, возвращается успех (код выхода 0), в противном случае - сбой (код выхода 1).

  • пока… делать; спать 10; done выполняет sleep 10 до тех пор, пока команда не будет успешной, то есть до тех пор, пока ip не покажет состояние UP . Пока интерфейс не работает, подождите 10 секунд и проверьте снова.

  • когда интерфейс активен, цикл завершается и выполняется следующий сценарий.

Это, конечно, «занятое ожидание» и не идеальное решение, но всегда будет работать. (Или используйте ping -W 2 -c 1 google.com> & / dev / null вместо ip… | grep , если вы хотите обеспечить реальное подключение к Интернету.)

Если вы используете какой-либо сетевой менеджер, проверьте его документацию, можете ли вы добавить скрипты, которые выполняются при установке сетевого подключения. Однако это может работать только с корневым доступом, что усложняет запуск программы в вашем X-сеансе .

3
27.07.2015, 20:46
0 ответов

Теги

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