Wayland로 전환하기 전에 다음 명령을 사용하여 모든 GNOME Shell 창을 최소화합니다.
wmctrl -k on
...하지만 둘 다 X11 전용 응용 프로그램 wmctrl
입니다 . xdotool
GNOME Shell/Wayland 세션에서 모든 창을 최소화하려면 어떤 CLI 명령을 사용할 수 있습니까?
인용하다:
- 명령줄에서 창을 최소화할 수 있나요?(우분투에 물어보세요)
답변1
고쳐 쓰다
안타깝게도 이보안상의 이유로 더 이상 Gnome 41에서 작동하지 않습니다.
Looking Glass에서 실행하면 global.context.unsafe_mode = true
기능이 다시 활성화되지만 일시적으로만 가능합니다.
원래 답변
에서와 같이내 다른 대답은wmctrl
, gdbus
Gnome에서 GJS를 사용하여 이를 수행할 수 있습니다.
gdbus call \
--session \
--dest org.gnome.Shell \
--object-path /org/gnome/Shell \
--method org.gnome.Shell.Eval \
"global.get_window_actors().forEach(w=>w.meta_window.minimize())"
답변2
내 Playground Manjaro 시스템과 GNOME3/Wayland에서 작동하는 해결 방법을 설명하겠습니다.다른 배포판에서는 프로세스가 약간 다를 수 있습니다.
그다지 완벽하진 않아내가 상상했던 대로, 하지만 작동합니다.
간편한 멀티툴
ydotool은 xdotool과 다르게 작동합니다. xdotool은 X 이벤트를 X 서버로 직접 보내는 반면, ydotool은 Linux 커널의 uinput 프레임워크를 사용하여 입력 장치를 시뮬레이션합니다.
- 설치하다배포판에 따라 -우레아 소변 비율,우분투,더반,등...
- 올바르게 해야 할 수도 있습니다.액세스 권한 설정
/dev/uinput
사용자가 장치에 액세스할 수 있도록 허용합니다 . 이 경우 사용자를users
그룹에 추가하고 udev 규칙 파일을 만듭니다.
사용자 그룹에 자신을 추가:
usermod -a -G users $USER
/etc/udev/rules.d/80-uinput.rules
파일 만들기다음 콘텐츠가 포함되어 있습니다:
KERNEL=="uinput", GROUP="users", MODE="0660", OPTIONS+="static_node=uinput"
당신은해야합니다
/usr/bin/ydotoold
소켓 리스너 시작. 테스트 목적으로 수동으로 시작하지만 원하는 경우도 있습니다.자동 시작이것로그인할 때.그놈 3에서는 "모든 일반 창 숨기기"에 대한 키보드 단축키를 설정할 수 있습니다. 이동
gnome-control-center
,키보드 단축키, 항해,모든 일반 창 숨기기. 예를 들어 이 단축키를 Super+ 로 설정하세요 D.이제 모든 것이 예상대로 작동하면 다음 명령을 사용하여 모든 GNOME/Wayland 창을 최소화할 수 있습니다:
ydotool key Super+D
유형
또 다른 접근 방식은 다음과 같습니다.유형. 다른 접근 방식을 사용하고 키보드 이벤트를 합성기에 직접 제공하는 것 같습니다. 문제는 GNOME의 기본 합성기를 사용하여 이 작업을 수행할 수 없다는 것입니다.중얼거리다. 어쩌면 제한사항과 관련이 있을 수도 있습니다X 웨이랜드그러나 나는 그것에 대해 확신하지 못합니다. 내가 얻는 것은 오류뿐입니다.
신디사이저는 가상 키보드 프로토콜을 지원하지 않습니다.
답변3
TL;DR 아직도 할 수 있어요
xdotool
X11 API를 사용하므로 Wayland에서 실행할 수 없지만 데스크톱 wmctrl
환경 자체와 상호 작용하는 것은 가능합니다. 따라서 X11 API가 필요한 명령이 작동하지 않더라도 wmctrl
Wayland 세션에서는 여전히 많은 명령을 사용할 수 있습니다 -k on
(예:
GNOME Shell 3.30.2 및 1.07을 사용하여 wmctrl
Arch Linux에서 테스트되었습니다 .