Category: Desktop Computer (PC, linux, windows, mac)

  • วิธีนำไฟล์ iso Linux Mint ลง USB Flash Drive ด้วยโปรแกรม Rufus for Windows

    วิธีนำไฟล์ iso Linux Mint ลง USB Flash Drive ด้วยโปรแกรม Rufus for Windows

    เป็นการทำให้เราสามารถ boot Linux Mint ด้วย USB Flash Drive แทนการ Boot จากแผ่น DVD

     

    ขั้นตอน

    1.ดาวน์โหลด Linux Mint ISO file จากที่นี่ http://www.linuxmint.com/ (หรือในม.อ.ที่นี่ https://licensing.psu.ac.th)

    2.ดาวน์โหลดโปรแกรม Rufus จากที่นี่ https://rufus.akeo.ie/

    Rufus : Create bootable USB drives the easy way

    3.นำไฟล์มาวางไว้ที่ Desktop ใช้ได้โดยไม่ต้องทำขั้นตอนติดตั้งโปรแกรม

    rufus

    4.เสียบ USB Flash Drive

    5.เปิดโปรแกรม Rufus

    rufus02

    5.คลิกเลือก ISO file ที่ดาวน์โหลดมา และคลิก Start

    rufus03

    6.คลิก OK ยืนยันการใช้ค่าที่แนะนำ

    rufus04

    7.รอจนเสร็จ

    rufus05

  • psuautosigned for windows?

    เช้าของวันที่ 14 ธันวาคม 2558 คุณ คณกรณ์ post ถามไว้ในกลุ่ม PSU Sysadmin บน facebook ว่า

    เรียนสอบถาม (จะได้ไม่ต้องทำซ้ำ) บน windows 10 ใครมี script ให้ทำการ auto authentication บ้างไม๊ครับ บางเครื่องต้องเปิดค้างไว้ข้ามวัน จะได้เข้ามาดูทางไกลได้ น่ะครับ ตอนนี้ใช้ team viewer ก็ยังติดเรื่องนี้อยู่ดี

    ขอบคุณครับ

    มีคุณ Thanongdat Noosrikaew กับคุณ ป้อม เภสัชฯ (Siripong Siriwan)  มาเสนอทางเลือกในการแก้ปัญหา แต่ดูเหมือนจะไม่ตรงกับที่เจ้าของคำถามต้องการสักเท่าไหร่
    ผมอ่านแล้วก็ตั้งคำถามกับตัวเองว่า แล้วผมจะต้องตอบคำถามนี้ ผมมีทางเลือกอะไรบ้าง?
    คำตอบที่มีให้กับตัวเองก็คือ หากินกับของเก่าที่เคยทำเอาไว้แล้ว … คือ… มีคำสั่งคำสอน ที่ถ่ายทอดมาตั้งแต่ยุคโบราณกาลครั้งเก่าโพ้น ในชนเผ่า sysadmin ว่า sysadmin ที่ดีจะเป็นคนขี้เกียจ อะไรที่ได้ทำไว้แล้ว และยังเอามาใช้ได้ ก็ไม่ควรที่ทำขึ้นมาใหม่ … อันนั้น เป็นเรื่องที่ผมได้ยินมานะครับ จะเชื่อถือได้แค่ใหนก็แล้วแต่ท่านทั้งหลายจะได้พิจารณากัน

    ผมก็เลยพยายามทำตัวเป็น admin ขี้เกียจ .. เฮ่ย ไม่ใช่ เป็น admin ที่ดี ซึ่ง … ก็คือ ขี้เกียจน่ะแหละ -_-”
    มีอะไรที่เคยทำเอาไว้แล้ว ก็เอามา recycle ขายใหม่ ถ้าขายได้ … เราต้องช่วยกันอนุรักษ์สิ่งแวดล้อม … เกี่ยวกันใหม?

    คำตอบแรกที่ผมคิดได้ก็คือ

    ถ้า ยังหา solution บน Windows โดยตรงไม่ได้ และ ไม่รังเกียจที่จะติดตั้ง cygwin เพิ่มเข้าไปบนตัว windows ผมคิดว่า psuautosigned ที่เขียนไว้สำหรับ Linux ก็น่าจะพอดัดแปลงให้ใช้งานบน Windows ได้ครับ ฟังก์ชัน หลักๆ ต้องการแค่ shell ซึ่งอาจจะเป็น cmd.exe ของ windows เองก็ได้ กับโปรแกรมที่ชื่อว่า curl ครับ โปรแกรมอย่างอื่นเป็นแค่ตัวประกอบ แต่ทั้งหมด รวมทั้ง shell และ curl มีอยู่ใน cygwin อยู่แล้ว

    ผมไม่มีเครื่องที่ใช้งาน windows 10 ให้ลอง ถ้าจะช่วยทดสอบให้ ผมก็ยินดีที่จะแก้ script ให้รองรับ windows 10 ด้วยครับ

    โปรแกรม psuautosigned ที่ผมอ้างถึงคือ ตัวนี้ ซึ่งเคยเขียนถึงเอาไว้แล้ว ที่นี่ , ที่นี่, ที่นี่, และ ที่นี่ … ซึ่ง มาคิดดูอีกที เยอะแฮะ กับ script ตัวเดียวทำไมจะต้องเขียนบันทึกเกี่ยวกับมันหลายบันทึกด้วยก็ไม่รู้ จะว่าไป บันทึกนี้เอง ก็นับเป็นหนึ่งในชุดนี้ด้วยแหละ

    ส่วน cygwin ก็คือ https://www.cygwin.com/ เป็น tools สำหรับ Windows ให้สามารถใช้งานได้เหมือน(หรือใกล้เคียงมากๆ) กับการใช้ชีวิตอยู่บน Unix Command Line … ซึ่งเนื่องจาก script psuautosigned พัฒนาและใช้งานบน Linux ถ้าจะให้เอาไปใช้งานบนเครื่อง Windows 10 ได้ตามความต้องการของคุณหนุ่ม ก็ต้องการเครื่องมือเหล่านี้ มาช่วยด้วย

    นั่นหมายถึงว่า ถ้าจะเอาไปใช้ จะต้องติดตั้งโปรแกรมเพิ่ม และ ถึงแม้ว่า cygwin จะสร้างสภาพแวดล้อมแบบ Unix บนเครื่อง Windows เจ้าตัว script ที่ผมเขียน และ ทดสอบบน Debian Linux ก็จะยังไม่สามารถเอาไปใช้งานได้ทันที มันจะต้องการแก้ไขบางส่วนแน่ ๆ

    พอนั่งทบทวนไปสักพักว่ามีส่วนใหนที่จะต้องแก้ไขบ้าง จากความจำที่ค่อนข้างลางเลือนในส่วนที่เกี่ยวข้องกับ cygwin เพราะไม่ได้ใช้ Windows นานมาก และ cygwin ก็ไม่ได้แต่นานมากเช่นเดียวกัน และ มีความขี้เกียจ เอ๊ย! ผิด! มีคุณลักษณะที่ดีของ sysadmin เป็นตัวกระตุ้น … ผมก็ได้ idea ใหม่แจ่มแจ๋วขึ้นมา

    นี่คือสิ่งที่ผม post reply ตามไปจาก reply ที่แล้ว

     

    หรือ อีกทางนึง ถ้ามี resource บนเครื่อง windows 10 เหลือเฟือ และไม่รังเกียจที่จะเสีย เนื้อที่ harddisk สัก 512MB และ memory สัก 32MB ก็ติดตั้ง virtualbox (เอ่อ เนื้อที่ harddisk กับ ram ข้างต้นไม่รวมของ virtualbox) และติดตั้ง linux ตัวใหนก็ได้แบบ minimal (แต่แนะนำ debian) ลงไปต้องการแค่ bash shell, basic linux utils และ ติดตั้งโปรแกรม curl เพิ่ม กำหนดให้ interface ของ VM เป็นแบบ NAT ก็จะสามารถใช้โปรแกรม psuautosigned สำหรับการ authen จากตัว VM ซึ่งเมื่อใช้งานเป็นแบบ NAT ก็จะ authen ให้กับ host ที่เป็น windows 10 ด้วยเลย วิธีการนี้ ก็ไม่จำเป็นที่จะต้องดัดแปลง psuautosigned ใดๆทั้งสิ้นครับ

    และ

    ถ้า เลือกใช้วิธีการติดตั้ง debian บน VM ตอนติดตั้งจะต้องให้ memory ของเครื่องซํก 256 หรือ 512 MB ก่อนนะครับ เพราะตอนตั้ง มันจะใช้ RAM ค่อนข้างเยอะ ถ้ามี memory น้อยเกินไปจะติดตั้งไม่สำเร็จ แต่ พอติดตั้งเสร็จแล้ว ก็ค่อยลด memory ให้เหลือเท่าที่จำเป็นต้องใช้ ผมไม่แน่ใจว่าตอนนี้มันต้องการเท่าไหร่ แต่ถ้าไม่มีอะไรอย่างอื่นที่ไม่จำเป็นต้องใช้ run อยู่เลย ผมคิดว่า 32MB ก็เหลือเฟือครับ เครื่องของผมที่ run linux สมัยแรกๆ ใช้ RAM แค่ 8MB ก็ run ได้โดยไม่แตะ swap ในตอน boot และใช้แค่ console ไม่ได้ run X-windows

    ข้อดีที่สุดของวิธีการนี้ ถ้าคุณหนุ่มจะเอาไปใช้ก็คือ จะต้องไป download และ ติดตั้งโปรแกรม virtualbox จาก ที่นี่ แล้วก็สร้าง Virtual Machine ที่เป็น Linux ขึ้นมา ซึ่งถ้า Linux ที่เป็น Debian ตามที่ผมแนะนำ ตัว script ก็สามารถที่จะทำงานได้เลย โดยไม่ต้องแก้ไขใดๆทั้งสิ้น ปล่อยภาระของการแก้ปัญหาเรื่องนี้ ให้เป็นการติดตั้ง Linux บน Virtual Box ของคุณหนุ่มไป ส่วนผม อยู่เฉยๆ ทำตัวขี้เกี… เอ๊ย ทำตัวเป็น sysadmin ที่ดี ที่มีทั้งหลังที่ยาว และ ขนตามตัวยาวเฟื้อยต่อไป 😉

    อันที่จริง วิธีการนี้ จะเป็นการใช้ psuautosigned script สำหรับการ signed in หรือ login สำหรับตัวเครื่อง Virtual Machine ที่เป็น Linux แต่ trick สำหรับกรณีนี้ก็คือว่า ถ้ากำหนดให้ชนิดของ Network Interface ของ Virtual Box เป็นแบบ NAT ตัว Host OS ของเครื่อง ซึ่งในกรณีนี้ก็คือ Windows 10 จะส่งข้อมูลของการติดต่อ ของ Linux VM ไปยังเครื่องอื่นๆด้วย IP Address ของเครื่อง Windows 10 เอง เมื่อ Linux VM ไป authentication กับเครื่อง Palo Alto ก็จะใช้ address ของ Windows 10 ก็เลยเป็นการ authentication ให้กับตัว Windows 10 ซึ่งเป็น host computer ไปด้วยกันเลย ทำให้ไม่จำเป็นจะต้องใช้การ authen ใดๆจาก Windows 10 เอง

    และ ถ้าจะว่าไป ในกรณีนี้ ไม่จำเป็นที่จะต้องใช้ VirtualBox ก็ได้ อาจจะใช้ VMWare หรือ Virtualization อื่นๆที่สามารถใช้งานได้บนเครื่อง Windows ก็สามารถืำได้แบบเดียวกัน ข้อสำคัญก็คือ ชนิดของเครือข่ายที่จะให้ Linux VM ติดต่อออกสู่ภายนอก จะต้องเป็นแบบ NAT ก็ทำได้แบบเดียวกัน เพียงแต่ผมไม่เคยใช้งาน Virtualization Technology อื่นๆ ก็เลยไม่แนะนำครับ เพราะคงตอบคำถามเกี่ยวกับวิธีการ setup network ให้กับ virtual machine ไม่ได้

    โดยหลักๆ วิธีการแก้ปัญหา ของผมก็คงมีแค่นี้แหละ

    แต่หลังจากตอบคำถามไปแล้ว ก็เลยกลับไปดู script ที่เคยเขียนไว้อีกหน่อยนึง อันที่จริง ก็เขียนเอาไว้นานจนจำแทบไม่ได้เหมือนกันว่าได้เขียนอะไรไว้บ้าง แต่พอลองเอามาไล่ดูและ ตัดเอาเฉพาะส่วนที่จำเป็นออก ก็ได้ script สำหรับการใช้งาน บน Linux ประมาณนี้ครับ

    #!/bin/bash

    USER=”YOUR-PASSPORT-ID”
    PASSWD=”YOUR-PASSPORT-PASSWORD”
    COOKIES=”cookies.txt”

    /usr/bin/curl \
    –connect-timeout 10 \
    –max-time 10 \
    -s -k \
    -L ‘https://cp-ufw.psu.ac.th:6082/php/uid.php?vsys=1‘ \
    -c $COOKIES \
    -b $COOKIES \
    -d user=$USER \
    –data-urlencode “passwd=$PASSWD” \
    -d ok=Login

    และนี่คือคำอธิบายที่ผม post ตามไป

    อันนี้ ไม่มีการตรวจสอบอะไรทั้งสิ้น และมีการเรียกใช้งานเพียงครั้งเดียว ซึ่งมันก็จะ timeout ไปตามช่วงเวลา ถ้าจะให้มัน authen ได้ตลอด ก็อาจจะเรียกใช้จาก crontab ทุกๆช่วงเวลาก่อนที่มันจะ timeout ไป ผมไม่แน่ใจว่าค่า timeout ล่าสุดจะเป็นเท่าไหร่ แต่ที่ผมใช้อยู่ผมให้มัน loop ไป check login ว่า authenticate ไปแล้วหรือเปล่า ทุกๆ 10 นาที URL ซึ่งใช้ตรวจสอบการ login จะต่างไปจากนี้ แต่ผมคิดว่า ถ้าสั่งให้ authen ใหม่ ผลก็น่าจะไม่ต่างกัน script ข้างบน ถ้าจะให้ใช้งานได้จาก windows 10 ก็ คงเปลี่ยนบรรทัดแรกให้ไป อ้างอิง cmd.exe หรือ เปลี่ยนเป็นชื่อเป็น .bat และ path ที่ใช้อ้างอิง /usr/bni/curl ก็เปลี่ยนไปใช้ของ Windows

    ส่วน parameter ของ curl ทั้งหมด ก็ลบเครื่องหมาย backslash ของทุกบรรทัดออก ให้เหลือคำสั่งแค่บรรทัดเดียวก็น่าจะใช้งานได้แล้วครับ

    อ้อ เปลี่ยน USER กับ PASSWD แล้วก็ COOKIES (ชื่อไฟล์สำหรับเก็บ cookeis) ให้เป็นค่าที่เหมาะสมด้วยครับ

    เนื่องจากโปรแกรมยังไม่ได้ทดสอบกับเครื่องที่เป็น Windows 10 จริงๆ ก็เลย ให้แนะนำตามในคำอธิบาย แต่ในแง่ของการติดตั้งโปรแกรมเพิ่ม ตัว script ตัวนี้ น่าจะเป็นตัวที่มีขนาดเล็ที่สุดแล้วครับ code สามารถ download ได้ ที่นี่

  • Using KMS Manually to Activate Software

    • ต้องแจ้ง IP Address ที่ต้องการ activate ผ่าน KMS Server ของมหาวิทยาลัยที่ support@psu.ac.th
    • สำหรับ Windows ให้สร้าง batch script ชื่อ WindowsKMS.bat ไว้ที่ C:\ (drive ที่ติดตั้ง Windows) มีข้อความดังนี้
      สำหรับ Windows Vista/7/8/8.1/2008/2008R2/10/11/2012/2012R2/2016/2019/2022
      CD %windir%\System32
      cscript slmgr.vbs /skms kms1.psu.ac.th
      cscript slmgr.vbs /ato
    • สำหรับ Microsoft Office/Visio/Project ให้สร้างแฟ้ม OfficeKMS.bat ไว้ที่ C:\ (drive ที่ติดตั้ง Office) มีข้อความดังต่อไปนี้
      rem Office 2021, Office 2019, Office 2016:
      CD \Program Files\Microsoft Office\Office16
      CD \Program Files (x86)\Microsoft Office\Office16
      rem Office 2013:
      CD \Program Files\Microsoft Office\Office15
      CD \Program Files (x86)\Microsoft Office\Office15
      rem Office 2010:
      CD \Program Files\Microsoft Office\Office14
      CD \Program Files (x86)\Microsoft Office\Office14
      cscript ospp.vbs /sethst:kms1.psu.ac.th
      cscript ospp.vbs /act

      ทั้งนี้ต้องติดตั้ง Office ด้วย Next technology เท่านั้นคือไม่มีการแก้ไข path ที่ใช้ติดตั้ง Office มิฉะนั้นต้องชี้ path ที่ถูกต้องของแฟ้ม ospp.vbs เอง
    • เสร็จแล้วในคลิกขวาที่แฟ้ม WindowsKMS.bat และแฟ้ม OfficeKMS.bat แล้วเลือก run as administrator
    • สำหรับห้องปฏิบัติการหรือเครื่องที่นานๆ (เกิน 30 วัน) เปิดใช้สักครั้งอาจจะต้องมีการเพิ่มหมายเลขผลิตภัณฑ์ลงในสคริปต์ด้วย หลังไมค์มานะครับ….
    • windows Server ก็ใช้ script เดียวกันนี้สำหรับการ activate
    • จบ ขอให้สนุกครับ
  • รีโมตเดสก์ทอปจากลินุกซ์ไปลินุกซ์

    การทำรีโมตเดสก์ทอป (หรือรีโมตแอคเซส) จากลินุกซ์ไปลินุกซ์ เราก็ต้องเข้าใจก่อนว่า โปรโตคอลที่ใช้ในการทำรีโมตเดสก์ทอปนั้น ที่นิยมคือ VNC และ RDP โดยที่ VNC ย่อมาจาก Virtual Networking Computing จะใช้ TCP port 5900 และ RDP ย่อมาจาก Microsoft Remote Desktop Protocol จะใช้ TCP port คือ 3389 ดังนั้นเราก็ต้องเลือกว่าจะใช้แบบใดระหว่าง VNC และ RDP

    remmina-00-logoบทความนี้ทดสอบด้วย Linux Mint 17.2 MATE โดยค่าดีฟอลต์ในการติดตั้ง Linux Mint นั้นจะมีโปรแกรมที่เรียกว่า Desktop Sharing มาให้แล้วซึ่งจะทำหน้าที่เป็น VNC server (ชื่อโปรแกรมคือ Vino-server) แต่ยังขาดโปรแกรม client ที่จะต้องติดตั้งเพิ่ม โปรแกรมชื่อ rammina 1.2.0-rcgit.4 เป็น client สำหรับใช้งานได้ทั้ง VNC และ RDP จึงถูกเลือกมาใช้งาน

     

    Linux -> Linux

    สมมติมีเครื่อง Linux (เครื่อง A) จะทำรีโมตเดสก์ทอปไปยังเครื่อง Linux อีกเครื่อง (เครื่อง B) เราจะต้องทำอย่างไรบ้าง

    การทำรีโมตเดสก์ทอปเมื่อเลือกใช้ VNC

    มีขั้นตอนดังนี้

    1. ที่เครื่อง B ตั้งค่า Desktop Sharing ดังนี้
    คลิก Menu > Preferences > Desktop Sharing > เลือก Allow other users to view your desktop และ Allow other users to control your desktop > เลือก Require the user to enter this password (ตรงนี้เรียกว่า VNC password)

    remmina-01-desktop-sharing

    2. ที่เครื่อง A ติดตั้งโปรแกรม Client ชื่อ rammina ดังนี้
    เปิด Terminal เพื่อพิมพ์คำสั่ง โดยคลิก Menu > เลือก Terminal
    และทำคำสั่งช้างล่างนี้

    sudo apt-add-repository ppa:remmina-ppa-team/remmina-next
    sudo apt-get update
    sudo apt-get install remmina libfreerdp-plugins-standard
    sudo apt-get install remmina-plugin-vnc

    พิมพ์ exit เพื่อปิด Terminal
    จากนั้นต้องทำการ logout 1 ครั้ง แล้ว login กลับเข้ามาใหม่

    3. ที่เครื่อง A เปิดโปรแกรม Client ชื่อ rammina เพื่อทำรีโมตเดสก์ทอปไปยังเครื่อง B ดังนี้
    คลิกปุ่ม Menu > เลือก Internet > เลือก Remmina > เลือก Protocol เป็น VNC > ใส่ค่า IP Address ของ Server > คลิก Quick Connect > ใส่ VNC password > คลิก OK > เลือก Toggle fullscreen mode

    remmina-02-quick-connect-vnc remmina-03-vnc-password

    อาจจะสร้างเป็น connection profile ที่ระบุค่าเพิ่มเติมที่จะใช้ในการ connect ก็ให้คลิกที่ไอคอน Create a remote desk file แล้วใส่ค่าที่ต้องการ เช่นตั้งค่า Color depth เป็นค่า High color (16 bit) และตั้งค่า Quality เป็น Medium เป็นต้น

    remmina-04-create-conn-profile remmina-05-conn-profile

     

    การทำรีโมตเดสก์ทอปเมื่อเลือกใช้ RDP

    เนื่องจาก RDP เป็นโปรโตคอลของ Microsoft ทางฝั่ง Linux จึงสร้าง xrdp ขึ้นมา support โดยที่ xrdp จะใช้งานผ่าน xvnc

    มีขั้นตอนดังนี้

    1. ที่เครื่อง B ติดตั้งโปรแกรม xrdp และ tightvncserver ดังนี้
    เปิด Terminal เพื่อพิมพ์คำสั่ง โดยคลิก Menu > เลือก Terminal
    และทำคำสั่งช้างล่างนี้

    sudo apt-get install xrdp tightvncserver

    พิมพ์ exit เพื่อปิด Terminal

    2. ที่เครื่อง A ติดตั้งโปรแกรม Client ชื่อ rammina ดังนี้
    เปิด Terminal เพื่อพิมพ์คำสั่ง โดยคลิก Menu > เลือก Terminal
    และทำคำสั่งช้างล่างนี้

    sudo apt-add-repository ppa:remmina-ppa-team/remmina-next
    sudo apt-get update
    sudo apt-get install remmina libfreerdp-plugins-standard
    sudo apt-get install remmina-plugin-rdp

    พิมพ์ exit เพื่อปิด Terminal
    จากนั้นต้องทำการ logout 1 ครั้ง แล้ว login กลับเข้ามาใหม่

    3. ที่เครื่อง A เปิดโปรแกรม Client ชื่อ rammina เพื่อทำรีโมตเดสก์ทอปไปยังเครื่อง B ดังนี้
    คลิกปุ่ม Menu > เลือก Internet > เลือก Remmina > เลือก Protocol เป็น RDP > ใส่ค่า IP Address ของ Server > คลิก Quick Connect > ตอนนี้จะเข้าหน้าต่าง Login to xrdp > Module เลือก sesman-Xvnc > ใส่ username และ password > คลิก OK

    remmina-06-quick-connect-rdp

    remmina-07-connect-xrdp

     

    คำสั่งที่ใช้ในการตรวจสอบว่ามี VNC และ RDP เปิดบริการ

    sudo netstat -tanp -4 | grep LISTEN

    remmina-08-listen-port

     

    อ้างอิง
    Linux Remote Desktop Access with VNC
    http://www.stuartellis.eu/articles/vnc-on-linux/

    FreeRDP/Remmina
    https://github.com/FreeRDP/Remmina/wiki

  • รีโมตเดสก์ทอปจากลินุกซ์ไปวินโดวส์และในทางกลับกัน

    ผมคิดว่าหลาย ๆ คน คงจะรู้อยู่แล้วนะว่า remote desktop นั้นเป็นวิธีที่เข้าไปใช้งานเครื่องที่ไม่ได้อยู่ตรงหน้าเรา อาจวางอยู่ข้าง ๆ ก็ได้ หรือ วางอยู่ไกลออกไปที่อีกห้องนึง ถ้าเรามีเครื่องที่เป็น Windows 1 เครื่อง และเรามี Linux 1 เครื่อง แล้วเราต้องการทำรีโมตเดสก์ทอปจาก Linux ไป Windows หรือบางทีเราก็อาจต้องการทำรีโมตเดสก์ทอปจาก Windows ไป Linux จะทำอย่างไร

    บทความนี้ ผมทดสอบด้วย Linux Mint 17.2 MATE และ Windows 10 แต่หากใครใช้ Ubuntu desktop ก็ได้นะเพราะ Linux Mint นั้นก็คือ Ubuntu ที่ได้รับการปรับแต่งใหม่ ผมทดสอบโดยเลือกใช้โปรโตคอล RDP ในการทำรีโมตเดสก์ทอป

    หลังจากค้นหาใน Google search ก็พบบทความที่นำมาใช้งานได้จริง ขอสรุปสั้น ๆ ดังนี้ครับ ถ้าจะทำรีโมตเดสก์ทอปไปยัง Windows ได้นั้น ที่ Windows ต้องตั้งค่าอนุญาตในหัวข้อ Allow remote access และถ้าจะทำรีโมตเดสก์ทอปไปยัง Linux ได้นั้น ที่ Linux ต้องติดตั้งโปรแกรมเพิ่ม คือ xrdp และ tightvncserver โปรแกรมที่ใช้สำหรับทำรีโมตเดสก์ทอปจาก Linux ไปยัง Windows คือ ติดตั้งโปรแกรม rammina พร้อมด้วย rammina plugin for RDP ส่วนโปรแกรมที่ใช้สำหรับทำรีโมตเดสก์ทอปจาก Windows ไปยัง Linux คือ รันโปรแกรม Remote Desktop Connection ที่มีอยู่แล้วบน Windows

    ขั้นตอนอย่างละเอียด

    Linux -> Windows

    อัปเดตข้อมูลในหน้านี้เพิ่มเติมดังนี่้: โปรดตรวจสอบ Windows 10 ล่าสุดว่าได้แก้ไขให้สามารถทำ remote desktop ด้วย Azure AD Credential ได้แล้วหรือไม่ (ณ วันที่ 15 มกราคม 2559 ยังทำไม่ได้) อ้างอิงจาก Windows 10 Remote Desktop connection using Azure AD Credentials

    มีขั้นตอนดังนี้

    1. ที่ Windows คลิกปุ่มขวาที่ Start > เลือก Control Panel > เลือก System and Security > เลือก Allow remote access > ใต้กรอบ Remote Desktop ให้เลือก Allow remote connections to this computer และมี checkbox ที่ Allow connections only

    xrdp-01-windows10allowremoteaccess

    2. ที่ Linux คลิกปุ่ม Menu > เลือก Software Manager (ใส่รหัสผ่านด้วย) > ใส่คำค้นหาว่า remmina > ดับเบิลคลิก remmina > เลือก Install > กลับไปหน้าก่อนหน้านี้ > ดับเบิลคลิก remmina-plugin-rdp

    xrdp-02-linux-rdp-remmina xrdp-03-linux-rdp-remmina

    หากต้องการให้ได้โปรแกรม remmina เวอร์ชั่นใหม่ ให้ทำขั้นตอนด้วย command line ดังนี้
    sudo apt-add-repository ppa:remmina-ppa-team/remmina-next
    sudo apt-get update
    sudo apt-get install remmina remmina-plugin-rdp libfreerdp-plugins-standard

    3. ที่ Linux คลิกปุ่ม Menu > เลือก Internet > เลือก Remmina > เลือก Protocol เป็น RDP > ใส่ค่า IP Address ของ Server > คลิก Quick Connect > ช่อง User name ใส่ Windows user name ที่ใช้ > ช่อง Password ใส่ Password ของ Windows > ช่อง Domain เว้นว่างไว้ > คลิก OK > เลือก Toggle fullscreen mode

    xrdp-04-linux-rdp-remmina xrdp-05-linux-rdp-remmina xrdp-06-linux-rdp-remmina

    Windows -> Linux

    มีขั้นตอนดังนี้

    1. ที่ Linux คลิกปุ่ม Menu > เลือก Software Manager (ใส่รหัสผ่านด้วย) > ใส่คำค้นหาว่า xrdp > ดับเบิลคลิก xrdp > เลือก Install > กลับไปหน้าก่อนหน้านี้ > ใส่คำค้นหาว่า tightvncserver > ดับเบิลคลิก tightvncserver > เลือก Install

    xrdp-07-linux-install-xrdp xrdp-07-linux-install-tightvncserver

    แก้ไขบล็อกเมื่อ 3 กุมภาพันธ์ 2560

    ทดสอบแล้วพบว่า ubuntu 16.04 ใช้งานในเรื่อง xrdp ทันทีไม่ได้ ต้องเพิ่ม Desktop Environment อีกอัน เลือกใช้ Mate-Desktop โดยต้องติดตั้งเพิ่มโดยเปิดหน้าต่าง Terminal แล้วพิมพ์คำสั่ง 2 บรรทัด ดังนี้

    sudo apt-get update

    sudo apt-get install mate-core mate-desktop-environment mate-notification-daemon

    อ้างอิงที่มา: 

    XRDP – How to install XRDP on Ubuntu 16.04 – Easy Way March 10, 2016 Griffon

    http://c-nergy.be/blog/?p=8952

    และ

    เพิ่มบรรทัดให้มีคำว่า mate-session ในไฟล์ /etc/xrdp/startwm.sh ให้วางไว้ก่อนบรรทัด . /etc/X11/Xsession ดังนี้

    …หลายบรรทัดข้างบน…

    mate-session

    . /etc/X11/Xsession

     

    2. ที่ Windows คลิกปุ่ม Start > เลือก All apps > เลือก Windows Accessories > เลือก Remote Desktop Connection > ใส่ IP Address แล้วคลิก Connect > ตอนนี้จะเข้าหน้าต่าง Login to xrdp > Module เลือก sesman-Xvnc > ใส่ username และ password > คลิก OK

    xrdp-08-windows10remotedesktop xrdp-09-windows10logintoxrdp xrdp-10-windows10logintoxrdpsuccess

    อ้างอิง

    XRDP – Reconnect to existing sessions made easier – New xrdp package on Ubuntu repository
    http://c-nergy.be/blog/?p=6046

    How to fix remote desktop access (RDP) in Linux Mint
    http://forums.linuxmint.com/viewtopic.php?f=42&t=154150

    Ubuntu 14.10 – How to secure Xrdp Connection using SSH
    November 24, 2014 Griffon
    http://c-nergy.be/blog/?p=6020

    FreeRDP/Remmina
    https://github.com/FreeRDP/Remmina/wiki

    Remote desktop server (XRDP) on Linux Mint 17.1 or Ubuntu 14.04
    http://nileshgr.com/2015/02/09/xrdp-linux-mint-17-1-ubuntu-14-04

  • Windows 10 ไม่ได้รับ DHCP IP Address ลองวิธีนี้ได้นะ

    windows10netnotconn
    เครื่อง Notebook ที่ cloning เป็น Windows 10 ใช้งาน LAN ไม่ได้ เพราะไม่ได้ IP Address จึงตรวจสอบทางฮาร์ดแวร์ ไม่ว่าจะเป็น สาย LAN, Network Switch ตรวจสอบซอฟต์แวร์ ISC DHCP Server รีบูตก็แล้ว แก้ไข dhcp leased file ก็แล้ว ก็แก้ไขไม่ได้

    สอบถามผู้รู้ทาง Windows ก็ไม่มีคำตอบว่า จะต้องคลิกเข้าไปแก้ไขที่ไหน ใช้ ipconfig /release ก็แล้ว ก็ไม่สำเร็จ จนจะสรุปอยู่แล้วว่า จะส่งร้านเพื่อซ่อมเครื่อง

    แต่มาเอะใจว่า เอ…. เราลองเอา Linux Mint ที่เราใช้งานอยู่บูตเครื่อง Notebook นี้ดูทีว่าจะเห็นข้อมูล DHCP เป็นอย่างไรบ้าง กลับพบว่าทำให้ Windows 10 นั้นใช้งานได้เลย

    ข้างล่างนี้เป็น Output จากคำสั่ง tail -f /var/log/syslog บน Ubuntu server ดังนี้

    เครื่อง Windows 10 อยู่ที่ network 192.168.m.0/25
    ปัญหาที่เกิดคือ Windows 10 ไม่ส่ง DHCPREQUEST หลังจาก server ส่ง DHCPOFFER

    Oct  6 12:09:07 ubuntu dhcpd: DHCPDISCOVER from x8:y7:z8:7a:8c:e3 via eth0
    Oct  6 12:09:07 ubuntu dhcpd: DHCPOFFER on 192.168.m.46 to x8:y7:z8:7a:8c:e3 via eth0
    Oct  6 12:09:07 ubuntu dhcpd: DHCPDISCOVER from x8:y7:z8:7a:8c:e3 via eth0
    Oct  6 12:09:07 ubuntu dhcpd: DHCPOFFER on 192.168.m.46 to x8:y7:z8:7a:8c:e3 via eth0
    Oct  6 12:09:11 ubuntu dhcpd: DHCPDISCOVER from x8:y7:z8:7a:8c:e3 via eth0
    Oct  6 12:09:11 ubuntu dhcpd: DHCPOFFER on 192.168.m.46 to x8:y7:z8:7a:8c:e3 via eth0

    นำเครื่อง Windows 10 นั้นมาที่ network 192.168.n.0/24
    ปัญหายังคงเกิดเหมือนเดิมคือ Windows 10 ไม่ส่ง DHCPREQUEST หลังจาก server ส่ง DHCPOFFER

    Oct  6 11:24:13 LAB02 dhcpd: DHCPDISCOVER from x8:y7:z8:7a:8c:e3 (SYSTEM8) via eth0
    Oct  6 11:24:13 LAB02 dhcpd: DHCPOFFER on 192.168.n.20 to x8:y7:z8:7a:8c:e3 (SYSTEM8) via eth0
    Oct  6 11:24:29 LAB02 dhcpd: DHCPDISCOVER from x8:y7:z8:7a:8c:e3 (SYSTEM8) via eth0
    Oct  6 11:24:29 LAB02 dhcpd: DHCPOFFER on 192.168.n.20 to x8:y7:z8:7a:8c:e3 (SYSTEM8) via eth0

    เมื่อลองบูตเครื่องด้วย USB Flash Drive ที่เป็น Linux Mint 17.2 Live DVD
    ผลลัพธ์คือเครื่องสามารถใช้งาน LAN ได้

    Oct  6 12:58:50 LAB02 dhcpd: DHCPDISCOVER from x8:y7:z8:7a:8c:e3 via eth0
    Oct  6 12:58:51 LAB02 dhcpd: DHCPOFFER on 192.168.n.21 to x8:y7:z8:7a:8c:e3 (mint) via eth0
    Oct  6 12:58:51 LAB02 dhcpd: DHCPREQUEST for 192.168.n.21 (192.168.n.2) from x8:y7:z8:7a:8c:e3 (mint) via eth0
    Oct  6 12:58:51 LAB02 dhcpd: DHCPACK on 192.168.n.21 to x8:y7:z8:7a:8c:e3 (mint) via eth0

    เมื่อลองบูตเครื่องด้วย Windows 10
    ผลลัพธ์คือคราวนี้ LAN ใช้ได้โดยไม่ต้องทำอะไรเลยที่ Windows

    Oct  6 13:02:22 LAB02 dhcpd: DHCPDISCOVER from x8:y7:z8:7a:8c:e3 (SYSTEM8) via eth0
    Oct  6 13:02:23 LAB02 dhcpd: DHCPOFFER on 192.168.n.20 to x8:y7:z8:7a:8c:e3 (SYSTEM8) via eth0
    Oct  6 13:02:23 LAB02 dhcpd: DHCPREQUEST for 192.168.n.20 (192.168.n.2) from x8:y7:z8:7a:8c:e3 (SYSTEM8) via eth0
    Oct  6 13:02:23 LAB02 dhcpd: DHCPACK on 192.168.n.20 to 68:f7:28:7a:8c:e3 (SYSTEM8) via eth0

    จึงนำเครื่องกลับไปที่ network m แล้วลองใช้งาน LAN ก็ใช้ได้
    ผลลัพธ์คือ

    Oct  6 13:09:28 ubuntu dhcpd: DHCPREQUEST for 192.168.n.20 from x8:y7:z8:7a:8c:e3 via eth0: wrong network.
    Oct  6 13:09:28 ubuntu dhcpd: DHCPNAK on 192.168.n.20 to x8:y7:z8:7a:8c:e3 via eth0
    Oct  6 13:09:28 ubuntu dhcpd: DHCPDISCOVER from x8:y7:z8:7a:8c:e3 via eth0
    Oct  6 13:09:28 ubuntu dhcpd: DHCPOFFER on 192.168.m.46 to x8:y7:z8:7a:8c:e3 via eth0
    Oct  6 13:09:28 ubuntu dhcpd: DHCPREQUEST for 192.168.m.46 (192.168.m.3) from x8:y7:z8:7a:8c:e3 via eth0
    Oct  6 13:09:28 ubuntu dhcpd: DHCPACK on 192.168.m.46 to x8:y7:z8:7a:8c:e3 via eth0

    จึงบันทึกไว้เผื่อใครจะเจออะไร ๆ แปลก ๆ แบบนี้

  • วิธีการทดสอบเว็บไซต์ Responsive บน Smart phone ด้วย Chrome

    “ปัจจุบันกระแสการออกแบบเว็บเชิงตอบสนอง (Responsive design) ถูกนำมาใช้ในการออกแบบเว็บสมัยใหม่ เนืองจากสามารถดูได้ทั้งแบบผ่านเครื่องคอม แท็บเล็ต และมือถือ ได้โดยทันที”

    แต่ในระว่างการออกแบบ ถ้าผู้ออกแบบจะต้องมีการทดสอบบนอุปกรณ์แท็บเล็ต หรือมือถือ ต่างๆ ซึ่งมีความละเอียดของหน้าจอแตกต่างกันออกไป

    ซึ่งในส่วนที่ Chrome มีเครื่องมือที่ช่วยในการแสดงผลเว็บไซต์บนอุปกรณ์ Smart phone ได้ โดยไม่ต้องโหลดเพิ่ม แต่ประการใด !!! แถมวิธีการก็ง่ายแสนง่าย 

    ขั้นตอนที่ 1

    ให้ไปที่ More tools > Developer tools ดังภาพ

    01

    ขั้นตอนที่ 2

    เลือกที่รูปโทรศัพท์ ดังภาพ

    02

    ขั้นตอนที่ 3

    สังเกต ด้านซ้ายจะปรากฏหน้าจอมือถือขึ้นมา ให้ระบุ URL ที่เราต้องการดังภาพ

    06

    จากภาพ จะเห็นว่าหากเป็นเว็บที่ออกแบบด้วยหลักการออกแบบเว็บเชิงตอบสนอง (Responsive design) จะมีการจัดหน้าจอให้เหมาะสมกับอุปกรณ์

    ขั้นตอนที่ 4

    สังเกต ด้านบน เราสามารถเลือกรุ่นของ Smart Phone ได้หลายรุ่น แม้จะไม่มาก แต่ก็เป็นรุ่นหลักและหลากหลายความละเอียด หรือจะเลือกปรับขนาดเองก็ทำได้  และสามารถปรับให้แสดงแนวตั้งและแนวนอนได้อีกด้วย ดังภาพ

    07

    จะเห็นว่าเครื่องมือด้งกล่าวใช้งานไม่ยาก ทำให้สามารถดูหน้าจอในหลายๆ ความละเอียดได้อย่างรวดเร็ว 

  • ทดสอบการแสดงผลเว็บแอพพลิเคชันง่ายๆ บน Browser ต่างๆ ด้วยบริการของ Modern IE

    ในปัจจุบันเว็บแอพพลิเคชันที่มีการพัฒนาจะต้องรองรับ Browser และอุปกรณ์ที่แตกต่างกัน ซึ่งบางครั้งเป็นการยากที่เราจะทดสอบให้ครบได้

    จะดีไหมถ้าเราสามารถดูการแสดงผลเว็บแอพพลิเคชันที่พัฒนาว่า หน้าตาเป็นอย่างไรเมื่อแสดงผลบน Browser หรืออุปกรณ์อื่นๆ

    Microsoft ได้เปิดตัว Modern IE ขึ้น โดยมีบริการที่น่าสนใจที่เรียกว่า Browser screenshots !!

    ขั้นตอนที่ 1

    ไปยัง URL : https://dev.modern.ie/tools/screenshots/

    2

    ขั้นตอนที่ 2

    ใส่ URL ของเว็บแอพพลิเคชันของเราที่ต้องการ

    1

    ขั้นตอนที่ 3

    กดปุ่ม Enter หรือรูปแว่นขยาย เครื่องมือจะแสดงผลดังภาพ

    3 4

    จะเห็นว่าเจ้า Browser screenshots เป็นเครื่องมือที่ช่วยให้เราเห็นหน้าจอเว็บแอพพลิเคชันของเราในเบื้องต้นได้

    “หวังว่าจะมีประโยชน์ต่อนักพัฒนาหรือนักทดสอบระบบทุกท่านนะค่ะ”

  • วิธีใช้งาน PSU Email ด้วยโปรแกรม Mozilla Thunderbird

    แสดงขั้นตอนการใช้ PSU Email ด้วยโปรแกรม Mozilla Thunderbird ทีละขั้นตอนตั้งแต่การดาวน์โหลดโปรแกรมรุ่นล่าสุดมาใช้ การตั้งค่าบัญชีผู้ใช้ การตั้งค่าการเชื่อมต่อกับเซิร์ฟเวอร์ และการตั้งค่าภาษาไทยที่ถูกต้อง