Dunst: ์•Œ๋ฆผ ๋ฐ๋ชฌ Dunst๋ฅผ 0.2.0-1์—์„œ 1.2.0์œผ๋กœ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2017๋…„ 08์›” 18์ผ  ยท  4์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: dunst-project/dunst

์•Œ๋ฆผ ๋ฐ๋ชฌ Dunst๋ฅผ 0.2.0-1์—์„œ 1.2.0์œผ๋กœ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

Ubuntu 12.10 Quantal์—๋Š” ์ด์ „ ๋ฒ„์ „์˜ Dunst-0.2.0-1์ด ์žˆ์Šต๋‹ˆ๋‹ค.
https://github.com/dunst-project/dunst/archive/v1.2.0.tar.gz ์—์„œ ์ƒˆ๋กœ์šด 1.2.0 ๋‹ค์šด๋กœ๋“œ
~/src/dunst-1.2.0์œผ๋กœ ์ถ”์ถœ
์œ ํ˜• ๋งŒ๋“ค๊ธฐ
pkg-config ๊ฒ€์ƒ‰ ๊ฒฝ๋กœ์—์„œ ํŒจํ‚ค์ง€ "dbus-1"์„ ์ฐพ์„ ์ˆ˜ ์—†์Œ์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.
sudo apt-get install libdbus-1-dev๋ฅผ ์ž…๋ ฅํ•˜์‹ญ์‹œ์˜ค.

์ข‹์Šต๋‹ˆ๋‹ค, ํ•˜์ง€๋งŒ ๋‹ค์Œ์€ ํŒจํ‚ค์ง€ glib-2.0์ด pkg-config ๊ฒ€์ƒ‰ ๊ฒฝ๋กœ์—์„œ ๋ฐœ๊ฒฌ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
sudo apt-cache ๊ฒ€์ƒ‰ glib
sudo apt-get ์„ค์น˜ libglib2.0-0 libglib2.0-dev
'glib-2.0 >= 2.36'์„ ์š”์ฒญํ–ˆ์ง€๋งŒ GLib ๋ฒ„์ „์€ 2.34.1์ž…๋‹ˆ๋‹ค.
sudo apt-get ์„ค์น˜ libpango1.0-0 libpango1.0-dev
์ข‹์€.

sudo apt-get install gir1.2-gdkpixbuf-2.0 libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libgdk-pixbuf2.0-dev libgdkcutter-pixbuf0
sudo apt-get install libgtk2.0-dev libglib2.0-dev - GOOOOOOOD!
/usr/lib/i386-linux-gnu/pkgconfig/gdk-2.0.pc

๋งŒ๋“ค๋‹ค
'glib-2.0 >= 2.36'์„ ์š”์ฒญํ–ˆ์ง€๋งŒ GLib ๋ฒ„์ „์€ 2.34.1์ž…๋‹ˆ๋‹ค.
config.mk:50: * "pkg-config ์‹คํŒจ, ์œ„์˜ ์˜ค๋ฅ˜ ์ฐธ์กฐ". ์ค‘์ง€.

๊ณ ์–‘์ด /usr/lib/i386-linux-gnu/pkgconfig/glib-2.0.pc
์ด๋ฆ„: GLib
์„ค๋ช…: C ์œ ํ‹ธ๋ฆฌํ‹ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
๋ฒ„์ „: 2.34.1

