xdotool, открыть и закрыть Unity Dash при запуске

Спасибо Avinash Raj!

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

sudo cd /lib/x86_64-linux-gnu cp libc-2.17.so /root cp libdl-2.17.so /root cp libm-2.17.so /root cp libpthread-2.17.so /root cp librt-2.17.so /root cp ld-2.17.so /root/

mkdir /root/i386

и cd /lib/i386-linux-gnu cp libc-2.17.so /root/i386 cp libdl-2.17.so /root/i386 cp libm-2.17.so /root/i386 cp libpthread-2.17.so /root/i386 cp librt-2.17.so /root/i386 cp ld-2.17.so /root/i386

sudo cd /lib/x86_64-linux-gnu cp libc-2.17.so /root cp libdl-2.17.so /root cp libm-2.17.so /root cp libpthread-2.17.so /root cp librt-2.17.so /root cp ld-2.17.so /root/

sudo

удалить libs: cd /lib/i386-linux-gnu rm libc-2.17.so rm libdl-2.17.so rm libm-2.17.so rm libpthread-2.17.so rm librt-2.17.so rm ld-2.17.so

, тогда я могу выполнить dist-upgrade. apt-get dist-upgrade
1
задан 6 February 2016 в 15:07

1 ответ

У вас есть несколько проблем в вашей настройке: один определенно сделает его неработоспособным, а другой скорее всего:

1. Самый важный из них:

В файле .desktop вы используете:

Exec=~/.config/autostart/unity_dash_update.sh

, но ~ не работает в файле .desktop, вам нужно использовать абсолютный путь, если ваш скрипт не находится в $PATH (и исполняемый файл), а затем просто запустите его по его имени.

2. Скорее всего, вам нужно установить разрыв перед запуском команды

Теперь он просто запускается слишком рано и либо сломается, либо пропустит цель. Это часто случается с: связанными командами

с сенсорной панелью, мышью и клавиатурой (настройками). xrandr, особенно когда подключен второй монитор. Индикаторы

и еще несколько ... Команды, связанные с Unity, входят в список по определению, поскольку это рабочий стол по природе.

Заключение: измените строку Exec= на:

Exec=/bin/bash -c "sleep 15 && /absolute/path/to/unity_dash_update.sh

EDIT

Важные примечания

В вашем вопросе, вы отмечаете, что поиск Unity Dash намного медленнее ». Однако ваша команда xdotool не вызывает Unity Search, а вводит команду. Для вызова Unity Search просто (практически) нажмите 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. Этот каталог специально предназначен для запуска (входа) пусковых установок.
1
ответ дан 23 May 2018 в 13:50
  • 1
    Спасибо Jabob за ваш ответ. Проблема абсолютного пути была просто проблемой меня быстро (слишком быстро), пытаясь скрыть мое имя, содержащееся в коде, который я публиковал ... извините. – nulll 5 February 2016 в 23:20
  • 2
    @nulll Извините, но это действительно задает вопросы плохо, -1. Это основная проблема в вопросе, вы оказались не спросить. Изменив это, вы заставляете меня выглядеть глупо. – Jacob Vlijm 5 February 2016 в 23:21
  • 3
    Спасибо Jabob за вашу помощь, я отредактировал свой ответ, выделив мою ошибку. Теперь я надеюсь, что "инцидент" восстанавливается ... еще раз спасибо – nulll 5 February 2016 в 23:39
  • 4
    @nulll Спасибо за редактирование. Я не буду хранить скрипт в определенном каталоге, например ~/.config/autostart. Это не для этого. – Jacob Vlijm 5 February 2016 в 23:42

Другие вопросы по тегам:

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