์ ๋ ํค ํ๋๋ฅผ ๋๋ฅผ ์ ์๋๋ฐ ํค 2๊ฐ๋ฅผ ๋๋ฅด๊ธฐ์๋ ๋๋ฌด ๊ฒ์ผ๋ฅธ ํ์ ๋ ์ด์์์ ์ ํํ๋๋ก Caps Lock์ ์ค์ ํ ์ฌ๋๋ค ์ค ํ ๋ช ์ ๋๋ค. ๋ถํ์ํ ํค 2๊ฐ๋ ์ํฉ๋๋ค. ํ๋๋ ์์ด ๋ ์ด์์์ ์ผ๊ณ ๋ ๋ฒ์งธ๋ ๋ฌ์์์ด๋ฅผ ์ผ๋ ๋ฐ ์ฌ์ฉํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋ ๋ฒ์งธ ๋ถํ์ํ ํค๋ ์ปจํ ์คํธ ๋ฉ๋ด๋ฅผ ๋ถ๋ฌ์ค๋ ๊ฒ์ธ๋ฐ, ์ด๋ ๋๋ฌด ๋ถํ์ํด์ ๋ง์ ๋ ธํธ๋ถ ์ ์กฐ์ ์ฒด์์ ์๋ตํ๊ณ ์์ต๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ๋น์ ์ ๋น์ ์ด ๊ฐ์ง ๊ฒ์ ๋ง์กฑํด์ผํฉ๋๋ค.
๋ํ ์ฐฝ์ ์ ํํ ๋ ์์ ํ์์ค์์ ํด๋น ์์ด์ฝ์ ์ฐพ๊ฑฐ๋ ์ฐฝ์ ์คํฌ๋กคํ ๋ ์ด๋ฆ์ ํ์ธํ๊ณ ์ถ์ง ์์ต๋๋ค. Alt + Tab, ๋ฐ์คํฌํ ์คํฌ๋กค ๋ฑ. ํค ์กฐํฉ(์ด์์ ์ผ๋ก๋ ํ๋๋ง ์์ง๋ง ๋ ์ด์ ๋ถํ์ํ ๋ฌด๋ฃ ํค๋ ์์)์ ๋๋ฅด๊ณ ์ฆ์ ํ์ํ ์ฐฝ์ผ๋ก ์ด๋ํ๊ณ ์ถ์ต๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- Alt+F: ํ์ด์ดํญ์ค
- Alt+D: Firefox(๊ฐ์ธ ํ์)
- Alt+T: ํฐ๋ฏธ๋
- Alt+M: ๊ณ์ฐ๊ธฐ
- Alt+E: IntelliJ ์์ด๋์ด
- ๋ฑ.
๋ํ, ์๋ฅผ ๋ค์ด Alt+M ํ์ฌ ์ด ํ๋ก๊ทธ๋จ์ด ์คํ๋๊ณ ์๋์ง ์ฌ๋ถ์ ๊ด๊ณ์์ด ๊ณ์ฐ๊ธฐ๋ฅผ ๋ณด๊ณ ์ถ์ต๋๋ค. ์คํ ์ค์ด๋ฉด ํด๋น ์ฐฝ์ ํฌ์ปค์ค๋ฅผ ์ฃผ์ด์ผ ํ๊ณ , ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ์ํ๋ ํ๋ก๊ทธ๋จ์ ์คํํ๊ณ ๋ก๋๋ ๋ ํฌ์ปค์ค๋ฅผ ์ด๋ํฉ๋๋ค.
์ด์ ์คํฌ๋ฆฝํธ์์ ๋ค๋ฃจ์ง ์์ ๊ฒฝ์ฐ์๋ ์ด๋ ค ์๋ ์ฐฝ์ ์ฝ๊ฒ ํ ๋นํ ์ ์๋ ๋ฒ์ฉ ํค ์กฐํฉ์ ์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋ค์์์ ํ ๋น๋ 10๊ฐ์ ์กฐํฉ์ด ์์ต๋๋ค. Alt + 1 ์ Alt + 0, ์ด๋ค ํ๋ก๊ทธ๋จ์๋ ์ฐ๊ฒฐ๋์ง ์์ต๋๋ค. ๊ทธ๋ฅ ํด๋ฆญํ๋ฉด ๋ผ์ Alt + 1 ํ์ฌ ์ด์ ์ด ๋ง์ถฐ์ ธ ์๋ ์ฐฝ์ ํด๋ฆญํ๋ฉด ์ด์ ์ด ๋ง์ถฐ์ง๋๋ค. Alt + 1.
์ปท ์๋์๋ ๋ช ๊ฐ์ง ์ถ๊ฐ ๊ธฐ๋ฅ์ ๋ํ ์ค๋ช ๊ณผ ์ด๋ฅผ ์ํํ๋ ๋ฐฉ๋ฒ์ ๋ํ ๋ต๋ณ์ด ์์ต๋๋ค. ๊ทธ๋ฌ๋ Windows, Mac OS ๋๋ Linux๊ฐ ์ค์น๋ ๋ค๋ฅธ ์ฌ๋์ ์ปดํจํฐ๋ฅผ ์ฌ์ฉํด์ผ ํ๋ ๊ฒฝ์ฐ "์์ ์ ์ํ" ์ด๋ฌํ ์ฌ์ฉ์ ์ ์๋ ์ฌ๊ฐํ ์ค๋ ์ ์ ๋ฐํ ์ ์์ผ๋ฉฐ ์ฌ์ง์ด ๊ธ๋จ ์ฆ์์ ์ ๋ฐํ ์๋ ์์์ ์ฆ์ ๊ฒฝ๊ณ ํ๊ฒ ์ต๋๋ค.
์ฌ์ค ์๊ฐํด๋ณด๋ฉด ์ฐ๋ฆฌ๋ ๋งค์ผ ๊ทธ๋ ๊ฒ ๋ง์ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํ์ง ์์ต๋๋ค. ๋ธ๋ผ์ฐ์ , ํฐ๋ฏธ๋, IDE, ์ผ์ข ์ ๋ฉ์ ์ , ํ์ผ ๊ด๋ฆฌ์, ๊ณ์ฐ๊ธฐ ๋ฑ์ด ๊ฑฐ์ ์ ๋ถ์ผ ๊ฒ์ ๋๋ค. ์ผ์์ ์ธ ์์ ์ 95%๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐ ํ์ํ ํค ์กฐํฉ์ ๋ง์ง ์์ต๋๋ค.
์ฌ๋ฌ ๊ฐ์ ์ฐฝ์ด ์ด๋ ค ์๋ ํ๋ก๊ทธ๋จ์ ๊ฒฝ์ฐ ๊ทธ ์ค ํ๋๋ฅผ ๊ธฐ๋ณธ ์ฐฝ์ผ๋ก ์ง์ ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด IntelliJ Idea ์ฐฝ์ด ์ฌ๋ฌ ๊ฐ ์ด๋ ค ์๊ณ ๋ค์์ ํ ๋น๋์ด ์์ต๋๋ค. Alt + E. ์ผ๋ฐ์ ์ธ ์กฐ๊ฑด์์ ๋ค์์ ๋๋ฅด๋ฉด Alt + E ์ด ํ๋ก๊ทธ๋จ์ ์ผ๋ถ ์ฐฝ์ด ์ด๋ฆด ๊ฒ์ ๋๋ค. ๊ฐ์ฅ ๋จผ์ ์ด๋ ธ๋ ์ฐฝ์ผ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ํด๋ฆญํ๋ฉด Alt + E ์ด ํ๋ก๊ทธ๋จ์ ์ฐฝ ์ค ํ๋์ ์ด๋ฏธ ์ด์ ์ด ๋ง์ถฐ์ ธ ์์ผ๋ฉด ์ด ํน์ ์ฐฝ์ด ๊ธฐ๋ณธ ์ฐฝ์ผ๋ก ์ง์ ๋๊ณ ํ์ ์กฐํฉ์ ๋๋ ์ ๋ ํด๋น ์ฐฝ์ ์ด์ ์ด ์ง์ ๋ฉ๋๋ค.
๋ฉ์ธ ์ฐฝ์ ๋ค์ ํ ๋นํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ ค๋ฉด ๋จผ์ ์กฐํฉ์ ์ฌ์ค์ ํ ๋ค์ ๋ค๋ฅธ ์ฐฝ์ ๊ธฐ๋ณธ ์ฐฝ์ผ๋ก ํ ๋นํด์ผ ํฉ๋๋ค. ์กฐํฉ์ ์ฌ์ค์ ํ๋ ค๋ฉด ์กฐํฉ ์์ฒด๋ฅผ ๋๋ฅธ ๋ค์ ํน๋ณํ ์ฌ์ค์ ์กฐํฉ์ ๋๋ฌ์ผ ํฉ๋๋ค. Alt+๋ฐฑ์คํ์ด์ค. ๊ทธ๋ฌ๋ฉด ์ด์ ์กฐํฉ์ ๋ํ ๊ธฐ๋ณธ ์ฐฝ ํ ๋น์ ์ทจ์ํ๋ ์คํฌ๋ฆฝํธ๊ฐ ํธ์ถ๋ฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ด์ ๋จ๋ฝ์์ ์ค๋ช ํ ๋๋ก ์ ๊ธฐ๋ณธ ์ฐฝ์ ํ ๋นํ ์ ์์ต๋๋ค. ์ฐ๊ฒฐ๋ ์ฐฝ์ ๋ฒ์ฉ ์กฐํฉ์ผ๋ก ์ฌ์ค์ ํ๋ ๊ฒ๋ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๋ฐ์ํฉ๋๋ค.
์๋ก ์ด ๊ธธ์ด์ก์ง๋ง ๋จผ์ ์ฐ๋ฆฌ๊ฐ ๋ฌด์์ ํ ์ง ๋ง์๋๋ฆฌ๊ณ ๊ทธ ๋ค์์ ์ด๋ป๊ฒ ํ๋์ง ์ค๋ช ๋๋ฆฌ๊ณ ์ถ์์ต๋๋ค.
์ฝ๊ธฐ์ ์ง์น์ ๋ถ๋ค์ ์ํด
์ฆ, ์คํฌ๋ฆฝํธ์ ๋ํ ๋งํฌ๋ ๊ธฐ์ฌ ๋์ ์์ต๋๋ค.
ํ์ง๋ง ์ฌ์ ํ ๋ฐ๋ก ์ค์นํ๊ณ ์ฌ์ฉํ ์๋ ์์ต๋๋ค. ๋จผ์ ์คํฌ๋ฆฝํธ๊ฐ ์ํ๋ ์ฐฝ์ ์ฐพ๋ ๋ฐฉ๋ฒ์ ํ์ ํด์ผ ํฉ๋๋ค. ์ด๊ฒ์ด ์์ผ๋ฉด ์ ํํ ํฌ์ปค์ค๋ฅผ ์ด๋ํด์ผ ํ๋ ์์น๋ฅผ ์คํฌ๋ฆฝํธ์ ์๋ ค์ฃผ๋ ๊ฒ์ด ๋ถ๊ฐ๋ฅํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ์๊ธฐ ์ ํฉํ ์ฐฝ์ด ๋ฐ๊ฒฌ๋์ง ์์ผ๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ๋์ง ์ดํดํด์ผ ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ํค ์กฐํฉ์ ๋๋ฌ ์คํฌ๋ฆฝํธ ์คํ์ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ์ ์ง์คํ์ง ์๊ฒ ์ต๋๋ค. ์๋ฅผ ๋ค์ด, KDE์์๋ ์์คํ ์ค์ โ ๋ฐ๋ก๊ฐ๊ธฐ โ ์ฌ์ฉ์ ์ ์ ๋ฐ๋ก๊ฐ๊ธฐ์ ์์ต๋๋ค. ์ด๋ ๋ค๋ฅธ ์ฐฝ ๊ด๋ฆฌ์์์๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค.
wmctrl ์๊ฐ
Wmctrl โ X Window Manager์ ์ํธ ์์ฉํ๊ธฐ ์ํ ์ฝ์ ์ ํธ๋ฆฌํฐ์ ๋๋ค. ์ด๊ฒ์ ์คํฌ๋ฆฝํธ์ ํต์ฌ ํ๋ก๊ทธ๋จ์ ๋๋ค. ์ด๋ป๊ฒ ์ฌ์ฉํ ์ ์๋์ง ๊ฐ๋จํ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
๋จผ์ ์ด๋ ค ์๋ ์ฐฝ ๋ชฉ๋ก์ ํ์ํด ๋ณด๊ฒ ์ต๋๋ค.
$ wmctrl -lx
0x01e0000e -1 plasmashell.plasmashell N/A Desktop โ Plasma
0x01e0001e -1 plasmashell.plasmashell N/A Plasma
0x03a00001 0 skype.Skype N/A Skype
0x04400003 0 Navigator.Firefox N/A Google ะะตัะตะฒะพะดัะธะบ - Mozilla Firefox
0x04400218 0 Navigator.Firefox N/A ะัััะธะต ะฟัะฑะปะธะบะฐัะธะธ ะทะฐ ัััะบะธ / ะฅะฐะฑั - Mozilla Firefox (Private Browsing)
...
์ต์ -l ์ด๋ ค ์๋ ๋ชจ๋ ์ฐฝ์ ๋ชฉ๋ก์ ํ์ํฉ๋๋ค. -์์ค ์ถ๋ ฅ์ ํด๋์ค ์ด๋ฆ์ ์ถ๊ฐํฉ๋๋ค(์ค์นด์ดํ.์ค์นด์ดํ, ๋ค๋น๊ฒ์ดํฐ.ํ์ด์ดํญ์ค ๋ฑ). ์ฌ๊ธฐ์๋ ์ฐฝ ID(์ด 1), ํด๋์ค ์ด๋ฆ(์ด 3) ๋ฐ ์ฐฝ ์ด๋ฆ(๋ง์ง๋ง ์ด)์ด ํ์ํฉ๋๋ค.
์ต์ ์ ์ฌ์ฉํ์ฌ ์ผ๋ถ ์ฐฝ์ ํ์ฑํํด ๋ณผ ์ ์์ต๋๋ค. -a:
$ wmctrl -a skype.Skype -x
๋ชจ๋ ๊ฒ์ด ๊ณํ๋๋ก ์งํ๋๋ฉด Skype ์ฐฝ์ด ํ๋ฉด์ ๋ํ๋ฉ๋๋ค. ์ต์ ๋์ ์ -x ์ฌ์ฉ ์ต์ -i, ํด๋์ค ์ด๋ฆ ๋์ ์ฐฝ ID๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค. id์ ๋ฌธ์ ์ ์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์คํ๋ ๋๋ง๋ค ์ฐฝ ID๊ฐ ๋ณ๊ฒฝ๋๋ฏ๋ก ์ด๋ฅผ ๋ฏธ๋ฆฌ ์ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ๋ฐ๋ฉด์ ์ด ์์ฑ์ ์ฐฝ์ ๊ณ ์ ํ๊ฒ ์๋ณํ๋ฉฐ ์ด๋ ์์ฉ ํ๋ก๊ทธ๋จ์ด ๋ ๊ฐ ์ด์์ ์ฐฝ์ ์ด ๋ ์ค์ํ ์ ์์ต๋๋ค. ์ด์ ๋ํด ์ข ๋ ์์ธํ ์ค๋ช ํฉ๋๋ค.
์ด ๋จ๊ณ์์๋ ์ถ๋ ฅ๋ณ ์ ๊ท์์ ์ฌ์ฉํ์ฌ ์ํ๋ ์ฐฝ์ ๊ฒ์ํ๋ค๋ ์ ์ ๊ธฐ์ตํด์ผ ํฉ๋๋ค. wmctrl -lx. ํ์ง๋ง ๊ทธ๋ ๋ค๊ณ ํด์ ๋ณต์กํ ๊ฒ์ ์ฌ์ฉํด์ผ ํ๋ค๋ ์๋ฏธ๋ ์๋๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ํด๋์ค ์ด๋ฆ์ด๋ ์ฐฝ ์ด๋ฆ์ด๋ฉด ์ถฉ๋ถํฉ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ์ฃผ์ ์์ด๋์ด๋ ์ด๋ฏธ ๋ช ํํด์ผ ํฉ๋๋ค. ์ฐฝ ๊ด๋ฆฌ์์ ์ ์ญ ๋จ์ถํค/๋จ์ถํค ์ค์ ์์ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ๋ ๋ฐ ํ์ํ ์กฐํฉ์ ๊ตฌ์ฑํฉ๋๋ค.
์คํฌ๋ฆฝํธ ์ฌ์ฉ ๋ฐฉ๋ฒ
๋จผ์ ์ฝ์ ์ ํธ๋ฆฌํฐ๋ฅผ ์ค์นํด์ผ ํฉ๋๋ค. wmctrl ะธ xdotool:
$ sudo apt-get install wmctrl xdotool
๋ค์์ผ๋ก ์คํฌ๋ฆฝํธ๋ฅผ ๋ค์ด๋ก๋ํ์ฌ ๋ค์์ ์ถ๊ฐํด์ผ ํฉ๋๋ค. $ PATH. ๋ณดํต์ ๋ฃ์ด๋๋๋ฐ ~/๋น:
$ cd ~/bin
$ git clone https://github.com/masyamandev/Showwin-script.git
$ ln -s ./Showwin-script/showwin showwin
$ ln -s ./Showwin-script/showwinDetach showwinDetach
๋๋ ํ ๋ฆฌ์ ๊ฒฝ์ฐ ~/๋น ๊ฑฐ๊ธฐ์ ์์ผ๋ฉด ์์ฑํ๊ณ ์ฌ๋ถํ (๋๋ ๋ค์ ๋ก๊ทธ์ธ)ํด์ผ ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ~/๋น ์ ๋ง์ ๊ฑฐ์ผ $ PATH. ๋ชจ๋ ์์ ์ด ์ฌ๋ฐ๋ฅด๊ฒ ์๋ฃ๋๋ฉด ์ฝ์์์ ์คํฌ๋ฆฝํธ์ ์ก์ธ์คํ ์ ์์ด์ผ ํ๋ฉฐ ํญ ์์ฑ ๊ธฐ๋ฅ์ด ์๋ํด์ผ ํฉ๋๋ค.
๋ฉ์ธ ์คํฌ๋ฆฝํธ ์ผ์ 2๊ฐ์ ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ฒซ ๋ฒ์งธ ๋งค๊ฐ๋ณ์๋ ํ์ํ ์ฐฝ์ ๊ฒ์ํ๋ ์ ๊ท์์ด๊ณ , ๋ ๋ฒ์งธ ๋งค๊ฐ๋ณ์๋ ํ์ํ ์ฐฝ์ ์ฐพ์ ์ ์๋ ๊ฒฝ์ฐ ์คํํด์ผ ํ๋ ๋ช ๋ น์ ๋๋ค.
์๋ฅผ ๋ค์ด ๋ค์๊ณผ ๊ฐ์ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํด ๋ณผ ์ ์์ต๋๋ค.
$ showwin "Mozilla Firefox$" firefox
Firefox๊ฐ ์ค์น๋์ด ์์ผ๋ฉด ํด๋น ์ฐฝ์ ํฌ์ปค์ค๊ฐ ์ฃผ์ด์ ธ์ผ ํฉ๋๋ค. Firefox๊ฐ ์คํ๋๊ณ ์์ง ์๋๋ผ๋ ์์ํ์ด์ผ ํฉ๋๋ค.
์๋ํ๋ ๊ฒฝ์ฐ ์กฐํฉ์ ๋ํ ๋ช ๋ น ์คํ์ ๊ตฌ์ฑํด ๋ณผ ์ ์์ต๋๋ค. ์ ์ญ ๋จ์ถํค/๋จ์ถํค ์ค์ ์์ ๋ค์์ ์ถ๊ฐํฉ๋๋ค.
- Alt+F: โMozilla Firefox$โ Firefox ํ์
- Alt+D: showwin "Mozilla Firefox(๊ฐ์ธ ๊ฒ์)$" "firefox -private-window"
- Alt+C: showwin "chromium-browser.Chromium-browser N*" ํฌ๋กฌ-๋ธ๋ผ์ฐ์
- Alt+X: showwin "chromium-browser.Chromium-browser I*" "chromium-browser -incognito"
- Alt+S: showwin โskype.Skypeโ skypeforlinux
- Alt+E: showwin โjetbrains-ideaโ idea.sh
๊ธฐํ ๋ชจ๋ ์ฌ๋์ ์์ ์ด ์ ํฉํ๋ค๊ณ ์๊ฐํ๋ ๋๋ก ํค ์กฐํฉ๊ณผ ์ํํธ์จ์ด๋ฅผ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
๋ชจ๋ ๊ฒ์ด ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํ๋ค๋ฉด ์์ ์กฐํฉ์ ์ฌ์ฉํ์ฌ ๊ฐ๋จํ ํค๋ฅผ ๋๋ฌ ์ฐฝ ์ฌ์ด๋ฅผ ์ ํํ ์ ์์ต๋๋ค.
๋๋ ํฌ๋กฌ ์ ํธ๊ฐ๋ค์ ์ค๋ง์ํฌ ๊ฒ์ ๋๋ค. ์ถ๋ ฅ์ผ๋ก ์ผ๋ฐ ์ฐฝ์ ์ํฌ๋ฆฟ์ผ๋ก ๊ตฌ๋ณํ ์ ์์ต๋๋ค. wmctrl ๊ทธ๋ด ์ ์์ต๋๋ค. ํด๋์ค ์ด๋ฆ๊ณผ ์ฐฝ ์ ๋ชฉ์ด ๋์ผํฉ๋๋ค. ์ ์๋ ์ ๊ท ํํ์์์ N* ๋ฐ I* ๋ฌธ์๋ ์ด๋ฌํ ์ ๊ท ํํ์์ด ์๋ก ๋ค๋ฅด๊ณ ๊ธฐ๋ณธ ์ฐฝ์ผ๋ก ํ ๋น๋ ์ ์๋๋ก ํ๊ธฐ ์ํด์๋ง ํ์ํฉ๋๋ค.
์ด์ ์กฐํฉ์ ๊ธฐ๋ณธ ์ฐฝ์ ์ฌ์ค์ ํ๋ ค๋ฉด(์ค์ ๋ก ์ ๊ท์์ ๊ฒฝ์ฐ ์ผ์ ์ง๋๋ฒ์ ํธ์ถ๋จ) ์คํฌ๋ฆฝํธ๋ฅผ ํธ์ถํด์ผ ํฉ๋๋ค showwin๋ถ๋ฆฌ. ์ด ์คํฌ๋ฆฝํธ๋ฅผ ํค ์กฐํฉ์ ํ ๋นํ์ต๋๋ค Alt+๋ฐฑ์คํ์ด์ค.
์คํฌ๋ฆฝํธ์์ ์ผ์ ๊ธฐ๋ฅ์ด ํ๋ ๋ ์์ต๋๋ค. ํ๋์ ๋งค๊ฐ๋ณ์(์ด ๊ฒฝ์ฐ ๋งค๊ฐ๋ณ์๋ ๋จ์ง ์๋ณ์์)๋ก ํธ์ถ๋๋ฉด ์ ๊ท์์ ์ ํ ํ์ธํ์ง ์๊ณ ๋ชจ๋ ์ฐฝ์ด ์ ํฉํ ๊ฒ์ผ๋ก ๊ฐ์ฃผํฉ๋๋ค. ๊ทธ ์์ฒด๋ก๋ ์ธ๋ชจ์์ด ๋ณด์ด์ง๋ง ์ด๋ฐ ๋ฐฉ์์ผ๋ก ์ด๋ค ์ฐฝ์ด๋ ๊ธฐ๋ณธ ์ฐฝ์ผ๋ก ์ง์ ํ๊ณ ํด๋น ํน์ ์ฐฝ์ผ๋ก ๋น ๋ฅด๊ฒ ์ ํํ ์ ์์ต๋๋ค.
๋ค์๊ณผ ๊ฐ์ ์กฐํฉ์ด ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
- Alt+1: showwin "CustomKey1"
- Alt+2: showwin "CustomKey2"
- ...
- Alt+0: showwin "CustomKey0"
- Alt+๋ฐฑ์คํ์ด์ค: showwinDetach
์ด๋ ๊ฒ ํ๋ฉด ๋ชจ๋ ์ฐฝ์ ์กฐํฉ์ ๋ฐ์ธ๋ฉํ ์ ์์ต๋๋ค. Alt + 1...Alt + 0. ํด๋ฆญ๋ง์ผ๋ก Alt + 1 ํ์ฌ ์ฐฝ์ ์ด ์กฐํฉ์ ๋ฐ์ธ๋ฉํฉ๋๋ค. ํด๋ฆญํ๋ฉด ๋ฐ์ธ๋ฉ์ ์ทจ์ํ ์ ์์ต๋๋ค. Alt + 1๊ทธ๋ฐ ๋ค์ Alt+๋ฐฑ์คํ์ด์ค. ์๋๋ฉด ์ฐฝ์ ๋ซ์๋ ๋ฉ๋๋ค.
๋ค์์ผ๋ก ๋ช ๊ฐ์ง ๊ธฐ์ ์ ์ธ ์ธ๋ถ ์ฌํญ์ ์๋ ค ๋๋ฆฌ๊ฒ ์ต๋๋ค. ์ฝ์ ํ์๋ ์์ง๋ง ์ค์ ํ๊ณ ํ์ธํด๋ณด์ธ์. ํ์ง๋ง ๋๋ ์ฌ์ ํ ๋ค๋ฅธ ์ฌ๋์ ์คํฌ๋ฆฝํธ๋ฅผ ์ปดํจํฐ์์ ์คํํ๊ธฐ ์ ์ ์ดํดํ๋ ๊ฒ์ด ์ข์ต๋๋ค :).
๋์ผํ ์์ฉํ๋ก๊ทธ๋จ์ ๋ค๋ฅธ ์ฐฝ์ ๊ตฌ๋ณํ๋ ๋ฐฉ๋ฒ
์์น์ ์ผ๋ก ์ฒซ ๋ฒ์งธ ์์ธ "wmctrl -a skype.Skype -x"๊ฐ ์๋ ์ค์ด์๊ณ ์ฌ์ฉํ ์ ์์ต๋๋ค. ํ์ง๋ง ๋ ๊ฐ์ ์ฐฝ์ด ์ด๋ ค ์๋ Firefox์ ์๋ฅผ ๋ค์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
0x04400003 0 Navigator.Firefox N/A Google ะะตัะตะฒะพะดัะธะบ - Mozilla Firefox
0x04400218 0 Navigator.Firefox N/A ะัััะธะต ะฟัะฑะปะธะบะฐัะธะธ ะทะฐ ัััะบะธ / ะฅะฐะฑั - Mozilla Firefox (Private Browsing)
์ฒซ ๋ฒ์งธ ์ฐฝ์ ์ผ๋ฐ ๋ชจ๋์ด๊ณ ๋ ๋ฒ์งธ ์ฐฝ์ ๊ฐ์ธ์ ๋ณด ๋ณดํธ ๋ธ๋ผ์ฐ์ง์ ๋๋ค. ์ด ์ฐฝ์ ๋ค๋ฅธ ์์ฉ ํ๋ก๊ทธ๋จ์ผ๋ก ๊ฐ์ฃผํ๊ณ ๋ค๋ฅธ ํค ์กฐํฉ์ ์ฌ์ฉํ์ฌ ์ ํํ๊ณ ์ถ์ต๋๋ค.
์ฐฝ์ ์ ํํ๋ ์คํฌ๋ฆฝํธ๋ฅผ ๋ณต์กํ๊ฒ ๋ง๋ค ํ์๊ฐ ์์ต๋๋ค. ๋๋ ์ด ์๋ฃจ์ ์ ์ฌ์ฉํ์ต๋๋ค: ๋ชจ๋ ์ฐฝ ๋ชฉ๋ก์ ํ์ํ๊ณ , GREP ์ ๊ท์์ผ๋ก ์ฒซ ๋ฒ์งธ ์ค์ ๊ฐ์ ธ์ต๋๋ค. ๋จธ๋ฆฌ, ๋ค์์ ์ฌ์ฉํ์ฌ ์ฒซ ๋ฒ์งธ ์ด(์ฐฝ ID๊ฐ ๋จ)์ ๊ฐ์ ธ์ต๋๋ค. ์ ๋จ, ID๋ก ์ฐฝ์ผ๋ก ์ ํํฉ๋๋ค.
์ ๊ท์๊ณผ ๋ ๊ฐ์ง ๋ฌธ์ ์ ๋ํ ๋๋ด์ด ์์ด์ผ ํ์ง๋ง ์ค์ ๋ก๋ ๋ณต์กํ ๊ฒ์ ์ฌ์ฉํ์ง ์์ต๋๋ค. ์ค ๋("$" ๊ธฐํธ)์ ํ์ํ๊ณ "Mozilla Firefox$"์ "Mozilla Firefox(๊ฐ์ธ ๊ฒ์)$"๋ฅผ ๊ตฌ๋ณํ ์ ์๋๋ก ์ ๊ท์์ด ํ์ํฉ๋๋ค.
๋ช ๋ น์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
$ wmctrl -i -a `wmctrl -lx | grep -i "Mozilla Firefox$" | head -1 | cut -d" " -f1`
์ฌ๊ธฐ์์ ์ด๋ฏธ ์คํฌ๋ฆฝํธ์ ๋ ๋ฒ์งธ ๊ธฐ๋ฅ์ ์ถ์ธกํ ์ ์์ต๋๋ค. grep์ด ์๋ฌด๊ฒ๋ ๋ฐํํ์ง ์์ผ๋ฉด ์ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ด๋ ค ์์ง ์์ ๊ฒ์ด๋ฏ๋ก ๋ ๋ฒ์งธ ๋งค๊ฐ๋ณ์์์ ๋ช ๋ น์ ์คํํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ํด์ผ ํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ํฌ์ปค์ค๋ฅผ ์ด๋ํ๊ธฐ ์ํด ํ์ํ ์ฐฝ์ด ์ด๋ ธ๋์ง ์ฃผ๊ธฐ์ ์ผ๋ก ํ์ธํฉ๋๋ค. ๋๋ ์ด๊ฒ์ ์ด์ ์ ๋ง์ถ์ง ์์ ๊ฒ์ด๋ฉฐ, ํ์ํ ์ฌ๋์ ๋๊ตฌ๋ ์์ค๋ฅผ ๋ณผ ๊ฒ์ ๋๋ค.
์์ฉ ํ๋ก๊ทธ๋จ ์ฐฝ์ ๊ตฌ๋ณํ ์ ์๋ ๊ฒฝ์ฐ
๊ทธ๋์ ์ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฐฝ์ผ๋ก ํฌ์ปค์ค๋ฅผ ์ฎ๊ธฐ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์์ต๋๋ค. ํ์ง๋ง ์์ฉ ํ๋ก๊ทธ๋จ์ ์ฐฝ์ด ๋ ๊ฐ ์ด์ ์ด๋ ค ์์ผ๋ฉด ์ด๋ป๊ฒ ๋ ๊น์? ์ด๋ ๊ฒ์ ์ง์คํด์ผ ํ ๊น์? ์์ ์คํฌ๋ฆฝํธ๋ ์ฒ์ ์ด๋ฆฐ ์ฐฝ์ผ๋ก ์ ์ก๋ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๋ ๋ ๋ง์ ์ ์ฐ์ฑ์ ์ํฉ๋๋ค. ์ด๋ค ์ฐฝ์ด ํ์ํ์ง ๊ธฐ์ตํ๊ณ ํด๋น ํน์ ์ฐฝ์ผ๋ก ์ ํํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์์ด๋์ด๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ํค ์กฐํฉ์ ๋ํด ํน์ ์ฐฝ์ ๊ธฐ์ตํ๋ ค๋ฉด ์ํ๋ ์ฐฝ์ ์ด์ ์ด ๋ง์ถฐ์ก์ ๋ ์ด ์กฐํฉ์ ๋๋ฌ์ผ ํฉ๋๋ค. ์์ผ๋ก๋ ์ด ์กฐํฉ์ ๋๋ฅด๋ฉด ์ด ์ฐฝ์ ํฌ์ปค์ค๊ฐ ์ ๋ฆฌ๊ฒ ๋ฉ๋๋ค. ์ฐฝ์ด ๋ซํ๊ฑฐ๋ ์ด ์คํฌ๋ฆฝํธ ์กฐํฉ์ ์ฌ์ค์ ํ ๋๊น์ง showwin๋ถ๋ฆฌ.
์คํฌ๋ฆฝํธ ์๊ณ ๋ฆฌ์ฆ ์ผ์ ์ด ๊ฐ์:
- ํฌ์ปค์ค๊ฐ ์ ์ก๋์ด์ผ ํ๋ ์ฐฝ์ ID๋ฅผ ์ด์ ์ ๊ธฐ์ตํ๋์ง ํ์ธํ์ธ์.
๊ธฐ์ตํ๊ณ ๊ทธ๋ฌํ ์ฐฝ์ด ์ฌ์ ํ ์กด์ฌํ๋ค๋ฉด ํฌ์ปค์ค๋ฅผ ๊ทธ ์ฐฝ์ผ๋ก ์ฎ๊ธฐ๊ณ ์ข ๋ฃํฉ๋๋ค. - ํ์ฌ ์ด๋ค ์ฐฝ์ ์ด์ ์ด ๋ง์ถฐ์ ธ ์๋์ง ์ดํด๋ณด๊ณ , ์์ฒญ๊ณผ ์ผ์นํ๋ฉด ๋์ค์ ํด๋น ์ฐฝ์ผ๋ก ์ด๋ํ์ฌ ์ข ๋ฃํ ์ ์๋๋ก ํด๋น ์ฐฝ์ ID๋ฅผ ๊ธฐ์ตํฉ๋๋ค.
- ์กด์ฌํ๋ ๊ฒฝ์ฐ ์ ์ด๋ ์ ์ ํ ์ฐฝ์ผ๋ก ์ด๋ํ๊ฑฐ๋ ์ํ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ์ฝ๋๋ค.
xdotool ์ฝ์ ์ ํธ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ์ฌ ์ถ๋ ฅ์ XNUMX์ง์ ํ์์ผ๋ก ๋ณํํ๋ฉด ํ์ฌ ์ด๋ค ์ฐฝ์ ์ด์ ์ด ๋ง์ถฐ์ ธ ์๋์ง ํ์ธํ ์ ์์ต๋๋ค.
$ printf "0x%08x" `xdotool getwindowfocus`
Bash์์ ๋ฌด์ธ๊ฐ๋ฅผ ๊ธฐ์ตํ๋ ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ ๋ฉ๋ชจ๋ฆฌ์ ์๋ ๊ฐ์ ํ์ผ ์์คํ ์ ํ์ผ์ ๋ง๋๋ ๊ฒ์ ๋๋ค. ์ฐ๋ถํฌ์์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ๋์ด ์์ต๋๋ค. /๊ฐ๋ฐ/shm/. ๋ค๋ฅธ ๋ฐฐํฌํ์ ๋ํด์๋ ์๋ฌด ๋ง๋ ํ ์ ์์ง๋ง ๋น์ทํ ๊ฒ์ด ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๋ค์ ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ๋ณผ ์ ์์ต๋๋ค.
$ mount -l | grep tmpfs
์คํฌ๋ฆฝํธ๋ ๋ค์๊ณผ ๊ฐ์ด ์ด ํด๋์ ๋น ๋๋ ํฐ๋ฆฌ๋ฅผ ๋ง๋ญ๋๋ค. /dev/shm/$USER/showwin/$SEARCH_REGEX/$WINDOW_ID. ๋ํ ํธ์ถ๋ ๋๋ง๋ค ์ฌ๋ณผ๋ฆญ ๋งํฌ๊ฐ ์์ฑ๋ฉ๋๋ค. /dev/shm/$USER/showwin/showwin_last ์ /dev/shm/$USER/showwin/$SEARCH_REGEX. ํ์ํ ๊ฒฝ์ฐ ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ์ฌ ํน์ ์กฐํฉ์ ๋ํ ์ฐฝ ID๋ฅผ ์ ๊ฑฐํ๋ ค๋ฉด ์ด ์์ ์ด ํ์ํฉ๋๋ค. showwin๋ถ๋ฆฌ.
๊ฐ์ ํ ์์๋ ๊ฒ
์ฒซ์งธ, ์คํฌ๋ฆฝํธ๋ฅผ ์๋์ผ๋ก ๊ตฌ์ฑํด์ผ ํฉ๋๋ค. ํ์คํ, ์์ผ๋ก ๋ง์ ๊ฒ์ ํ๊ตฌํ๊ณ ์ํํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋ง์ ๋ถ๋ค์ด ์์คํ ๊ตฌ์ฑ์ ์๋์กฐ์ฐจ ํ์ง ์์ ๊ฒ์ ๋๋ค. ๋จ์ํ ํจํค์ง๋ฅผ ์ค์นํ๊ณ ๋ชจ๋ ๊ฒ์ ๋ ์ฝ๊ฒ ๊ตฌ์ฑํ ์ ์๋ค๋ฉด ์๋ง๋ ์ด๋ ์ ๋ ์ธ๊ธฐ๋ฅผ ์ป์ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ด ํ์ค ๋ฐฐํฌํ์ผ๋ก ์ถ์๋ ๊ฒ์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์๋ง๋ ๋ ์ฝ๊ฒ ํ ์ ์์ ๊ฒ์ ๋๋ค. ์ฐฝ์ ID๋ก ์ฐฝ์ ์์ฑํ ํ๋ก์ธ์ค์ ID๋ฅผ ์ฐพ์ ์ ์๊ณ , ํ๋ก์ธ์ค์ ID๋ก ์ฐฝ์ ์์ฑํ ๋ช ๋ น์ ์ ์ ์๋ค๋ฉด ์ค์ ์ ์๋ํํ ์ ์์ต๋๋ค. ์ฌ์ค ์ด ๋ฌธ๋จ์ ์ ๊ฐ ์ด ๋ด์ฉ์ด ๊ฐ๋ฅํ์ง ์ดํด๊ฐ ๋์ง ์์์ต๋๋ค. ์ฌ์ค ์ ๋ ๊ฐ์ธ์ ์ผ๋ก ํ์ฌ ์๋ ๋ฐฉ์์ ๋ง์กฑํ๊ณ ์์ต๋๋ค. ํ์ง๋ง ๋ ์ด์ธ์ ๋๊ตฐ๊ฐ๊ฐ ์ ์ฒด ์ ๊ทผ ๋ฐฉ์์ด ํธ๋ฆฌํ๋ค๊ณ ์๊ฐํ๊ณ ๋๊ตฐ๊ฐ๊ฐ ์ด๋ฅผ ๊ฐ์ ํ๋ค๋ฉด ๋๋ ๊ธฐ๊บผ์ด ๋ ๋์ ์๋ฃจ์ ์ ์ฌ์ฉํ ๊ฒ์ ๋๋ค.
๋ด๊ฐ ์ด๋ฏธ ์ด ๊ฒ์ฒ๋ผ ๋ ๋ค๋ฅธ ๋ฌธ์ ๋ ์ด๋ค ๊ฒฝ์ฐ์๋ ์ฐฝ์ ์๋ก ๊ตฌ๋ณํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ์ง๊ธ๊น์ง ๋๋ ํฌ๋กฌ/ํฌ๋กฌ์ ์ํฌ๋ฆฟ ๋ชจ๋์์๋ง ์ด๊ฒ์ ๊ด์ฐฐํ์ง๋ง ์๋ง๋ ๋ค๋ฅธ ๊ณณ์์๋ ๋น์ทํ ๊ฒ์ด ์์ ๊ฒ์ ๋๋ค. ์ตํ์ ์๋จ์ผ๋ก ํญ์ ๋ฒ์ฉ ์กฐํฉ ์ต์ ์ด ์์ต๋๋ค. Alt + 1...Alt + 0. ๋ค์ ๋งํ์ง๋ง, ์ ๋ Firefox๋ฅผ ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ ๊ฐ์ธ์ ์ผ๋ก ์ด ๋ฌธ์ ๋ ์ค์ํ์ง ์์ต๋๋ค.
ํ์ง๋ง ์ ์๊ฒ ์์ด์ ๊ฐ์ฅ ํฐ ๋ฌธ์ ๋ ์ ๋ฌด์ฉ์ผ๋ก Mac OS๋ฅผ ์ฌ์ฉํ๋๋ฐ ๊ฑฐ๊ธฐ์๋ ๊ทธ๋ฐ ๊ตฌ์ฑ์ ํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ๊ณต์ต์ฌ์ wmctrl ์ค์น๊ฐ ๊ฐ๋ฅํ๋ ๊ฒ ๊ฐ์๋ฐ, Mac OS์์๋ ์ ๋ง ์๋๋ค์. ์์ฉ ํ๋ก๊ทธ๋จ์ผ๋ก ๋ญ๊ฐ๋ฅผ ํ ์ ์์ต๋๋ค ์๋ํ, ํ์ง๋ง ์๋๊ฐ ๋๋ฌด ๋๋ ค์ ์๋ ์ค์๋ ์ฌ์ฉํ๊ธฐ๊ฐ ๋ถํธํฉ๋๋ค. ๋ํ ๋ชจ๋ ํ๋ก๊ทธ๋จ์์ ์๋ํ๋๋ก ํค ์กฐํฉ์ ์ค์ ํ ์๋ ์์์ต๋๋ค. ๋๊ตฐ๊ฐ ๊ฐ์๊ธฐ ํด๊ฒฐ์ฑ ์ ์๊ฐํด๋ธ๋ค๋ฉด ๊ธฐ๊บผ์ด ์ฌ์ฉํ๊ฒ ์ต๋๋ค.
๋์ ๊ฒฐ๋ก
์ด๋ ๊ฒ ๋จ์ํด ๋ณด์ด๋ ๊ธฐ๋ฅ์ ์์ธ๋ก ๋ง์ด ๋ง์์ต๋๋ค. ํ ์คํธ๋ฅผ ๋๋ฌด ๊ณผํ๊ฒ ๋ฃ์ง ์๊ณ ์์ด๋์ด๋ฅผ ์ ๋ฌํ๊ณ ์ถ์์ง๋ง ์์ง ๋ ๊ฐ๋จํ๊ฒ ์ ๋ฌํ๋ ๋ฐฉ๋ฒ์ ์ฐพ์ง ๋ชปํ์ต๋๋ค. ์๋ง๋ ๋น๋์ค ํ์์ด๋ฉด ๋ ๋์ ๊ฒ ๊ฐ์ง๋ง ์ฌ๊ธฐ์๋ ์ฌ๋๋ค์ด ๊ทธ๋ฐ ๋ฐฉ์์ ์ข์ํ์ง ์์ต๋๋ค.
๋๋ ์คํฌ๋ฆฝํธ์ ๋ด๋ถ ๋ด์ฉ๊ณผ ์ด๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์กฐ๊ธ ์ด์ผ๊ธฐํ์ต๋๋ค. ์คํฌ๋ฆฝํธ ์์ฒด๋ฅผ ์์ธํ ๋ค๋ฃจ์ง ์์์ง๋ง 50์ค ์ ๋๋ผ์ ์ดํดํ๋๋ฐ ์ด๋ ต์ง๋ ์์ต๋๋ค.
๋ค๋ฅธ ๋๊ตฐ๊ฐ๊ฐ ์ด ์์ด๋์ด๋ฅผ ์๋ํด๋ณด๊ณ ๊ฐ์ฌํด ํด์ฃผ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๋๋ ๋๋ณธ์ด ์ฝ 3๋ ์ ์ ์์ฑ๋์์ผ๋ฉฐ ๋์๊ฒ ๋งค์ฐ ํธ๋ฆฌํ๋ค๊ณ ๋ ์์ ์ ๋ํด ๋งํ ์ ์์ต๋๋ค. ๋๋ฌด ํธ๋ฆฌํด์ ๋ค๋ฅธ ์ฌ๋์ ์ปดํจํฐ๋ก ์์ ํ ๋ ์ฌ๊ฐํ ๋ถํธํจ์ ์ผ๊ธฐํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์๋ํ๋ MacBook๋ ์์ต๋๋ค.
์ถ์ฒ : habr.com