คลังเก็บป้ายกำกับ: linux

.ssh/config: สร้าง shortcut สำหรับ ssh ที่ใช้บ่อยๆ กันเถอะ

เวลาจะ SSH แล้วต้องมานั่งนึกมั้ยครับว่า server นี้ใช้ user/port อะไร, domain บางทีก็ยาวจนขี้เกียจพิมพ์ คำสั่ง ssh ใช้ option -p ระบุ port ส่วน scp ต้องใช้ -P (พีใหญ่) พิมพ์ผิดพิมพ์ถูกหลายครั้งกว่าจะส่งไฟล์ได้

ssh -p 2345 satoshi@gym1.pewter.com
scp -P 2345 satoshi@gym1.pewter.com:~/pikachu.txt .

ไฟล์ ~/.ssh/config

ไฟล์ ~/.ssh/config ช่วยให้เราตั้งค่า username, port, domain สำหรับ host ที่เราใช้บ่อยๆ เก็บไว้ได้

Host gym1                   # ตั้งชื่อเล่น
        HostName gym1.pewter.com    # หรือใช้ IP ก็ได้
        User satoshi
        Port 2345
Host red                    # มีได้หลายๆ host เลย
        HostName team-rocket.com
        User nyarth
        Port 4529

เวลาจะใช้ ssh ก็พิมพ์เพียงแค่ชื่อ Host สั้นๆ ก็พอ

ssh gym1
scp gym1:~/pikachu.txt .

ปล. ลอง man ssh_config ดูได้นะครับว่ามี options อะไรให้ใช้อีกบ้าง

xclip ที่ไม่ใช่คลิปโป๊

ปกติผมมักจะเปิด Terminal เรียกคำสั่ง แล้ว Copy ผลลัพธ์ไปแปะในโปรแกรมอื่น เช่น Browser
แต่รู้สึกชีวิตมันลำบากเหลือเกิน เลยไปค้นเจอโปรแกรม xclip เป็นโปรแกรมจัดการ Clipboard (ที่พักข้อมูลเวลาเรา Copy/Paste) บน Linux

วิธีใช้

cat file.txt | xclip        # เอาผลลัพธ์ของคำสั่ง cat file.txt ไปใส่ใน clipboard

กด Paste ที่โปรแกรมที่ต้องการได้ทันที

คำสั่งอื่นๆ

xclip -o      # พิมพ์ข้อมูลที่มีอยู่ใน clipboard ออกมา
xclip -o > out.txt    # เอาเนื้อหาใน clipboard ลงไฟล์ out.txt

ติดตั้งด้วยคำสั่ง: sudo apt-get install xclip ตามปกติครับ

Getting a FTDI USB-to-Serial converter to work on Ubuntu 9.10

I bought a USB-to-Serial converter from ETTeam.com and test it with Ubuntu 9.10 (Karmic kernel 2.6.31-18-generic.) I’ve found that it doesn’t show as /dev/ttyUSB0 as other generic USB-to-Serial converter do.
อ่านเพิ่มเติม Getting a FTDI USB-to-Serial converter to work on Ubuntu 9.10

OpenKiosk Extension : ตู้ประชาสัมพันธ์ง่ายๆ ด้วย Firefox