config.mk๋ฅผ ์—ด๊ณ  pkg_config_packs์—์„œ glib-2.0 >= 2.36์„ 2.34๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.
์œ ํ˜• ํ™•์ธ ๋ฐ
cc -o src/x11/screen.o -c src/x11/screen.c -g --std=gnu99 -pedantic -Wall -Wno-overlength-strings -Os -D_DEFAULT_SOURCE -DVERSION=\""1.2.0( 2017-07-12) "\" -pthread -I/usr/include/dbus-1.0 -I/usr/lib/i386-linux-gnu/dbus-1.0/include -I/usr/include/glib-2.0 - I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/ include/freetype2 -I/usr/include/libpng12 -I/usr/include/gtk-2.0 -I/usr/lib/i386-linux-gnu/gtk-2.0/include -I/usr/include/gio-unix- 2.0/ -I/usr/include/gdk-pixbuf-2.0 -I.
src/x11/screen.c: 'randr_update' ํ•จ์ˆ˜์—์„œ:
src/x11/screen.c:102:9: ์˜ค๋ฅ˜: ์•Œ ์ˆ˜ ์—†๋Š” ์œ ํ˜• ์ด๋ฆ„ 'XRRMonitorInfo'
src/x11/screen.c:102:9: ๊ฒฝ๊ณ : 'XRRGetMonitors' ํ•จ์ˆ˜์˜ ์•”์‹œ์  ์„ ์–ธ [-Wimplicit-function-declaration]
src/x11/screen.c:102:29: ๊ฒฝ๊ณ : ์ดˆ๊ธฐํ™”๋Š” ์บ์ŠคํŠธ ์—†์ด ์ •์ˆ˜์—์„œ ํฌ์ธํ„ฐ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. [๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋จ]
src/x11/screen.c:113:40: ์˜ค๋ฅ˜: ๊ตฌ์กฐ์ฒด ๋˜๋Š” ๊ณต์šฉ์ฒด๊ฐ€ ์•„๋‹Œ ๋ฌด์–ธ๊ฐ€์—์„œ ๋ฉค๋ฒ„ 'x'์— ๋Œ€ํ•œ ์š”์ฒญ
src/x11/screen.c:114:40: ์˜ค๋ฅ˜: ๊ตฌ์กฐ์ฒด ๋˜๋Š” ๊ณต์šฉ์ฒด๊ฐ€ ์•„๋‹Œ ํ•ญ๋ชฉ์—์„œ ๋ฉค๋ฒ„ 'y'์— ๋Œ€ํ•œ ์š”์ฒญ
src/x11/screen.c:115:40: ์˜ค๋ฅ˜: ๊ตฌ์กฐ์ฒด ๋˜๋Š” ๊ณต์šฉ์ฒด๊ฐ€ ์•„๋‹Œ ํ•ญ๋ชฉ์—์„œ 'width' ๋ฉค๋ฒ„ ์š”์ฒญ
src/x11/screen.c:116:40: ์˜ค๋ฅ˜: ๊ตฌ์กฐ์ฒด ๋˜๋Š” ๊ณต์šฉ์ฒด๊ฐ€ ์•„๋‹Œ ํ•ญ๋ชฉ์—์„œ ๋ฉค๋ฒ„ '๋†’์ด' ์š”์ฒญ
src/x11/screen.c:117:42: ์˜ค๋ฅ˜: ๊ตฌ์กฐ์ฒด ๋˜๋Š” ๊ณต์šฉ์ฒด๊ฐ€ ์•„๋‹Œ ํ•ญ๋ชฉ์—์„œ 'mheight' ๋ฉค๋ฒ„ ์š”์ฒญ
src/x11/screen.c:120:9: ๊ฒฝ๊ณ : 'XRRFreeMonitors' ํ•จ์ˆ˜์˜ ์•”์‹œ์  ์„ ์–ธ [-Wimplicit-function-declaration]
make: * [src/x11/screen.o] ์˜ค๋ฅ˜ 1

https://ftp.gnome.org/pub/gnome/sources/glib/2.36/glib-2.36.4.tar.xz๋ฅผ ๋‹ค์šด๋กœ๋“œํ–ˆ์Šต๋‹ˆ๋‹ค.
ํฌ์žฅ์„ ํ’€๊ณ 
grep -Ril "XRRMonitorInfo" ./
grep -Ril "XRRGetMonitors" ./
์•„๋ฌด๊ฒƒ๋„. ํ , ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์€ glib 2.36์— ์—†์Šต๋‹ˆ๋‹ค!

https://cgit.freedesktop.org/xorg/lib/libXrandr/tree/src/XrrMonitor.c๋ฅผ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค. XRRMonitorInfo, XRRGetMonitors ๋ฐ XRRFreeMonitors ์ฝ”๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
sudo find / -iname XrrMonitor.c๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์•„๋ฌด ๊ฒƒ๋„ ์ž…๋ ฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

libxrandr์„ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค!
์–ด๋–ค ๋ฒ„์ „์˜ libxrandr์ด ์žˆ์Šต๋‹ˆ๊นŒ?

