Linux์˜ ๋Œ€์ฒด ์ฐฝ ๊ด€๋ฆฌ

์ €๋Š” ํ‚ค ํ•˜๋‚˜๋ฅผ ๋ˆ„๋ฅผ ์ˆ˜ ์žˆ๋Š”๋ฐ ํ‚ค 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

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€