
쉘 명령을 사용하여 특정 크기와 화면 위치에서 Firefox 창을 열고 싶습니다. 예를 들면 다음과 같습니다.
firefox myfile.html size 800x600 location bottom-left
그런 명령이 있나요?
답변1
이것은 답변의 커뮤니티 버전입니다괴물여기에는 아래 제공된 예가 포함되어 있습니다.루돌프 오라.
라는 도구를 사용하여 xdotool
창의 크기와 위치를 제어 할 수 있습니다. 그뿐만 아니라, bash
여러분이 작성하는 모든 스크립트는 xdotool
완전히 최대화된 창을 사용하도록 설정할 수 있으며, 창 크기와 x:y 좌표를 설정하는 작업 mousemove
과 명령을 사용하여 스크립트를 작성할 수 있습니다.click
창 ID 찾기:
xdotool search --onlyvisible --name firefox
창 크기 설정
xdotool windowsize $WINDOW_ID_GOES_HERE $WIDTH $HEIGHT
창 이동
xdotool windowmove $WINDOW_ID_GOES_HERE $X $Y
예를 들어 Firefox의 창 ID가 123인 경우 다음을 수행합니다.
xdotool windowsize 123 800 600
xdotool windowmove 123 0 1080
왼쪽 하단 모서리의 위치는 화면 해상도에 따라 결정되어야 합니다.
답변2
내가 아는 한, Firefox는 창을 제어하는 명령을 허용하지 않기 때문에 이는 불가능합니다. 이는 또한 (주) 창 관리자의 책임이므로 이를 수행하는 매개변수가 있을지 의심됩니다. 그러나 다음 명령을 사용하여 창을 제어할 수 있습니다.제어판, 그러나 이것은 약간 어려울 것입니다.
#!/usr/bin/env bash
firefox -new-instance -new-window "http://www.reddit.org" &
# Process ID of the process we just launched
PID=$!
# Window ID of the process...pray that there's
# only one window! Otherwise this might break.
# We also need to wait for the process to spawn
# a window.
while [ "$WID" == "" ]; do
WID=$(wmctrl -lp | grep $PID | cut "-d " -f1)
done
# Set the size and location of the window
# See man wmctrl for more info
wmctrl -i -r $WID -e 0,50,50,250,250
이 작업을 수행하는 더 현명한 방법이 있을 수 있으며 Firefox에는 몇 가지 상호 운용성 문제가 있지만(예: 다른 인스턴스가 실행되고 있지 않음) 계속 진행할 수 있습니다.
답변3
이렇게 해도 위치 문제가 해결되지는 않지만 최소한 크기를 설정할 수는 있습니다.
firefox -width 200 -height 500
답변4
나는 항상 이것을 한다. 하지만 저는 DevilsPie2가 더 강력해서 사용합니다. LUA 스크립팅 언어를 사용하는데 이는 그리 어렵지 않습니다.
다음은 맨 왼쪽 모니터(노트북 화면)가 열릴 때 열고 싶은 Thunderbird lua 스크립트입니다.
if (get_window_name()=="Mozilla Thunderbird") then
pin_window()
set_window_geometry( 50, 10, 1220, 780 )
end
where 50 = X coordinate (for upper-left corner of the window)
10 = Y coordinate ( " " )
1220 = window width
780 = window height
이를 설정하려면 기본 구성(Ubuntu와 같은 배포판)에서 Devilspie2라는 디렉터리를 생성할 수 있습니다(예: /home/$USERNAME/.config/devilspie2).
Thunderbird의 경우 파일 이름은 중요하지 않지만 Thunderbird.lua를 만들었습니다. 각 응용 프로그램마다 다른 파일 이름이 있지만 원하는 경우 모든 것을 하나의 스크립트 파일에 넣을 수 있습니다. 로그인 시 Devilspie2가 자동으로 시작되도록 설정합니다(예: /home/$USERNAME/.config/autostart/devilspie2.desktop).
다음은 lua 스크립트에서 사용할 수 있는 다양한 옵션에 대한 좋은 페이지 링크입니다:https://github.com/gusnan/devilspie2/blob/master/README
참고: 스크립트가 실행 가능하지 않아도 됩니다. 내 것은 664이고 잘 작동합니다. 내가 제어하는 다른 프로그램으로는 openconnect, pidgin, RecordMyDesktop, timeshift, xeyes, xload 및 yad가 있습니다. 나는 응용 프로그램에 따라 다른 명령과 함께 모든 데스크탑에 나타나도록 pin_window를 사용합니다.