в Ubuntu 14.04 первый поиск в Unity Dash намного медленнее, чем в следующих.
С помощью xdotool я пытаюсь открыть, а затем закрыть пользовательский интерфейс Unity Dash при запуске Ubuntu.
~ / .config / autostart / unity_dash_update.desktop
[Desktop Entry]
Type=Application
Exec=~/.config/autostart/unity_dash_update.sh
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[it]=Unity Dash Update
Name=Unity Dash Update
Comment[it]=
Comment=
~ / .config / autostart / unity_dash_update.sh
#!/bin/bash
sleep 1
xdotool key Alt+F2
sleep 3
window="$(xdotool getactivewindow)"
xdotool key --window $window "Escape"
exit 0
Если я вручную запускаю сценарий bash, это работает, но во время запуска системы Dash появляется и не исчезает.
Я пробовал с или без сна между выполнением xdotool, но безуспешно.
Что я делаю не так?
Как полагает Джейкоб Влейм, параметр Exec
был неверным, потому что это должен быть абсолютный путь.
Это была моя ошибка, потому что я попробовал быстрый (слишком быстрый) способ удалить свое имя из кода, который я публиковал.
Извините.
Так что исправленный файл .desktop будет
[Desktop Entry]
Type=Application
Exec=/home/myname/.config/autostart/unity_dash_update.sh
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[it]=Unity Dash Update
Name=Unity Dash Update
Comment[it]=
Comment=
Спасибо Джейкобу за помощь.
dbus
на самом деле имеет метод для закрытия меню Dash. Используя qdbus
Ваш сценарий мог быть изменен следующим образом:
#!/bin/bash
DISPLAY=:0
sleep 10
xdotool key Alt+F2
sleep 0.25
qdbus com.canonical.Unity /com/canonical/Unity/Dash \
com.canonical.Unity.Dash.HideDash
exit 0
Примечание, что, кроме того, я увеличил время сна до 10 секунд, потому что Единица может занять время для запуска. Таким образом, если Единица еще не запустилась, который сделает команды выполнения сценария, но те команды не имели бы никакого эффекта.
У Вас есть несколько проблем в Вашей установке: каждый определенно заставит его не работать, другой, скорее всего:
В .desktop
файл, Вы используете:
Exec=~/.config/autostart/unity_dash_update.sh
но ~
не работает INA a .desktop
файл, необходимо использовать полный путь, если сценарий не находится в $PATH
(и исполняемый файл), затем просто выполняет его его именем.
Теперь это просто работает слишком рано и или повредится или пропустит цель. Это часто имеет место с:
xrandr
команды, особенно когда второй монитор присоединяетсяи еще много... Связанные с единицей команды находятся в списке по определению, так как это настольное связанный по своей природе.
Завершение: измените Ваш Exec=
строка в:
Exec=/bin/bash -c "sleep 15 && /absolute/path/to/unity_dash_update.sh
В Вашем вопросе Вы упоминаете, что "Поиск Тире единицы намного медленнее". Однако Ваш xdotool
команда не называет Поиск Единицы, но запись команды. Для вызова Поиска Единицы просто (фактически) нажимают, Super достаточен. Затем сделайте сценарий:
xdotool key Super && sleep 3 && xdotool key Super
Или лучше, не используйте сценарий вообще и добавляйте это для запущения приложений, включая повреждение, которое Вы должны перед ним выполнить:
/bin/bash -c "sleep 15 && xdotool key Super && sleep 3 && xdotool key Super"
Конечно, можно экспериментировать с sleep 15
время.
Ваш .desktop
файл вполне расширяется, в то время как для основного задания как запущение скрипта на запуске:
[Desktop Entry]
Name=name
Exec=command
Type=Application
достаточно.
Если Вы используете меньше, меньше может пойти не так, как надо :)
См. также здесь.
Если Вы настаиваете на том, чтобы использовать отдельный сценарий, не храните его в ~/.config/autostart
. Тот каталог конкретно предназначен для запуска (входят в систему) средства запуска.
/etc/apt/apt.conf.d/
и звонило Apt::
, и это работает, таким образом, it' s определенно для способного - добираются. Я делаю способные-cacher конфигурации прокси для способного - входят /etc/apt/apt.conf.d/
также...
– Velkan
29 April 2017 в 00:42
apt
, который отличается. Иapt
всегда предлагают удалить автоматически установленные пакеты, которые больше не требуются – Anwar 29 April 2017 в 00:33