iTALC 2.0.2 โปรแกรมควบคุมคอมพิวเตอร์ในห้องเรียน

มาแนะนำกันอีกสักรอบสำหรับ iTALC 2.0.2 โปรแกรมควบคุมคอมพิวเตอร์ในห้องเรียน เป็นซอฟต์แวร์ชนิดโอเพนซอร์สที่บางคนก็ได้ลองใช้ในเวอร์ชั่นแรก ๆ ไปบ้างแล้ว ผมลองเข้าไปดูในเว็บไซต์ผู้สร้างโปรแกรมก็เห็นว่ายังคงอัปเดตปรับปรุงโปรแกรมกันอยู่ถึงปัจจุบัน ก็เลยสนใจลองทดสอบดูครับ iTALC ทำอะไรได้หลายอย่าง เช่น ผู้สอนสามารถ Lock หน้าจอเครื่องผู้เรียน สามารถส่งภาพหน้าจอเครื่องผู้สอนไปยังหน้าจอเครื่องผู้เรียนได้ สามารถรีโมทคอนโทรลเข้าไปเครื่องผู้เรียนได้ สั่งปิดเครื่องทุกเครื่องได้ หรือ สั่งเปิดเครื่องได้หาก BIOS พร้อมใช้งาน ดาวน์โหลดโปรแกรมได้ที่ http://italc.sourceforge.net/ ติดตั้งเสร็จจะได้ไอคอนที่หน้า Desktop ดังรูป และไอคอนที่หน้า Apps ดังรูป โปรแกรม iTALC Management Console เครื่องผู้สอน จะเรียกว่า master computer ในขั้นตอนการติดตั้งโปรแกรมที่เครื่องผู้สอน ให้เลือก component iTALC service และ iTALC master และให้เลือก Create new access keys เครื่องผู้เรียน จะเรียกว่า client computer ในขั้นตอนการติดตั้งโปรแกรมที่เครื่องผู้เรียน ให้เลือก component iTALC service แต่ไม่เลือก iTALC master และให้เลือก Import public key วิธีที่จะทำให้เครื่องผู้สอนควบคุมเครื่องผู้เรียนได้ก็คือการ export public key ซึ่งจะได้ไฟล์ชื่อ italc_public_key.key.txt ด้วยโปรแกรม iTALC Management Console นั้นเช่นกัน แล้วนำไปใส่เข้าในเครื่องผู้เรียนด้วยโปรแกรมเดียวกัน เมื่อทำขั้นตอนติดตั้งเสร็จแล้ว ก็เป็นการตั้ง classroom ว่าชื่ออะไร และมีคอมพิวเตอร์ใดบ้าง (IP) อยู่ใน classroom นี้ แล้วก็ใช้งานซึ่งการใช้งานง่ายมากเลย ผมเขียนวิธีการสำหรับ Windows 8.1 ที่นี่ครับ http://opensource.cc.psu.ac.th/โปรแกรมควบคุมคอมพิวเตอร์ในห้องเรียน และวิธีการสำหรับ Linux Mint 17.1 ที่นี่ครับ http://opensource.cc.psu.ac.th/ติดตั้ง_iTALC_บน_Linux_Mint คำถามยอดฮิตคือ แล้วมันใช้ควบคุมได้กี่เครื่อง อันนี้ผมยังไม่ได้ทดสอบครับ ฮ่า ฮ่า รอท่านทดสอบแล้วบอกผมด้วยนะครับ หวังว่าคงจะมีประโยชน์ อย่างน้อยที่สุดเอามาใช้ควบคุมเครื่องที่อยู่ในความดูแลไม่กี่เครื่องก็ใช้ได้นะ

Read More »

Dialog cannot open tty-output

dialog บน Oracle Enterprise Linux และ Ubuntu ไม่เหมือนกัน (ทำไมล่ะ…ไม่ทราบครับ) สร้างสคริปต์ชื่อ file.sh มีข้อความว่า #!/bin/bash FILE=$(dialog –ascii-lines –title “Delete a file” –stdout \ –title “Please choose a file to delete” –fselect /tmp/ 14 48) echo $FILE บน Ubuntu รันได้ผลลัพธ์ แต่บน Oracle Enterprise Linux ต้องเปลี่ยนสคริปต์มีสองแบบ แบบแรก #!/bin/sh dialog –ascii-lines –title “Delete a file” –stdout \ –title “Please choose a file to delete” –fselect /tmp/ 14 48 2>/tmp/file.tmp echo $(cat /tmp/file.tmp) แบบที่สอง #!/bin/bash FILE=$(dialog –ascii-lines –title “Delete a file” –stdout \ –title “Please choose a file to delete” –fselect /tmp/ 14 48 2>&1>/dev/tty) echo $FILE ผลลัพธ์ของทั้งสองแบบให้ผลเหมือนกันคือ จบ..วันนี้ห้วนไปหน่อย ขอให้สนุกครับ

