Linux에서 열린 창 목록 가져 오기


24

ps ax는 실행중인 모든 프로세스를 보여줍니다. 비슷한 작업을하고 싶지만 실제 프로세스 이름 대신 창 이름을 나열하고 싶습니다. 어떤 리눅스 명령이 이것을 할 것인가?

답변:


35

wmctrl -l당신이 찾고있는 것일 수도 있습니다. wmctrl의 프로그램은 주위를 이동하고 자신의 속성을 설정 같은 창에 몇 가지 간단한 작업을 수행 할 수 있습니다.


18

xlsclients실행중인 클라이언트를 xwininfo -root -children표시하고 루트 창의 모든 하위를 표시합니다. 여기에는 창 관리자 나 데스크탑이 렌더링하는 것들도 포함됩니다.


이것은 wmctrl -l 출력과 더 많은 것입니다.
Smile4ever

4

이름 만 표시하는 방법은 다음과 같습니다.

wmctrl -l|awk '{$3=""; $2=""; $1=""; print $0}'

wmctrl -l질문에 필요한 이름이 아닌 약간의 추가 정보가 표시 되기 때문에 :

이처럼 :

0x020002c6  0 ruslan-Latitude-E6410 fromscratch
0x04600007  0 ruslan-Latitude-E6410 Psensor - Temperature Monitor
0x01600007  0 ruslan-Latitude-E6410 Top Expanded Edge Panel
0x01600017  0 ruslan-Latitude-E6410 Bottom Expanded Edge Panel
0x0200000a -1 ruslan-Latitude-E6410 Desktop
0x05a0000c  0 ruslan-Latitude-E6410 ruslan@ruslan-Latitude-E6410: /var/lib/apt
0x05600085  0 ruslan-Latitude-E6410 index.html (~/Dropbox/cpucraft.com/fromscratch) - gedit

및하여 필터링 awk우리 것은 열려있는 창의 이름을 얻을 :

   fromscratch
   Psensor - Temperature Monitor
   Top Expanded Edge Panel
   Bottom Expanded Edge Panel
   Desktop
   ruslan@ruslan-Latitude-E6410: /var/lib/apt
   index.html (~/Dropbox/cpucraft.com/fromscratch) - gedit
   ubuntu - Get a list of open windows in Linux - Super User - Mozilla Firefox
   cpucraft@cpucraft.com - FileZilla

2

제목과 다른 정보 (공백이 아님)를 원하지 않는 경우 다음을 사용할 수 있습니다.

wmctrl -l | grep -o "$HOSTNAME.*" | sed "s/$HOSTNAME //g"

결과:

linux-grep 및 교체 방법-CODE Examples
sed에서 변수를 어떻게 사용합니까? | 유닉스 리눅스 포럼 | 쉘 프로그래밍 및 스크립팅-Pale Moon
GREP을 사용하여 텍스트 파일에서 * 또는 # 또는 & 문자 뒤의 모든 항목 삭제-Stack Overflow-Pale Moon
Video.mp4-VLC 미디어 플레이어
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.