dpkg -L libxrandr-dev
์ถœ๋ ฅ์€
/.
/usr
/usr/๊ณต์œ 
/usr/๊ณต์œ /๋ฌธ์„œ
/usr/share/doc/libxrandr-dev
/usr/share/doc/libxrandr-dev/copyright
/usr/share/man
/usr/share/man/man3
/usr/share/man/man3/Xrandr.3.gz
/usr/lib
/usr/lib/i386-linux-gnu
/usr/lib/i386-linux-gnu/pkgconfig
/usr/lib/i386-linux-gnu/pkgconfig/xrandr.pc
/usr/lib/i386-linux-gnu/libXrandr.a
/usr/ํฌํ•จ
/usr/ํฌํ•จ/X11
/usr/include/X11/extensions
/usr/include/X11/extensions/Xrandr.h
/usr/share/doc/libxrandr-dev/changelog.Debian.gz
/usr/share/man/man3/XRRSelectInput.3.gz
/usr/share/man/man3/XRRGetScreenInfo.3.gz
/usr/share/man/man3/XRRRootToScreen.3.gz
/usr/share/man/man3/XRRFreeScreenConfigInfo.3.gz
/usr/share/man/man3/XRRConfigCurrentConfiguration.3.gz
/usr/share/man/man3/XRRQueryVersion.3.gz
/usr/share/man/man3/XRRConfigSizes.3.gz
/usr/share/man/man3/XRRConfigCurrentRate.3.gz
/usr/share/man/man3/XRRConfigTimes.3.gz
/usr/share/man/man3/XRRSetScreenConfigAndRate.3.gz
/usr/share/man/man3/XRRConfigRotations.3.gz
/usr/share/man/man3/XRRSetScreenConfig.3.gz
/usr/share/man/man3/XRRQueryExtension.3.gz
/usr/share/man/man3/XRRConfigRates.3.gz
/usr/lib/i386-linux-gnu/libXrandr.so

๊ณ ์–‘์ด /usr/lib/i386-linux-gnu/pkgconfig/xrandr.pc
์ด๋ฆ„: Xrandr
์„ค๋ช…: X RandR ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
๋ฒ„์ „: 1.4.0

https://launchpad.net/ubuntu/+source/libxrandr/+publishinghistory
Ubuntu 12.10 Quantal(๋ฒ„์ „ 2:1.4.0-1ubuntu0.1)์šฉ ํŒจํ‚ค์ง€ libxrandr์˜ ๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ๋Š” 2015-04-24 11:19:49 UTC์ž…๋‹ˆ๋‹ค.

1.4.0 ๋ฒ„์ „์˜ libxrandr์ด ์žˆ์Šต๋‹ˆ๋‹ค.

https://cgit.freedesktop.org/xorg/lib/libXrandr/tree/src ์—์„œ *.c ๋ฐ *.h ํŒŒ์ผ์„ ๋ชจ๋‘ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ /home/vova/src/dunst-1.2.0/src์— ๋„ฃ์—ˆ์Šต๋‹ˆ๋‹ค.
make - "src/x11/XrrMonitor.c:157:5: ์˜ค๋ฅ˜: ์•Œ ์ˆ˜ ์—†๋Š” ์œ ํ˜• ์ด๋ฆ„ 'xRRSetMonitorReq'" ์˜ค๋ฅ˜
๋‚ด๊ฐ€ ๋ญ”๊ฐ€ ์ž˜๋ชปํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. libxrandr์„ ์‰ฝ๊ฒŒ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•ˆ๋ถ€ ์ธ์‚ฌ, ๋ธ”๋ผ๋””๋ฏธ๋ฅด

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๊ท€ํ•˜์˜ ์‹œ์Šคํ…œ์€ ๋‹จ์ˆœํžˆ ์ง€์›๋˜๋Š” ํ”Œ๋žซํผ์ด ์•„๋‹™๋‹ˆ๋‹ค. ๋˜์ŠคํŠธ์— ๋Œ€ํ•œ ์ตœ์†Œ ์š”๊ตฌ ์‚ฌํ•ญ์ด ์žˆ์œผ๋ฉฐ, ๋˜์ŠคํŠธ ์—†์ด๋Š” ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  4 ๋Œ“๊ธ€

Ubuntu 12.10 Quantal์—๋Š” ์ด์ „ ๋ฒ„์ „์ด ์žˆ์Šต๋‹ˆ๋‹ค.

