xdotool
должен знать идентификатор окна для всех своих действий.
Вы правильно использовали getactivewindow
для получения окна для команды windowminimize
, но вам также нужно сделать это для установки его имени. Поэтому поместите
xdotool getactivewindow set_window --name speedy
перед строкой минимизации.
Затем вы можете использовать поиск
, чтобы найти его для последующей активации.
xdotool search --name speedy windowactivate
Смотрите разделы man-страницы Window stack и Command chaining для объяснения того, как все это работает.
Весь скрипт:
#!/bin/bash
# rename the window for finding it again later
xdotool getactivewindow set_window --name speedy
xdotool search --name speedy windowminimize
speedtest-cli --simple
if [ $? -eq 0 ]
then
xdotool search --name speedy windowactivate
xdotool key "F11"
fi
Для просмотра содержимого каталога (имена записей) требуется только разрешение на чтение в каталоге.
Это означает, что вы можете запустить / bin / ls
и без проблем просмотреть все имена.
Но чтобы решить, каким цветом должны отображаться имена, ls
использует другие свойства из записей. Он использует метаданные из файла (разрешения, размер, тип файла и т. Д.). Для этого требуется, чтобы он stat ()
файл, а для успешного выполнения этого требуется разрешение на выполнение в каталоге.
Только имена файлов в каталоге: вам нужно только разрешение на чтение. Для метаданных о файлах в каталоге: вам нужно разрешение на чтение и выполнение
Чтобы просто перечислить имена вещей в каталоге, не заботясь об их типах (и т. Д.), Просто требуется разрешение на чтение в каталоге.
Чтобы назначить цвет объектам внутри каталога, ls
необходимо знать о них информацию - тип записи (другой каталог, простой файл, устройство, символическая ссылка и т. Д.), Размер, цель символической ссылки; он находит их с помощью различных системных вызовов в записи. Для этого требуется бит разрешения + x
в каталоге, содержащем эти элементы. (На самом деле, в зависимости от версии ядра, вы все равно можете получить какой-то цвет - getdent
может указывать как имя, так и тип).
Моя версия ls
, кстати, по-прежнему отображает каталог после выдачи ошибок отказа в разрешении (хотя и всех цветов). А если вы хотите увидеть что-то еще странное, попробуйте -l
:
$ ls -l test 2>/dev/null
total 0
l????????? ? ? ? ? ? badsymlink
-????????? ? ? ? ? ? empty
p????????? ? ? ? ? ? fifo
l????????? ? ? ? ? ? goodsymlink
-????????? ? ? ? ? ? notempty