Михаил,
У меня была та же проблема с теми же расширениями. Проблема в том, что они являются «Системными расширениями», а не находятся в обычном месте ~/.local/share/gnome-shell/extensions
, как говорили другие. Вместо этого в /usr/share/gnome-shell/extensions
устанавливаются «Системные расширения».
Для удаления:
cd /usr/share/gnome-shell/extensions
sudo rm -rf apps-menu@gnome-shell-extensions.gcampax.github.com
При необходимости повторите.
Наконец, вам нужно перезагрузить оболочку:Alt+F2 r
watch
не предназначен для того, что вы хотите делать.
В какой-то момент watch
пытается переконфигурировать терминал. Находясь в фоновом режиме , он получает SIGTTOU и останавливается. Вся работа получает SIGTTOU.
В интерактивной оболочке с управлением заданиями вы можете увидеть это при последующем вызове jobs
. В zsh
вы увидите примечание suspended (tty output)
. jobs
в других оболочках может быть не столь информативным.
В моих тестах мне нужно было перенаправить stdout и stderr с терминала:
(watch -g cat tmp >/dev/null 2>&1 && echo "changed") &
Если исходные настройки терминала включают tostop
, то echo
вызовет SIGTTOU при попытке записи. Запустите stty -tostop
заранее, чтобы убедиться, что настройки позволяют echo
печатать на терминал :
stty -tostop; (watch -g cat tmp >/dev/null 2>&1 && echo "changed") &
Обратите внимание, что другие процессы могут настраивать терминал самостоятельно, поэтому они могут создавать помехи.
Простым способом было бы через inotifywait
в режиме монитора -m
, т. е. работать постоянно, а не выходить после первого записанного события. Укажите -e
событие, например изменение файла/каталога, для просмотра -или не отображайте все события, такие как открытие, доступ, запись и т. д. См. man inotifywait
для получения дополнительной информации о возможных событиях.
$inotifywait -m -e modify tmp &
$echo 1 >> tmp
tmp MODIFY
Недостаток в том, что в этой версии вы не выполняете команду самостоятельно, а просто получаете стандартное уведомление. Для явного выполнения команды и неограниченного просмотра файла/каталога что-то вроде этого будет работать (с использованием -q
режима uiet):
while ((1)) ; do \
inotifywait -q -e modify tmp && echo "tmp was changed" \
done &