Read More »

Shell Script : Grouping and Summation

มี Log ขนาดใหญ่ แล้ว ต้องการจะวิเคราะห์ข้อมูลของนาทีที่ผ่านมา เลือกเฉพาะรูปแบบที่ต้องการด้วยคำสั่ง grep ‘Apr 28 10:59’ /var/log/mail.log | grep ‘postfix/qmgr’ |grep ‘nrcpt=’ |grep -v ‘from=<>’ ได้ผลมาประมาณนี้ ต้องการเอาข้อมูล X และ Y จากรูปแบบนี้ from=<X> และ nrcpt=Y ใช้ความรู้จาก Shell Script: Extract exact pattern from string ใช้คำสั่งต่อไปนี้ grep ‘Apr 28 10:59’ /var/log/mail.log | grep ‘postfix/qmgr’ |grep ‘nrcpt=’ |grep -v ‘from=<>’|sed -n ‘s/.*\sfrom=<\(.*\)>.*\snrcpt=\(.*\)\s(.*/\1:\2/p’ ได้ผลมาประมาณนี้ ต้องการจับกลุ่มตาม คอลัมน์ที่ 1 แล้วหาผลรวมของคอลัมน์ที่ 2 ในแต่ละกลุ่ม ใช้คำสั่ง grep ‘Apr 28 10:59’ /var/log/mail.log | grep ‘postfix/qmgr’ |grep ‘nrcpt=’ |grep -v ‘from=<>’|sed -n ‘s/.*\sfrom=<\(.*\)>.*\snrcpt=\(.*\)\s(.*/\1:\2/p’ | awk ‘BEGIN{FS=OFS=”:”}{a[$1]+=$2}END{ for (i in a) print i,a[i]}’ ได้ผลดังนี้ Reference: http://unix.stackexchange.com/questions/169215/group-by-and-sum-in-shell-script-without-awk

Read More »

Shell Script : Extract exact pattern from string

มี string ดังนี้ ในตัวแปร line line=’Apr 18 06:04:57 webmail squirrelmail: Message sent via webmail: by username.s (psu.ac.th) at 41.203.69.5 on 04/17/2015 23:04:57: Message-ID: 98f9739438686e127bcb8547fea7ed82.squirrel@webmail.psu.ac.th Total 9 recipients Message-ID: 98f9739438686e127bcb8547fea7ed82.squirrel@webmail.psu.ac.th’ ต้องการค่าที่อยู่ระหว่าง Total … recipients ใช้คำสั่งนี้ total=$(echo $line | sed -n ‘s/.*Total \([[:digit:]]*\) recipients.*/\1/p’) ตัวแปร $total จะมีค่า 9 ตามที่ต้องการ อธิบาย คำสั่ง sed -n ‘s/PATTERN/&/p’ จะแสดงข้อความที่ตรงกับ Pattern เท่านั้น ไม่แสดงข้อความอย่างอื่่น Reference: http://www.grymoire.com/Unix/Sed.html#uh-15

Read More »

เทคนิคการเพิ่ม user ในระบบ linux คราวละมากๆ

มีผู้สนใจ linux ได้สอบถามเข้ามาทางอีเมลว่า จะเพิ่ม user ในระบบ linux คราวละมากๆ พอจะมี shell scripts ให้นำไปใช้งานหรือเปล่า ผมก็มีอยู่แล้ว แต่ก็ปรับแต่งเล็กน้อย shell script นี้มีดังนี้ 1. makeusername.sh เพื่อสร้างไฟล์รายชื่อตามจำนวนที่ต้องการ เลขเริ่มต้น min และสิ้นสุด max 2. bulkuseradd.sh เพื่อเพิ่ม user และ password แบบ random และสร้างไฟล์ .csv เก็บ user:password นำไปพิมพ์แจก user ได้ 3. bulkuserdel.sh เพื่อลบ user ผมเขียนไว้ในเว็บไซต์ opensource.cc.psu.ac.th หัวข้อ เทคนิค+scripts ( http://opensource.cc.psu.ac.th/เทคนิคการเพิ่ม_user_ในระบบ_linux_คราวละมากๆ)

Read More »