Ubuntu использует ureadahead
пакет. Это могло бы взять некоторую работу для получения его идущий на Arch, но должно быть возможно. Посмотрите страницу Ureadahead на Wiki Arch.
Можно использовать xdotool, универсальное средство автоматизации X-окна.
focused_window_id=$(xdotool getwindowfocus)
active_window_id=$(xdotool getactivewindow)
active_window_pid=$(xdotool getwindowpid "$active_window_id")
(Я не знаю, каково различие между сфокусированным и активным.)
(Я думал, что wmctrl мог сделать это, но по-видимому нет.)
Попробуйте команду xwininfo, http://www.xfree86.org/4.2.0/xwininfo.1.html, она определенно возвращает заголовок окна и насколько процесс идет, хорошо...
X присвоил ему идентификатор и стал родительским PID окна и также скрыл бы его по умолчанию, таким образом, предполагая, что Gnome имеет поддерживаемый NET_WM_PID, поскольку этот патч с 2001 указывает, что это имеет, http://mail.gnome.org/archives/gtk-devel-list/2001-October/msg00238.html, затем мы можем рассмотреть это сообщение, http://www.mail-archive.com/devel@xfree86.org/msg05809.html, где автор пишет короткую программу C для преобразования идентификатора Окна в PID, вуаля.
xwininfo
требует, чтобы я вручную выбрал необходимое окно. Я надеялся на способ получить сфокусированное окно от удара.
– Rogach
17.05.2012, 22:30
Более простой (IMO), чем решение OP (т.е. без ps
, grep
и awk
), для получения имени процесса :
cat /proc/$(xdotool getwindowpid $(xdotool getwindowfocus))/comm
Или если Вы хотите конец строки :
echo $(cat /proc/$(xdotool getwindowpid $(xdotool getwindowfocus))/comm)
cat /proc/
хорошо (и возможно быстрее, так как это не включает захват целого ps
вывод). Я добавил его к решению рассматриваемое тело, таким образом, будущие пользователи смогут найти его.
– Rogach
06.07.2013, 06:34
Это очень просто:
xdotool getactivewindow getwindowname
Удачи, надеюсь, это сработает для вас!