этот скрипт автоматически установит статус «недоступным», когда экран заблокирован или заставка активирована, и вернет его в доступный (онлайн), когда заставка закрыта!
#!/usr/bin/python
import os
import time
import dbus
session_bus = dbus.SessionBus()
from gi.repository import TelepathyGLib as Tp
from gi.repository import GObject
loop = GObject.MainLoop()
am = Tp.AccountManager.dup()
am.prepare_async(None, lambda *args: loop.quit(), None)
loop.run()
screensaver_started = 0
running = 0
while 1:
active = 0
out = ""
pid = 0
if screensaver_started == 0:
# Don't do anything if the screensaver isn't running
s = os.popen("pidof gnome-screensaver")
spid = s.read()
s.close()
if len(spid) > 0:
screensaver_started = 1
else:
h = os.popen("gnome-screensaver-command -q", "r")
out = h.read()
active = out.find("inactive")
h.close()
if active < 0 and running == 0:
am.set_all_requested_presences(Tp.ConnectionPresenceType.OFFLINE, 'Offline', "")
running = 1
elif active > 0 and running == 1:
am.set_all_requested_presences(Tp.ConnectionPresenceType.AVAILABLE, 'available', "")
running = 0
time.sleep(3)
У меня была такая же проблема с моей машиной в течение некоторого времени. Проблема существует в разных дистрибутивах (я пробовал Ubuntu 15.10 и ядро Arch 4.4.7-1-lts). Вот пример, где вы можете увидеть задержку во время запуска:
[ 8.455055] IPv6: ADDRCONF(NETDEV_CHANGE): enp0s25: link becomes ready
[ 11.223284] usb 1-3: device descriptor read/all, error -110
[ 11.343240] usb 1-3: new high-speed USB device number 3 using xhci_hcd
[ 21.483366] usb 1-3: device descriptor read/all, error -110
[ 21.603279] usb 1-3: new high-speed USB device number 4 using xhci_hcd
[ 26.596139] usb 1-3: device descriptor read/8, error -110
[ 31.701949] usb 1-3: device descriptor read/8, error -110
[ 31.931143] usb 1-3: new high-speed USB device number 5 using xhci_hcd
[ 36.939569] usb 1-3: device descriptor read/8, error -110
[ 42.063696] usb 1-3: device descriptor read/8, error -110
[ 42.173434] usb usb1-port3: unable to enumerate USB device
[ 42.293324] usb 1-8: new high-speed USB device number 6 using xhci_hcd
[ 42.536287] usb-storage 1-8:1.0: USB Mass Storage device detected
[ 42.536650] scsi host11: usb-storage 1-8:1.0
[ 42.653046] usb 1-13: new high-speed USB device number 7 using xhci_hcd
[ 42.793388] hub 1-13:1.0: USB hub found
[ 42.793420] hub 1-13:1.0: 3 ports detected
В этом вопросе stackoverflow говорится, что ошибка -110 указывает превышение мощности. Я сомневаюсь, что это имеет место для меня - просто недостаточно USB-устройств (просто клавиатура и мышь, используя встроенный концентратор, встроенный в мой монитор). У нас есть хотя бы одна общая черта - у нас есть Dell Keyboards. Вы также используете хаб?
Последняя информация, которую я могу добавить к этому вопросу, заключается в том, что это поведение, похоже, зависит от настроек BIOS USB вашей материнской платы. У меня Asrock Z87 Extreme6 / ac и изменение поведения Intel USB3 приводит к тому, что моя система разбивается по-разному (без каких-либо USB-устройств, работающих только с устройствами USB3, к такому поведению). Какая у вас материнская плата? Изменяется ли поведение при изменении настроек? Будьте осторожны, мне пришлось очистить CMOS пару раз, потому что клавиатура больше не будет работать во время запуска BIOS!
Поскольку я не могу добавить свои результаты в качестве комментария, я добавлю его в качестве ответа.
Моя настройка: ASRock Z97 Extreme6 и Ubuntu 15.10
Моя настройка : Кажется, что это связано с Z97 & amp; аналогичные чипсеты: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1437492
Решения, упомянутые здесь:
Выключите питание, подключите plug & amp ; подождите немного, затем снова включите -> работает для одной последовательности загрузки. Отключите контроллер Asmedia / контроллер Asmedia USB или аналогичный. Кажется, что они расположены в разных местах в зависимости от доски. Я нашел 2 возможных матча. Advanced -> USB Configuration -> Third Party USB 3.0 Controller и Advanced -> Storage Configuration -> 'ASMedia SATA3 Mode'Итак, что я пробовал:
Выключить, вытащить вилку & amp; подождите немного, затем снова включите -> работает для одной последовательности загрузки Параметр ASMedia в «Конфигурация хранилища», который я пробовал в прошлом, -> это отключает некоторые из портов SATA, поэтому я сначала пробовал другой маршрут , Отключить контроллер Asmedia / контроллер USB Asmedia или аналогичный. Кажется, что они расположены в разных местах в зависимости от доски. Я нашел 2 возможных матча. Advanced -> USB Configuration -> Third Party USB 3.0 Controller и Advanced -> Storage Configuration -> 'ASMedia SATA3 Mode' Перейти к Advanced -> USB Configuration -> Set 'Intel USB3.0 Mode' from 'Smart Auto' to 'Enabled' Результат: Поцарапать это, не помогло. Только USB-устройства на передней панели работают ... Затем я попытался выключить, отключить питание в течение нескольких минут, а затем снова загрузиться. Результат: Это сделал трюк. Время загрузки системы составляло всего несколько секунд. И USB-порты на задней панели моего компьютера снова работают. Далее: проверьте, перезагрузившись снова. Результат: Да, все еще работает. Еще одно обновление: Ну, большая часть портов работает. Некоторые по-прежнему не работают. Но поскольку я использую концентратор, я могу жить с этим пока. Если вы попробуете это, возможно, выключение питания & amp; достаточно мощности выключения? Возможно, стоит попробовать ..Я не уверен, что все изменения выше необходимы, но он работает для меня сейчас, поэтому я больше не буду трогать их;)
] Надеюсь, это поможет вам и вам. потенциально другие люди спотыкаются по одной и той же проблеме. Я также рекомендую прочитать ошибку пусковой панели, связанную выше -> Этот отчет об ошибке стоит своего веса в золоте!
Ниже приведены некоторые неудачные попытки возиться с настройками устаревшего режима, решить мою проблему. Резюме: устаревшие режимы, патчи с совместимостью и т. Д. На самом деле не улучшают ситуацию, они в основном просто случайным образом отключают ваши устройства .. Они могут помочь другим, поэтому я оставляю их здесь для справки.
Итак, что я пытался:
Обратите внимание, что я попытался установить поддержку USB 2.0 Legacy для «UEFI Setup Only», чтобы я мог войти в настройку, подключив клавиатуру к 2.0 портам на моем передняя панель, просто чтобы быть уверенным. Это НЕ работало. Эти порты в значительной степени бесполезны и amp; мои клавиатуры работают только при подключении к порту с включенной поддержкой устаревших объектов или в концентраторе на моем мониторе. Любой, из вашего, только однажды Ubuntu запустился. Ни UEFI, ни Grub не узнали бы клавиатуру. Еще одна клавиатура, которую я мог бы работать на одном из 2.0 портов, поэтому я мог обойти сброс CMOS.
Это НЕ работало.
Когда подключенные непосредственно к портам USB 3.0 на материнской плате, они работают только тогда, когда я включил поддержку USB 3.0 Legcy в настройке UEFI. Когда я это делаю, последовательность загрузки составляет ~ 20 секунд дольше, чем обычные 1-3 секунды. Ubuntu также занимает больше времени, чтобы запустить с ошибками device descriptor read/all, error -110, как показано выше. Клавиатура работает, но у меня есть камера USB (Logitech QuickCam Communicate STX, довольно старая ..).
Когда устаревший режим отключен, но два устройства подключены к концентратору на моем мониторе (я думаю, это мощный концентратор), загрузочная последовательность невероятно быстро, если ни одно устройство не подключено к 2.0 портам, но Ubuntu все еще занимает больше времени и amp; отображает эти сообщения. Клавиатура работает, но камера USB, которую я имею (Logitech QuickCam Communicate STX, довольно старый ..) не распознается системой.
Режим устаревания включен, в значительной степени дает тот же результат.
С отключенной «Патч совместимости с USB»: такое же поведение, как и выше, но другая клавиатура на 2.0-порту не работает ... -> сброс CMOS.
[d42 ] Я еще экспериментирую и обновляю этот ответ, когда собираю результаты.