์ฌ๋ฌด์ค์ ์ฌ๋ฌ ํ๋ฉด์ ๋ชจ๋ํฐ๋ง์ด ํฌํจ๋ ๋์๋ณด๋๋ฅผ ํ์ํด์ผ ํ์ต๋๋ค. ๋ช ๊ฐ์ง ์ค๋๋ Raspberry Pi Model B +์ ๊ฑฐ์ ๋ฌด์ ํ์ ๋ฆฌ์์ค๊ฐ ์๋ ํ์ดํผ๋ฐ์ด์ ๊ฐ ์์ต๋๋ค.
๋ถ๋ช ํ Raspberry Pi Model B+๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ง์์ ์ผ๋ก ์คํํ๊ณ ๋ง์ ๊ทธ๋ํฝ์ ๋ ๋๋งํ ์ ์๋ ์์์ฑ์ด ์ถฉ๋ถํ์ง ์์ต๋๋ค. ๊ทธ ๋๋ฌธ์ ํ์ด์ง๊ฐ ๋ถ๋ถ์ ์ผ๋ก ๋ฒ๊ทธ๊ฐ ์๊ณ ์ข ์ข ์ถฉ๋์ด ๋ฐ์ํฉ๋๋ค.
์ฌ๋ฌ๋ถ๊ณผ ๊ณต์ ํ๊ณ ์ถ์ ์๋นํ ๊ฐ๋จํ๊ณ ์ฐ์ํ ์๋ฃจ์ ์ด ์์ต๋๋ค.
์์๋ค์ํผ ๋ชจ๋ Raspberry์๋ ํ๋์จ์ด ๋น๋์ค ๋์ฝ๋ฉ์ ์ ํฉํ ์๋นํ ๊ฐ๋ ฅํ ๋น๋์ค ํ๋ก์ธ์๊ฐ ์์ต๋๋ค. ๊ทธ๋์ ๋ค๋ฅธ ๊ณณ์์ ๋์๋ณด๋๊ฐ โโ์๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ์์ํ๊ณ ๋ ๋๋ง๋ ๊ทธ๋ฆผ์ด ์๋ ๊ธฐ์ฑํ ์คํธ๋ฆผ์ ๋ผ์ฆ๋ฒ ๋ฆฌ๋ก ์ ์กํ๋ ์์ด๋์ด๊ฐ ๋ ์ฌ๋์ต๋๋ค.
๋ํ ์ด ๊ฒฝ์ฐ ๋ชจ๋ ๊ตฌ์ฑ์ด ํ๋์ ๊ฐ์ ๋จธ์ ์์ ์ํ๋๋ฏ๋ก ์ ๋ฐ์ดํธ ๋ฐ ๋ฐฑ์ ์ด ๋ ์ฝ๊ธฐ ๋๋ฌธ์ ๊ด๋ฆฌ๊ฐ ๊ฐ์ํ๋์ด์ผ ํฉ๋๋ค.
๊ณง ์๋ฃ๋ฉ๋๋ค.
์๋ฒ ๋ถ๋ถ
์ฐ๋ฆฌ๋ ์ค๋น๋ฅผ ์ฌ์ฉํฉ๋๋ค
์ ๊ฐ์ ๋จธ์ ์ ๋ฐฐํฌํ๊ณ ๋จผ์ ์ค์นํฉ๋๋ค.
apt-get update
apt-get install -y xserver-xorg nodm fluxbox
sed -i 's/^NODM_USER=.*/NODM_USER=ubuntu/' /etc/default/nodm
์ฐ๋ฆฌ๋ ์น์ ํ๊ฒ๋ Xorg์ ๋ํ ๊ตฌ์ฑ์ ์ฌ์ฉํ ๊ฒ์
๋๋ค.
cat > /etc/X11/xorg.conf <<EOT
Section "Device"
Identifier "device"
Driver "vesa"
EndSection
Section "Screen"
Identifier "screen"
Device "device"
Monitor "monitor"
DefaultDepth 16
SubSection "Display"
Modes "1920x1080" "1280x1024" "1024x768" "800x600"
EndSubSection
EndSection
Section "Monitor"
Identifier "monitor"
HorizSync 20.0 - 50.0
VertRefresh 40.0 - 80.0
Option "DPMS"
EndSection
Section "ServerLayout"
Identifier "layout"
Screen "screen"
EndSection
EOT
systemctl restart nodm
์ด์ ์ฐ๋ฆฌ๋ Firefox๋ฅผ ์ค์นํ๊ณ ์์คํ ์๋น์ค๋ก ์คํํ ๊ฒ์ด๋ฏ๋ก ํ ๊ฐ์ง๋ฅผ ์ํด ๋จ์ ํ์ผ์ ์์ฑํฉ๋๋ค.
apt-get install -y firefox xdotool
cat > /etc/systemd/system/firefox.service <<EOT
[Unit]
Description=Firefox
After=network.target
[Service]
Restart=always
User=ubuntu
Environment="DISPLAY=:0"
Environment="XAUTHORITY=/home/ubuntu/.Xauthority"
ExecStart=/usr/bin/firefox -url 'http://example.org/mydashboard'
ExecStartPost=/usr/bin/xdotool search --sync --onlyvisible --class "Firefox" windowactivate key F11
[Install]
WantedBy=graphical.target
EOT
systemctl enable firefox
systemctl start firefox
Firefox๋ฅผ ์ ์ฒด ํ๋ฉด ๋ชจ๋์์ ์ฆ์ ์คํํ๋ ค๋ฉด Xdotool์ด ํ์ํฉ๋๋ค.
๋งค๊ฐ๋ณ์ ์ฌ์ฉ -url
๋ธ๋ผ์ฐ์ ๊ฐ ์์๋ ๋ ํ์ด์ง๊ฐ ์๋์ผ๋ก ์ด๋ฆฌ๋๋ก ํ์ด์ง๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค.
์ด ๋จ๊ณ์์ ํค์ค์คํฌ๊ฐ ์ค๋น๋์์ง๋ง ์ด์ ๋คํธ์ํฌ๋ฅผ ํตํด ์ด๋ฏธ์ง๋ฅผ ๋ค๋ฅธ ๋ชจ๋ํฐ ๋ฐ ์ฅ์น๋ก ๋ด๋ณด๋ด์ผ ํฉ๋๋ค. ์ด๋ฅผ ์ํด ์ฐ๋ฆฌ๋ ๊ฐ๋ฅ์ฑ์ ์ฌ์ฉํ ๊ฒ์
๋๋ค
์ด๋ฅผ ์ํด์๋ ๋ ๊ฐ์ง๊ฐ ํ์ํฉ๋๋ค.
apt-get install -y make gcc ffmpeg
cd /tmp/
wget https://github.com/ccrisan/streameye/archive/master.tar.gz
tar xvf master.tar.gz
cd streameye-master/
make
make install
cat > /etc/systemd/system/streameye.service <<EOT
[Unit]
Description=streamEye
After=network.target
[Service]
Restart=always
User=ubuntu
Environment="DISPLAY=:0"
Environment="XAUTHORITY=/home/ubuntu/.Xauthority"
ExecStart=/bin/sh -c 'ffmpeg -f x11grab -s 1920x1080 -i :0 -r 1 -f mjpeg -q:v 5 - 2>/dev/null | streameye'
[Install]
WantedBy=graphical.target
EOT
systemctl enable streameye
systemctl start streameye
์ฐ๋ฆฌ ์ฌ์ง์ ๋น ๋ฅธ ์
๋ฐ์ดํธ๊ฐ ํ์ํ์ง ์๊ธฐ ๋๋ฌธ์ ์๋ก๊ณ ์นจ ๋น๋๋ฅผ ์ด๋น 1ํ๋ ์(๋งค๊ฐ๋ณ์ -r 1
) ๋ฐ ์์ถ ํ์ง: 5(๋งค๊ฐ๋ณ์ -q:v 5
)
์ด์ ๊ฐ๋ณด๋ ค๊ณ ํฉ๋๋ค
ํด๋ผ์ด์ธํธ ๋ถ๋ถ
๋ด๊ฐ ๋งํ๋ฏ์ด Raspberry Pi Model B +๋ฅผ ์ฌ์ฉํ ๊ฒ์ ๋๋ค.
์ฐ์ ์ค์น๋ฅผ ํด๋ณด์
๋ํ ๋น๋์ค ์นฉ์ ๋ ๋ง์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํด์ผ ํฉ๋๋ค. /boot/config.txt
gpu_mem=128
์ ์์คํ
์ ๋ถํ
ํ๊ณ pacman ํค๋ง์ ์ด๊ธฐํํ๋ ๊ฒ์ ์์ง ๋ง๊ณ ์ค์นํ์ญ์์ค.
pacman -Sy omxplayer
๋๋๊ฒ๋ OMXPlayer๋ X ์์ด๋ ์๋ํ ์ ์์ผ๋ฏ๋ก ์ด๋ฅผ ์ํ ๋จ์ ํ์ผ์ ์์ฑํ๊ณ ๋ค์์ ์คํํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
cat > /etc/systemd/system/omxplayer.service <<EOT
[Unit]
Description=OMXPlayer
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
Restart=always
ExecStart=/usr/bin/omxplayer -r --live -b http://your-vm:8080/ --aspect-mode full
[Install]
WantedBy=multi-user.target
EOT
systemctl enable omxplayer
systemctl start omxplayer
๋งค๊ฐ๋ณ์๋ก -b http://your-vm:8080/
์ฐ๋ฆฌ๋ ์๋ฒ์์ URL์ ์ ๋ฌํ๊ณ ์์ต๋๋ค.
๊ทธ๊ฒ ๋ค์ผ ์๋ฒ์ ์ฌ์ง์ด ์ฐ๊ฒฐ๋ ํ๋ฉด์ ์ฆ์ ๋ํ๋ฉ๋๋ค. ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ์คํธ๋ฆผ์ด ์๋์ผ๋ก ๋ค์ ์์๋๊ณ ํด๋ผ์ด์ธํธ๊ฐ ์คํธ๋ฆผ์ ๋ค์ ์ฐ๊ฒฐ๋ฉ๋๋ค.
๋ณด๋์ค๋ก ๊ฒฐ๊ณผ ์ฌ์ง์ ์ฌ๋ฌด์ค์ ๋ชจ๋ ์ปดํจํฐ์ ํ๋ฉด ๋ณดํธ๊ธฐ๋ก ์ค์นํ ์ ์์ต๋๋ค. ์ด๋ฅผ ์ํด ๋น์ ์ ํ์ํฉ๋๋ค
mode: one
selected: 0
programs:
"Monitoring Screen" mpv --really-quiet --no-audio --fs
--loop=inf --no-stop-screensaver
--wid=$XSCREENSAVER_WINDOW
http://your-vm:8080/ n
maze -root n
electricsheep --root 1 n
์ด์ ๋น์ ์ ๋๋ฃ๋ค์ ๋งค์ฐ ํ๋ณตํ ๊ฒ์ ๋๋ค ๐
์ถ์ฒ : habr.com