Sử dụng wpa_cli để kết nối wifi

Dùng quyền superuser :

sudo -s

Chạy wpa_cli

wpa_cli

Bước vào interaction mode

Scan các wifi có xung quanh

scan

Chạy xong lệnh này wpa_cli sẽ scan các mạng wifi xung quanh nhưng không hiển thị kết quả scan. Để hiện kết quả scan :

scan_results

Để kết nối trước tiên ta tạo 1 slot network để lưu thông tin mạng cần kết nối

add_network

Con số trả về sẽ là số thứ tự của slot mới
Tiếp theo thêm thông tin mạng vào slot mới

set_network [slot] ssid "[tên mạng]"
set_network [slot] psk "[mật khẩu]"

Để kết nối tới slot trên

enable_network [slot]

Học lại căn bản Computer Science

Là sinh viên CS cuối năm 3, nhìn lại thì kiến thức của mình không vững, có rất nhiều lỗ hổng. Vì thế từ hôm nay mình quyết định học lại căn bản từ đầu và đăng lại kiến thức lên đây để đỡ quên.

List :

  • Basic Linux :
    • Bash scripting
  • Raspberry Pi project building – hacking
  • Basic Algorithms
  • Algorithms Analysis and Design
  • Advanced Algorithms
  • Basic Computer Architecture
    • Low-level basic
    • Linux architecture
  • Database
    • Basic
  • Principle of Programming Language
  • Software Engineering
  • Practices in real-world business

Cài đặt Raspberry Pi headless (không có màn hình)

Các bước cài đặt Raspberry Pi mới mua về hoặc cài lại từ đầu :v. Dành cho những bạn có máy nhưng không có màn hình/bàn phím/chuột để cắm máy RPi vô xài

Thiết bị cần có :

  • Máy Raspberry Pi (gọi tắt là RPi)
  • Thẻ nhớ MicroSD – ít nhất 4GB, khuyên dùng thẻ 8GB class 10
  • Củ sạc USB – ít nhất có dòng ra là 1A, khuyên dùng loại 2.1A loại tốt để tránh bị cháy máy mặc dù cũng ít khi bị cháy
  • Dây USB-mini USB (dây sạc điện thoại)
  • Dây mạng Ethernet
  • Laptop của bạn

Bước 1 : Tải Raspbian

Raspbian là hệ điều hành chính thức của Raspberry Pi Foundation, dựa trên distro Debian, được chỉnh sửa để hỗ trợ tốt nhất cho máy RPi.

Có hai bản Raspbian

  • Raspbian Jessie with Desktop : dành cho máy RPi sử dụng như một máy desktop thông thường, có giao diện đồ họa
  • Raspbian Jessie Lite : bản rút gon, không có giao diện đồ họa

Trong tutorial này mình sẽ dùng Raspbian Jessie Lite để cài vào thẻ nhớ

Sau khi tải về ta giải nén file zip để có file .img

Bước 2 : Ghi Raspbian vào thẻ nhớ

Để cài Raspbian vào thẻ nhớ ta tải phần mềm Win32DiskImager về máy và cài đặt

Sau đó cắm thẻ nhớ vào bằng đầu đọc usb hay adapter gì cũng được

Mở Win32DiskImager :

h1lrpxx
Hình 1. Win32DiskImager

Chọn file xxxx-xx-xx-raspbian-jessie-lite.img vừa giải nén ra, chọn thẻ nhớ ở ô Device (lưu ý cẩn thận chọn đúng thẻ nhớ), sau đó bấm Write để ghi vào thẻ nhớ

Bước 3 : Kích hoạt SSH lần đầu cho RPi

Trước đây sau khi ghi OS vào thẻ nhớ và cắm vào máy chạy thì bạn có thể SSH vào luôn, nhưng gần đây vì lý do bảo mật, ở những file ảnh Raspbian mới ta không thể SSH vào được nữa. Để mở khóa SSH ta cần phải thêm một file ssh (không có đuôi) vào phân vùng boot của thẻ nhớ :

9xbv4ug
Hình 2. File ssh trong phân vùng boot

Ở lần đầu tiên boot, hệ thống sẽ mở SSH nếu file này xuất hiện và xóa nó đi, nên nếu xảy ra sự cố nào đó ta có thể thử tạo lại file này

Bước 4 : Kết nối, khởi động máy

Tải Bonjour Print Service về máy và cài đặt

Tải Putty (SSH – telnet client) về cài

Lấy cáp Ethernet cắm vào máy của bạn và RPi

Cắm nguồn vào RPi

Mở Putty và nhập vào như sau

  • Hostname : raspberrypi.local
  • Port 22 giữ nguyên
emepzpt
Hình 3. Kết nối SSH tới RPi

Bấm Open. Màn hình terminal đến RPi sẽ hiện lên như sau nếu không có lỗi :

