나는 이것에 대해 매우 새로운 것이므로 기분을 상하게하지 않기를 바랍니다. 내 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 =
.
- Exec=` 라인 과 같은 구성을 사용하여 여러 명령을 셸에 전달하면
sh -c "command 1; command 2". This is a way to pass two commands through a single command: an
단일 명령만 처리됩니다. - 필요한 명령이 포함된 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
트릭도 수행해야 합니다.