xdotool 데스크탑 문제

xdotool 데스크탑 문제

나는 이것에 대해 매우 새로운 것이므로 기분을 상하게하지 않기를 바랍니다. 내 HTPC(홈 시어터 PC)용 Desktop.desktop 아이콘을 만들려고 합니다. 각 아이콘을 누르면 URL이 열리고 화면이 최대화됩니다. 아래 코드는 이를 수행하지만 xdotool은 최대화하지 않습니다. 그러나 터미널에서 xdotool을 실행하면 작동합니다! 코드가 URL을 열고 최대화하는 사이에 일종의 지연이 필요하다고 가정합니까?

[Desktop Entry]
Name=YouTube
Type=Link
URL=https://www.youtube.com/
Comment Terminal=false
Icon=/home/babak/Myicons/YouTube.png
Exec=xdotool search "google chrome" windowactivate --sync key F11

미리 감사드립니다.

답변1

.desktop 파일은 URL을 열거나 명령을 실행하지만 동시에 두 가지를 모두 실행할 수는 없습니다. URL을 열고 생성된 창으로 작업을 수행하려면 두 작업을 한 줄에 결합하세요 exec =.

한 줄에 두 가지 작업을 결합하는 방법에는 두 가지가 있습니다 Exec =.

  1. Exec=` 라인 과 같은 구성을 사용하여 여러 명령을 셸에 전달하면 sh -c "command 1; command 2". This is a way to pass two commands through a single command: an단일 명령만 처리됩니다.
  2. 필요한 명령이 포함된 bash 스크립트를 생성하고 해당 Exec=라인에서 해당 bash 스크립트를 호출하십시오.

따라서 행을 삭제 URL=하고 Exec=행을 다음으로 변경하십시오.

sh -c 'google-chrome https://www.youtube.com/ && xdotool search "google chrome" windowactivate --sync key F11'

sh로 교체할 수 있습니다 bash. 대신에 &&을 사용할 수도 있지만 전자는 첫 번째 명령이 성공적으로 실행된 경우에만 명령이 실행되도록 ;합니다 .xdotool

타이밍 문제가 있는 경우 일시 중지를 삽입해 보십시오. 예:

...&& sleep 0.3 && xdotool

실행하기 전에 0.3초 동안 기다립니다 xdotool. xdotool또한 내장된 절전 명령이 있으므로 && xdotool sleep 0.3 search트릭도 수행해야 합니다.

관련 정보