« 2005/12, Vol. 119 PChome Magazine | 首頁 | 監視、備份所有通過 sendmail 的郵件 »
2005年12月08日
利用 vncsnapshot 一次監看多個電腦畫面
流程
- 在被監視的電腦上安裝 VNC Server, 並開放 tcp 5900 port
- 於 Linux 電腦上安裝 vncsnapshot, 定時截取電腦畫面
- 管理者以瀏覽器連入 Web Server 監看電腦畫面
環境說明:
Personal Computers
Linux (以 Fedora Core Linux為例)
檔案 / 路徑 說明 /usr/local/bin/vncsnapshot vncsnapshot 執行檔 /usr/local/bin/vncpasswd 產生 VNC Server 連線密碼檔的程式 /usr/bin/convert ImageMagick 圖型轉檔程式 (製作縮圖用) /root/vncsnapshot.sh 自行撰寫的截圖批次檔 (shell script) /root/vnc.passwd VNC Server 連線密碼檔 /root/vnc.hosts 被監視的使用者清單 /var/www/html/vncsnapshot/ 使用者電腦畫面與網頁置放的地方
建置 Linux 監控環境:
下載 vncsnapshot
解包後將 vncsnapshot 與 vncpasswd 複製到 /usr/local/bin/ (這兩個檔案在解包後的 ./bin 路徑中)
cd /root
vncpasswd vnc.passwd
vi vnc.hosts
mary
john
bill
steven
bob
tomps. 以上這些 hostname 所對應的 ip 須在 /etc/hosts 中先行設定
vi vncsnapshot.sh
#!/bin/bash
cd /var/www/html/vncsnapshot
for i in `cat /root/vnc.hosts`; do
/usr/local/bin/vncsnapshot -passwd /root/vnc.passwd -quiet $i:0 $i.jpg > /dev/null 2>&1
if [ $? == 0 ]; then
/usr/bin/convert $i.jpg -resize 320x240 "$i"_thumb.jpg
else
cp no_signal.jpg "$i"_thumb.jpg
fi
done程序說明:
迴圈讀入 vnc.hosts 清單作為連線與存檔依據, 以 vnc.passwd 密碼連線各 VNC Server, 截取 vnc_server:0 (0 是 Display Number), 若成功則將截取到的畫面製作成 320x240 的縮圖, 若無法截取畫面則以 no_signal.jpg 這張圖作為縮圖
ps. 需另外做一張 320x240 的 JPEG 圖檔, 取名 "no_signal.jpg" 作為 "無法連線該PC" 的示意圖
vi /var/www/html/vncsnapshot/index.html (每 60 秒自動更新網頁)
<html>
<head><meta http-equiv="Refresh" content="60; URL=index.html">
<style>
img {border:0px}
</style></head>
<body><table width="100%">
<tr>
<td align="center"><a href="mary.jpg"><img src="mary_thumb.jpg" width="320" height="240"></a><br>Mary</td>
<td align="center"><a href="john.jpg"><img src="john_thumb.jpg" width="320" height="240"></a><br>John</td>
<td align="center"><a href="bill.jpg"><img src="bill_thumb.jpg" width="320" height="240"></a><br>Bill</td>
</tr>
<tr>
<td align="center"><a href="ken.jpg"><img src="ken_thumb.jpg" width="320" height="240"></a><br>Ken</td>
<td align="center"><a href="bob.jpg"><img src="bob_thumb.jpg" width="320" height="240"></a><br>Bob</td>
<td align="center"><a href="tom.jpg"><img src="tom_thumb.jpg" width="320" height="240"></a><br>Tom</td>
</tr>
</table></body>
</html>vi /etc/crontab (每分鐘自動截取 VNC Server 畫面)
*/1 * * * * root /root/vncsnapshot.sh
啟用瀏覽器監看畫面
後記
- 可於監視網頁上置入 http://vnc.server.ip:5800 進行連結, 但要先開啟被控端 (VNC Server) 的 Java Viewer 功能與 tcp 5800 port
- Windows 系統上可安裝 PS Tray Factory 之類的軟體, 以隱藏 VNC Server 的 System Tray Icon
- 連結: ImageMagick convert 指令說明
- 連結: RealVNC vs. Linux
--- 2006.01.19 補充: Screen Capturing and Playback Using VNC
Posted by Jamyy at 2005年12月08日 09:33
Trackback Pings
TrackBack URL for this entry:
http://cha.homeip.net/cgi-bin/mt/mt-tb.cgi/149
Comments
小米,問一個題外話。
你家的無線網路,無線基地台和無線網卡,各是那個牌子,好用嗎..我最近也想將家中的網路搞成無線的..
Posted by: 馬吉 at 2005年12月14日 15:46
馬吉,我之前用的基地台是 So-net 送的 "可瑞加" (Corega),因老舊會當機,所以換成華碩送的 WL-520g。
至於無線網卡,NB 就用內建的無線網卡 (Intel PRO/Wireless),PC 則用之前 "可瑞加" 的 USB 無線網卡。
基本上只要購買品牌信譽良好的基地台和無線網卡,就能在家搞一個好用的無線網路環境,但是記得要購買 802.11g (54M) 規格的,速度快且訊號穩。
目前也有標榜 108M 傳輸速度的產品,不過一般都要搭配相同型號的基地台和網卡才能以 108M 的速度連結。至於 108M 的實際傳輸效能可參考這篇: /blog/archives/2004/11/108mbps_ccceec.html
對了,別忘了為你的無線網路加密,才不會被隔壁鄰居用爽的。
Posted by: 小米 at 2005年12月14日 16:36