8vhyitw
Hình 4. Giao diện SSH của putty

Nhập vào thông tin đăng nhập như sau :

  • raspberrypi login : pi (nếu nhập sai tên đăng nhập, tắt putty và mở lại)
  • password : raspberry

Bước 5 : Mở service SSH,

Nhập lệnh

sudo raspi-config
8qaecbd
Hình 5. raspi-config

Chọn Interfacing Option :

z5brbr5
Hình 6. Interfacing Options

Chọn SSH , bấm Tab để highlight lên Yes, bấm Enter

Hình 7. Xác nhận enable SSH server

Chọn OK ở màn hình kế

Vậy là từ nay bạn không cần phải thêm file ssh như ở bước 3 nữa 🙂

Mở rộng phân vùng sử dụng của thẻ nhớ

Quay lại như ở hình 5, ta chọn Advanced Options -> Expand Filesystem -> OK để mở rộng phân vùng ext của thẻ nhớ. Ta cần mở rộng vì ở bước ghi Raspbian vào thẻ nhớ, phần dung lượng trống không được sử dụng.

Sau khi mở rộng ta thoát raspi-config : Bấm tab để hightligh sang Finish -> Enter, sau đó khởi động lại RPi để mở rộng phân vùng có hiệu lực :

sudo reboot

Bước 6 : Kết nối mạng cho RPi thông qua laptop

Ta sử dụng Internet Connection Sharing (ICS) của Windows để chia sẻ kết nối mạng cho RPi

InternetConnectionSharing
Hình 8. Chia sẻ mạng từ wifi của laptop sang cổng ethernet cho RPi

Bước 7 : Cập nhật phần mềm cho RPi

Ta chạy lệnh

sudo apt-get update

để cập nhật danh sách tên và phiên bản của các gói phần mềm trên repository của Raspbian. Sau đó chạy lệnh :

sudo apt-get upgrade

để tải các gói phần mềm mới về và cài đặt. (Enter khi được hỏi xác nhận cập nhật

Ubuntu và các Linux distro hiển thị font rất khó chịu

Linux là hệ điều hành dành cho giới lập trình viên nói chung. Là một sinh viên khoa máy tính thích tìm tòi vọc máy, mình đã từng cài Ubuntu và các distro linux rất nhiều lần (Fedora, Kubuntu, Xubuntu.. – các flavors của Ubuntu, Debian, Arch Linux….)

Một vấn đề mà các bạn sinh viên ở VN và tất cả những người đều sử dụng Ubuntu đã gặp đó chính là chữ viết quá khó nhìnCực kì khó chịu khi bạn vừa chuyển từ Windows sang Ubuntu. Các chữ cái bị “phình”, “mập” theo kiểu chữ của OSX nhưng lại bị mờ và nhòe. Hơn nữa khoảng cách giữa các chữ cái lại không đều. Với dân lập trình, dành cả ngày nhìn vào những con chữ trên màn hình thì điều này chắc hẳn làm chúng ta khá đau đầu và khó chịu

Mình cũng từng thử rất nhiều cách để font chữ của Ubuntu được thanh mảnh và rõ nét như của Windows như

  • Cài Tweak Tool -> chỉnh Hinting và Scaling font, đổi font chữ
  • Cài package ttf-mscorefont-installer (gói chứa các font chữ free của microsoft được dùng nhiều trên website)
  • Cài Infinality (tool giúp tinh chỉnh việc hiển thị font theo các mode dựng sẵn)
  • Chỉnh file .fontconfig ( copy của người ta dán đè lên)

Tất cả mấy phương án trên mình thử đều không cải thiện được gì nhiều. Hình ảnh để so sánh thì mình chưa có vì giờ chẳng muốn cài lại nữa. Mình nản lắm rồi :v

Hôm trước được thử boot Ubuntu lên macbook của bạn cùng phòng thì kết quả khác hẳn. Font chữ tuy không đồng đều, bị degrade font ( những chữ cái có dấu như ế, ấ không giống như những chữ cái còn lại) nhưng rất dễ nhìn.

Thì ra là do độ nét của màn hình quá kém 🙂 . Laptop bán ở Việt Nam mình thì toàn các độ phân giải như 1366×768, full HD 1920×1080 mà trên thế giới đã bị coi là low-resolution. Ubuntu vốn không được chú trọng thiết kế trên độ nét này nên hiển thị chữ quá kém. Khác với Windows có công nghệ ClearType và bộ font cũng được thiết kế cho công nghệ này. Biết sao được, Ubuntu là đồ free mà

Vậy nếu bạn muốn một trải nghiệm dev tốt với Ubuntu và Linux thì khi mua máy nhớ lựa máy có màn hình DPI cao, cỡ tương đương màn hình Retina của macbook trở lên 🙂