Команда командной строки для обновления рабочего стола с графическим интерфейсом, как при нажатии F5?

8

Есть ли команда обновить иконки на рабочем столе (точно так же, как кнопка F5)?

Я нуждаюсь в этом, потому что в Startup Applications я установил команду для монтирования моего резервного раздела и создал ссылку на рабочем столе для некоторых каталогов там. Проблема в том, что значки не обновляются при входе в систему, если я не нажму F5. Я хотел бы поместить команду в Startup Applications, чтобы сделать это. (обратите внимание, что я не хочу перезапускать оболочку GNOME или Unity, как они сказали здесь . Мне просто нужна команда, чтобы сделать именно то, что делает F5)

Эдуардо де Мелло Кастанью
источник
Я не думаю, что это возможно, поскольку F5 - это то, что захвачено Наутилусом. Это не команда AFAIK.
Каз Вулф
Думаешь, перезапуск Nautilus (вместо Unity) может помочь? askubuntu.com/questions/498914/…
Muru
В качестве обходного пути, будет ли приемлемо автоматически создавать ярлыки после установления соединения?
Джейкоб Влейм
Муру, перезапуск Наутилуса работал просто отлично! Это, наверное, не самый эффективный способ, но он, безусловно, сделал то, что я хотел, большое спасибо.
Эдуардо де Мелло Кастанью,
Возможно, вы тоже можете попробовать это ~ $ xrefresh
Learner

Ответы:

5

Если обновление сложно, мы можем перезапустить Nautilus:

pkill nautilus
nautilus -n

Ваша запись Startup Applications может быть легко изменена, чтобы добавить эти команды, а также как часть скрипта, с помощью цепочки:

udisks --mount  ... && pkill -u nautilus && nautilus -n

Nautilus имеет -qвозможность сделать это бросить сам по себе, но это не работает хорошо с nautilus -n.

Мур
источник
5

Вы можете эмулировать нажатие клавиши xdotool, если не можете найти способ непосредственного вызова функции, для которой она сопоставлена:

xdotool key F5

Трудно сделать это, когда текущее окно не на рабочем столе.
Должно быть возможно найти его с помощью th-й searchкоманды, но, возможно, потребуется провести некоторые эксперименты;

Сначала попробуйте найти правильное окно, используя getwindowname, чтобы показать заголовок соответствующих окон:

xdotool search --class Desktop getwindowname

Если результат выглядит правильно, попробуйте:

xdotool search --class Desktop key F5

В противном случае, смотрите еще man xdotoolмного вариантов xdotool search.
Если вам нужна дополнительная информация о существующих окнах, чтобы они работали, эти команды являются наиболее полезными для их проверки: xwininfoи xprop.

Volker Siegel
источник
1
Вы можете использовать, xdotoolчтобы ввести ярлык для минимизации всех окон (Super-D?), А затем использовать его в F5.
Муру
Фолькер Сигел, getwindowname не t worked. It simply executes and shows no message (same when trying the third command, with Desktop key). I tried xwininfo and xprop and they didnдал мне никакой полезной информации по этому делу. Тем не менее, я попробовал xdotool ключ F5. В командной строке, очевидно, было похоже на нажатие клавиши F5 в командной строке, а не на рабочем столе; в Startup Apps он ничего не делал, вероятно, потому что он все еще не находится в окне рабочего стола, когда выполняет команду. Решение, которое работало со мной, было то, что «муру» дал на комментарии: перезапустить Наутилус в любом случае Спасибо
Эдуардо де Мелло Кастанью
@muru Я согласен, перезапуск nautilus намного лучше для вашего случая. Я оставляю этот ответ здесь, потому что это полезно для других с подобными случаями, когда невозможно перезапустить. И да, трудно найти правильный шаблон поиска для окна;
Фолькер Сигел