์๋ฆผ ๋ฐ๋ชฌ 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์ ์ฝ๊ฒ ์
๋ฐ์ดํธํ ์ ์์ต๋๋ค.
์๋ถ ์ธ์ฌ, ๋ธ๋ผ๋๋ฏธ๋ฅด
Ubuntu 12.10 Quantal์๋ ์ด์ ๋ฒ์ ์ด ์์ต๋๋ค.
Quantal์ 2014๋ 5์๋ถํฐ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ต๋๋ค. 3๋ ์ด ๋์์ต๋๋ค!
์์งํ ์ง๋ฌธ: ๊ตฌ์์ธ dunst๋ฅผ ์์คํ ์ ๋ฐฑํฌํ ํ๋ ๋ฐ ์ ์ง ๊ด๋ฆฌ์๊ฐ ๋์์ ์ค ๊ฒ์ผ๋ก ๊ธฐ๋ํ์ญ๋๊น?
ํธ์ง: ๊ฑฐ์น ๋ชฉ์๋ฆฌ์ ๋ํด ์ฃ์กํฉ๋๋ค. ์ด ํ๋ก์ ํธ์ ์ธ๋ถ์ธ์ผ๋ก์ ๋๋ ์ด๋ฐ ์ด์กฐ๋ก ๋งํ ๊ถ๋ฆฌ๊ฐ ์์ต๋๋ค. ๋ํ Nikos์ ๋ต๋ณ์ ๊ธฐ๋ํ๊ณ ์ถ์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ทํ์ ๊ฒฝ์ฐ ์ ์ง ๊ด๋ฆฌ์์๊ฒ ๊ตฌ์ ์์คํ ์ ์ง์ํ๊ฑฐ๋ ๋ฐฑํฌํ ํ๋ ๋ฐ ๋์์ ์์ฒญํ๋ ๊ฒ๋ณด๋ค ๋ด ์์ ์ ๊ฒฐ์ ์ ์ฐพ๋ ๊ฒ์ด ์ข์ต๋๋ค.
@bebehei ๊ทํ์ ์์คํ ์ด ๋งค์ฐ ๊ตฌ์์ด๋ผ๋ ์ ์ ๋์ํฉ๋๋ค. ๊ทธ๋ ๊ฒ ์ค๋ซ๋์ ์ฌ์ฉํ๋ LTS ๋ฆด๋ฆฌ์ค๋ ์๋๋๋ค. ์ ๋ฐ์ดํธํ ๊ฒ์ ๊ฐ๋ ฅํ ๊ถ์ฅํฉ๋๋ค.
์ดํด๋ณด๋ XRRMonitorInfo
๊ฐ libxrandr ๋ฒ์ 1.5์ ์ถ๊ฐ๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ฆ, glib์ >= 2.36
๋ธ๋ก์ด ์๋ ์ด์ ๊ฐ ์์ผ๋ฉฐ ๋งน๋ชฉ์ ์ผ๋ก ์ ๊ฑฐํ๋ ๊ฒ์ ๋์ ์๊ฐ์
๋๋ค. ๋๋ Dunst๊ฐ ์์งํ ๋งํด์ ์ค๋๋ ์์คํ
์์ ์ ํ ์๋ํ ๊ฒ์ด๋ผ๊ณ ๊ธฐ๋ํ์ง ์์ ๊ฒ์
๋๋ค.
์, ์ฌ๋ฌ๋ถ, ๋ด ์์คํ
์ ๋งค์ฐ ๊ตฌ์์
๋๋ค!!!
๊ทธ๋ฌ๋ Ubuntu๊ฐ ์๋ ์ด ์ง๋ฌธ์ Dunst๋ง ์
๋ฐ์ดํธํฉ๋๋ค.
๊ทํ์ ์์คํ ์ ๋จ์ํ ์ง์๋๋ ํ๋ซํผ์ด ์๋๋๋ค. ๋์คํธ์ ๋ํ ์ต์ ์๊ตฌ ์ฌํญ์ด ์์ผ๋ฉฐ, ๋์คํธ ์์ด๋ ์คํ๋์ง ์์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๊ทํ์ ์์คํ ์ ๋จ์ํ ์ง์๋๋ ํ๋ซํผ์ด ์๋๋๋ค. ๋์คํธ์ ๋ํ ์ต์ ์๊ตฌ ์ฌํญ์ด ์์ผ๋ฉฐ, ๋์คํธ ์์ด๋ ์คํ๋์ง ์์ต๋๋ค.