Chcę wyświetlić listę tylko działających aplikacji, takich jak: Firefox, gedit, Nautilus itp., Używając wiersza polecenia.
Uwaga: Nie chcę wyświetlać listy wszystkich uruchomionych procesów, tylko uruchomione aplikacje (powiedzmy ręcznie uruchomione GUI).
command-line
gui
window
Pandya
źródło
źródło
Odpowiedzi:
Połączenie
wmctrl
ixprop
oferuje wiele możliwości.Przykład 1:
Dane wyjściowe mogą wyglądać w tym przypadku podobnie jak to:
Przykład 2:
Przykład wyjściowy:
Możesz dodać funkcję do swojej
~/.bashrc
lub uruchomić ją z pliku skryptu.źródło
Wprowadzenie
Moc
xdotool
iwmctrl
pojawia się, gdy trzeba wykonywać manipulacje w oknach, takie jak przenoszenie lub zmiana rozmiaru. Jednak mocno wierzę, że w celu wyświetlenia listy uruchomionych programów i informacji na ich temat,xprop
iqdbus
są to dwa wystarczające narzędzia i instalacja,xdotool
iwmctrl
chyba że użytkownik chce tych dodatkowych funkcji - jest to bezcelowe zadanie. W tej odpowiedzi chciałbym przedstawić dwa rozwiązania skryptowe zxprop
iqdbus
.Pamiętaj, że w żadnym wypadku nie jestem przeciw
xdotool
aniwmctrl
. Używam ich intensywnie sam, ale uważam, że są one bardziej wydajne w połączeniu z innymi narzędziami. Oto tylko kilka przykładów, w których ich użyłem:Xprop
Poniższy skrypt używa tylko xprop do wyodrębnienia listy aktywnych okien, odfiltrowania tylko prawdziwych okien (nie typu ssania jako Unity Launcher lub Unity Panel) i wyświetlenia ich informacji:
Próbny:
Źródło skryptu :
Qdbus
Poniższy kod wykonuje zasadniczo to samo zadanie, jednak najpierw filtruje aplikacje, następnie wyświetla listę okien potomnych, a na koniec dostarcza informacji o nich.
Przykładowy przebieg:
Sam kod:
Trochę prostsze polecenie, ale wymaga odfiltrowania danych wyjściowych używa interfejsu dbus stosu okien Unity. Oto w zasadzie funkcja, którą mam w sobie
.mkshrc
Przykładowy przebieg:
Przykłady użycia qdbus:
źródło
wmctrl -l
może być czymś, czego chciałeś. Najpierw zainstalujMożesz także połączyć go z listą Monitora systemu, domyślnie wyświetla się „Wszystkie moje procesy”, co oznacza wszystkie procesy, które należą do Ciebie jako użytkownika.
Aby mieć tylko nazwy aplikacji, uruchom:
EDYTOWAĆ:
źródło
0x03c000b3 0 avinash-Lenovo-IdeaPad-Z500 How list of running applications by command? - Ask Ubuntu - Mozilla Firefox
plus kilka dodatkowych wierszy o Desktop, Hud itp.wmctrl -l|awk '{out=""; for(i=2;i<=NF;i++){out=$out" "$i}; print $out}'
doda do mojej odpowiedzi. Dziękuję za zwrócenie uwagi.