ตัวอย่างตู้ Kiosk ของ US Army (ภาพจาก http://www.army.mil)
ตัวอย่างตู้ Kiosk ของ US Army (ภาพจาก http://www.army.mil)

ไปแข่ง linux (NLC10 – การแข่งขันระบบปฏิบัติการลินุกซ์แห่งประเทศไทย) มา เขามีโจทย์ให้เลือก 5 ข้อ กลุ่มผมเลือกทำข้อง่ายสุดคือ “เตรียมเครื่อง linux สำหรับเป็นตู้ Interactive Kiosk สำหรับสนามบินแห่งชาติ” (ขอเรียก Interactive Kiosk สั้นๆ ว่า Kiosk ละกันนะครับ)

ถ้างงว่าตู้ Kiosk คืออะไร

ให้นึกถึงจอ Touchscreen ใหญ่ๆ ตามห้างครับ ที่เราเข้าไปจิ้มๆ หาข้อมูลได้ว่าร้านกระเป๋าหลุยส์ติงต๊อง อยู่ชั้นไหนโซนไหน จะได้เดินไปซื้อได้ถูก เจ้าจอ Touchscreen ใหญ่ๆ นี่แหละครับเรียกว่าตู้ Kiosk หรือตู้ประชาสัมพันธ์

คุณสมบัติที่สำคัญของตู้ Kiosk คือ

ดูเว็บ/ใช้โปรแกรมประชาสัมพันธ์ได้อย่างเดียว ไม่มีสามารถหลบไปเล่นเกมกู้ระเบิด (Minesweeper), ถอดไพ่ (Solitare) หรือใช้งานโปรแกรมอื่นๆ

ทำยังไงให้คอมธรรมดา กลายเป็นตู้ Kiosk

  1. ติดตั้ง ระบบปฏิบัติการตามใจชอบ จะ Windows หรือ Linux ก็ได้
  2. ติดตั้ง Mozilla Firefox, jsLib และ OpenKiosk จากเว็บ Brooklyn Museum Kiosk Client
  3. เมื่อติดตั้งเสร็จแล้วให้ปิด firefox แล้วเปิดจาก Command line ดังนี้ (เพื่อเปิดใช้ Kiosk แบบเต็มจอ)
    mozilla -kiosk
  4. นอกจากนี้เรายังสามารถตั้งค่า Firefox ด้วย OpenKiosk ได้อีกมากมาย อ่านรายละเอียดได้จาก https://mozdevgroup.com/clients/bm/ ครับ

ตอนแข่งผมก็นั่งแก้ GUI ของ firefox เอง (firefox มันใช้ XUL ทำ GUI ครับ แก้ไขได้อิสระมากๆ) แต่พอค้นดีๆ เจอ OpenKiosk แล้ว โฮกกกก…. รู้งี้โหลดมาใช้ตั้งนานแล้ว

ใส่ script ช่วยล็อกอินอัตโนมัติเวลาต่อเน็ต

หน้าจอ login แบบนี้ตั้งแต่ พรบ. คอมฯ ปี 50 ประกาศใช้ พวกเราผู้ใช้อินเตอร์เน็ตของหน่วยงานต่างๆ ก็คงจะคุ้นเคยกับหน้าจอ Login คล้ายๆ กับรูปทางซ้ายมือนี้

เรามาใส่ script ช่วยล็อกอินอัตโนมัติเวลาต่อ Wireless ติดกันดีกว่า (บล็อกนี้สำหรับผู้ใช้ Linux เท่านั้นครับ)

“พอใช้ Script นี้เวลาเปิดเครื่องมา แล้วต่อ Wireless ติด มันก็ login ให้ทันทีครับ แล้วก็ login ซ้ำ เวลาต่อ Wireless อันใหม่ให้ด้วย!” — @nattster

อ่านเพิ่มเติม ใส่ script ช่วยล็อกอินอัตโนมัติเวลาต่อเน็ต

ฟอนท์ Tahoma คมๆ บน Ubuntu

อธิบายลักษณะฟอนท์ด้วยภาพ:

ก่อนและหลังแก้ .fonts.conf

ผมรู้สึกว่า Anti-alias กับ Font-hinting บน Ubuntu ทำให้หน้าเว็บภาษาไทยอ่านยาก ผมก็เลยเอา tahoma.ttf จาก Windows Vista (แท้นะจ๊ะ) มาใส่ไว้ที่ ~/.fonts/  (~/ คือ home directory มีความหมายคือ /home/nattster/ นะครับ)

แล้วก็สร้างไฟล์ ~/.fonts.conf ตามคำแนะนำเรื่องฟอนท์ใน wiki ของ Ubuntu แต่ใน wiki เขาเขียน config สำหรับ font ไว้หลายตัวมากผมเลยตัดๆ config ทิ้งจนได้ ไฟล์ .fonts.conf (ของผม) ใครลองเอาไปใช้ได้ผลลัพธ์อย่างไร เล่าให้ฟังกันบ้างนะครับ 😉

หมายเหตุ: ผมต้องการเปิด Hinting กับ Anti-alias ตามปกติ แค่อยากปิด 2 ความสามารถนี้เมื่อฟอนท์มันเล็กเท่านั้นครับ

ใช้ man ดู Function Reference ภาษาซีใน ubuntu

คนใช้ linux (หรือ cygwin ก็ด่ะ) น่าจะรู้จักคำสั่ง man ที่เอาไว้ใช้ดู manual ของคำสั่งต่างๆ ใน linux
ท่านผู้อ่าน รู้หรือไม่ว่า? เราสามารถใช้คำสั่ง

$ man qsort

เพื่อดูรายละเอียดของฟังก์ชัน qsort ได้ผลลัพธ์ตามนี้ (ทีนี้จะได้รู้และว่าต้อง include file ไหนและฟังก์ชันรับอาร์กิวเมนท์อะไรบ้าง)

QSORT(3)                   Linux Programmer`s Manual                  QSORT(3)

NAME
       qsort - sorts an array

SYNOPSIS
       #include 

       void qsort(void *base, size_t nmemb, size_t size,
                  int(*compar)(const void *, const void *));

DESCRIPTION
       The  qsort()  function sorts an array with nmemb elements of size size.
       The base argument points to the start of the array.

แต่! ก่อนที่จะทำแบบนี้ได้ต้องติดตั้งแพคเกจ manpages-dev ก่อนครับ สำหรับผู้ใช้ ubuntu/debian (ใช้ Synaptic ติดตั้ง หรือ sudo apt-get install manpages-dev ก็ได้ครับ) สำหรับคนใช้ดิสโทรอื่นต้องลองค้น google ดูครับ

ถ้าลอง man printf ดูจะเจอ manual ของคำสั่ง printf ของ linux แทนที่จะเป็น reference ของฟังก์ชัน printf ของภาษา C แทน

วิธีเปิด manual ของ printf (ฟังก์ชันภาษา C) ให้เรียกคำสั่ง

$ man 3 printf

แทน ซึ่งหมายความว่า เปิดดูคำสั่ง printf ใน section ที่ 3 ของ manual ครับ (manual มีทั้งหมด 7-8 section… เขาแบ่ง section ตามหัวข้อครับ ดูรายละเอียดเพิ่มเติมที่นี่)