Quantal์€ 2014๋…„ 5์›”๋ถ€ํ„ฐ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. 3๋…„์ด ๋„˜์—ˆ์Šต๋‹ˆ๋‹ค!

์†”์งํ•œ ์งˆ๋ฌธ: ๊ตฌ์‹์ธ dunst๋ฅผ ์‹œ์Šคํ…œ์— ๋ฐฑํฌํŒ…ํ•˜๋Š” ๋ฐ ์œ ์ง€ ๊ด€๋ฆฌ์ž๊ฐ€ ๋„์›€์„ ์ค„ ๊ฒƒ์œผ๋กœ ๊ธฐ๋Œ€ํ•˜์‹ญ๋‹ˆ๊นŒ?


ํŽธ์ง‘: ๊ฑฐ์นœ ๋ชฉ์†Œ๋ฆฌ์— ๋Œ€ํ•ด ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ์˜ ์™ธ๋ถ€์ธ์œผ๋กœ์„œ ๋‚˜๋Š” ์ด๋Ÿฐ ์–ด์กฐ๋กœ ๋งํ•  ๊ถŒ๋ฆฌ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ Nikos์˜ ๋‹ต๋ณ€์„ ๊ธฐ๋Œ€ํ•˜๊ณ  ์‹ถ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ท€ํ•˜์˜ ๊ฒฝ์šฐ ์œ ์ง€ ๊ด€๋ฆฌ์ž์—๊ฒŒ ๊ตฌ์‹ ์‹œ์Šคํ…œ์„ ์ง€์›ํ•˜๊ฑฐ๋‚˜ ๋ฐฑํฌํŒ…ํ•˜๋Š” ๋ฐ ๋„์›€์„ ์š”์ฒญํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋‚ด ์ž์‹ ์˜ ๊ฒฐ์ ์„ ์ฐพ๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

@bebehei ๊ท€ํ•˜์˜ ์‹œ์Šคํ…œ์ด ๋งค์šฐ ๊ตฌ์‹์ด๋ผ๋Š” ์ ์— ๋™์˜ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉํ•˜๋Š” LTS ๋ฆด๋ฆฌ์Šค๋„ ์•„๋‹™๋‹ˆ๋‹ค. ์—…๋ฐ์ดํŠธํ•  ๊ฒƒ์„ ๊ฐ•๋ ฅํžˆ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

์‚ดํŽด๋ณด๋‹ˆ XRRMonitorInfo ๊ฐ€ libxrandr ๋ฒ„์ „ 1.5์— ์ถ”๊ฐ€๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ฆ‰, glib์— >= 2.36 ๋ธ”๋ก์ด ์žˆ๋Š” ์ด์œ ๊ฐ€ ์žˆ์œผ๋ฉฐ ๋งน๋ชฉ์ ์œผ๋กœ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์€ ๋‚˜์œ ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค. ๋‚˜๋Š” Dunst๊ฐ€ ์†”์งํžˆ ๋งํ•ด์„œ ์˜ค๋ž˜๋œ ์‹œ์Šคํ…œ์—์„œ ์ „ํ˜€ ์ž‘๋™ํ•  ๊ฒƒ์ด๋ผ๊ณ  ๊ธฐ๋Œ€ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์˜ˆ, ์—ฌ๋Ÿฌ๋ถ„, ๋‚ด ์‹œ์Šคํ…œ์€ ๋งค์šฐ ๊ตฌ์‹์ž…๋‹ˆ๋‹ค!!!
๊ทธ๋Ÿฌ๋‚˜ Ubuntu๊ฐ€ ์—†๋Š” ์ด ์งˆ๋ฌธ์€ Dunst๋งŒ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

๊ท€ํ•˜์˜ ์‹œ์Šคํ…œ์€ ๋‹จ์ˆœํžˆ ์ง€์›๋˜๋Š” ํ”Œ๋žซํผ์ด ์•„๋‹™๋‹ˆ๋‹ค. ๋˜์ŠคํŠธ์— ๋Œ€ํ•œ ์ตœ์†Œ ์š”๊ตฌ ์‚ฌํ•ญ์ด ์žˆ์œผ๋ฉฐ, ๋˜์ŠคํŠธ ์—†์ด๋Š” ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