1 tháng 8, 2014

Laptop lenovo s410p

Lenovo s410p,
i7 4500U, 4GB RAM, 2GB NVIDIA, 1TB HDD.
Đang cài: Ubuntu 14.04

Chạy ngay tất cả sau khi cài Ubuntu. Chỉ mỗi phần âm thanh (sound) thì cần yêu cầu chọn thiết bị mặc định là Analog HDA Intel PCH (thiết bị loa có sẵn trên máy (built-in)), thay vì để máy tự chọn HDMI (nối ra thiết bị ngoài). Video NVIDIA Optimus cũng chạy ngay khi cài bumblebee của Linux.

Chọn thứ tự của thiết bị âm thanh: /etc/modprobe.d/alsa-00.conf

%  cat /etc/modprobe.d/alsa-00.conf 
## https://wiki.archlinux.org/index.php/Alsa
## select order of sound card
## lspci -nn | grep -i audio

options snd-hda-intel index=0 model=auto vid=8086 pid=9c20
options snd-hda-intel index=1 model=auto vid=8086 pid=0a0c

Một bài báo cũ về anh Lâm Gia Tường

Câu chuyện về anh Lâm Gia Tường, Đài Loan, đăng trên báo Pháp Luật và Cuộc Sống, số 5, 1-2011

6 tháng 10, 2010

Cài đặt FreeNX

Giới thiệu

Kết nối từ xa (remote access) bằng nxclient cho phép truy cập đồ hoạ qua đường ssh. Trên máy ở xa (remote server) chạy phần nxserver và, tất nhiên, sshd (ssh server). Nguyên bản NoMachine cung cấp phần xem (client viewer) miễn phí cho cả Linux, Windows, còn phần cho máy chủ (remote server) thì có bản miễn phí với tính năng hạn chế bớt, và bản thương mại (commercial). Tôi sử dụng thì thấy NX chạy tốt hơn dùng RDP (kết nối từ xa có kèm Windows) và VNC. Tại đây trình bày cách làm với hệ Linux, có sử dụng FreeNX là phần mã nguồn mở miễn phí cho máy chủ (remote). NX có nhiều dạng thức chạy, tuy nhiên ở đây chỉ trình bày dạng thức default thôi.

Cài máy ở xa (remote server)

Với Debian/Ubuntu

Trước hết bổ xung deb http://ppa.launchpad.net/freenx-team/ppa/ubuntu/ intrepid main cho /etc/apt/sources.list (thay intrepid bằng repo tương ứng, Debian Lenny dùng intrepid là OK).

# apt-get install freenx-server

Với Arch Linux

# pacman -S freenx

Thực ra, khi cài phần server thì phần mã (code) của client cũng được cài (vì cần thư viện dùng chung).

Đặt cấu hình cho máy ở xa (remote server)

Có hai phần, một là đặt cấu hình cho bản thân nxserver, hai là đặt cấu hình cho sshd (nếu cần). Nhìn chung, cấu hình chạy theo chế độ default là chạy luôn.

Khi máy trạm (client viewer) kết nối vào, là sẽ vào và chứng thực qua đường ssh với tên người dùng là nx. Như vậy, trước hết kiểm tra xem đã có người dùng này chưa:

# grep '^nx:' < /etc/passwd
nx:x:107:114:FreeNX Server,,,:/var/lib/nxserver/home/:/usr/bin/nxserver

Nghĩa là, người dùng này khi chạy sẽ vào thư mục riêng là /var/lib/nxserver/home/, và chạy /usr/bin/nxserver thay cho shell thông thường (thông thường là bash). Nếu không thấy người dùng nx này, thì cần tạo nó ra với lệnh sau, nếu là Arch Linux:

# /opt/NX/bin/nxsetup --install --setup-nomachine-key

Còn với Debian:

# /usr/lib/nx/nxsetup --install --setup-nomachine-key

Phần --install sẽ tạo người dùng nx và chuẩn bị thư mục nhà (home) cho nó. Phần --setup-nomachine-key là sao chép (copy) chìa khoá (key) của hãng nomachine vào thư mục ~/.ssh/ của người dùng nx. Khoá (key) này cũng có kèm sẵn trong chương trình xem (client viewer). Cái này chỉ dùng khi chứng thực (authentication) của kết nối ssh thôi. Nếu muốn tăng tính an toàn, thì ta có thể không dùng key có sẵn của hãng, và tự tạo bộ key cho riêng mình. Tất nhiên, lúc đó ta phải tự sao chép key được tạo trên máy chủ (remote server) đến những máy trạm (client viewer). Tại đây, ta dùng sẵn key của hãng cho tiện. Muốn kiểm tra xem đã có key chưa:

# ls -l ~nx/.ssh/

và sẽ thấy file nào đó tên là client.id_dsa.key.

Như vậy, chứng thực ssh cho người dùng nx sẽ là dùng key (chứ không phải dùng mật khẩu). Như vậy, trong /etc/ssh/sshd_config cũng cần có cấu hình tương ứng. Nói chung cái này đã được cài đặt đúng. Tuy nhiên có thể kiểm tra lại. Ví dụ:

# cat /etc/ssh/sshd_config 
.
.
.
Port 7777
ListenAddress 0.0.0.0
PubkeyAuthentication yes
UsePAM yes
Compression yes
AllowUsers joe nx
.
.
.

Như cấu hình trên, sshd sẽ nghe ở cổng (port) 7777, và chỉ cho người dùng tên là joe (người dùng bình thường) hoặc tên là nx (người dùng đặc biệt) được phép kết nối và chứng thực. Trong trường hợp dùng cổng (port) khác với cổng 22 (cổng mặc định default của sshd) thì cần báo cho nxserver biết. Cấu hình của nó ở file /etc/nxserver/node.conf đối với Debian, hoăc file /opt/NX/etc/node.conf đối với Arch Linux.

# cat /etc/nxserver/node.conf
.
.
.
SSHD_PORT=7777
.
.
.

Sau khi mọi thứ OK thì khởi động lại dịch vụ (server). Với Arch Linux: /etc/rc.d/sshd restart. Với Debian: /etc/init.d/freenx-server restart; /etc/init.d/sshd restart

Cài đặt máy trạm (client viewer)

Chạy nxclient (với Arch Linux thì là ở /opt/NX/bin/nxclient):

Lập cấu hình kết nối:

Nếu là nối trực tiếp với máy localhost, thì có thể vào thẻ (tab) Advance để bỏ bớt phần nén số liệu và mã hoá số liệu đường truyền, và đặt tốc độ kỳ vọng (expected speed) lên mức nhanh nhất là kết nối kiểu LAN. Trong cấu hình có phần định nghĩa Key (chìa khoá). Vì ta dùng chìa khoá là cái có sẵn của NoMachine, nên không cần thay đổi gì, dùng mặc định (default) là được. Còn nếu tự tạo chìa khoá riêng thì phải cắt dán (copy & paste) vào đó:

Cần phải cho nxclient biết rằng ngay sau khi kết nối thì nó cần chạy chương trình gì trên máy chủ (remote server) để khởi động:

Lần đầu tiên chạy, thì nên chọn Run the console, tức là chạy mỗi màn hình văn bản (text) để biết rằng kết nối thành công. Như ở bên hình trên, thì tôi chạy script là /home/tri/.vnc/xstartup, nghĩa là chạy giống như của vnc, vì tôi dùng NX thay cho vnc vẫn dùng trước đây. Ngoài ra, ta có thể chạy khởi động KDE hoặc Gnome bằng các script tương ứng. Một ví dụ của .vnc/xstartup trên máy chủ (remote server) như sau:

$ cat ~/.vnc/xstartup
#!/bin/bash

cd

export PATH=~/bin:$PATH
export http_proxy=http://proxy:8888
export no_proxy='localhost,127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16'
export LANG=en_US.UTF-8
export EDITOR=vim
export BROWSER=firefox

if which dbus-launch >/dev/null && test -z "$DBUS_SESSION_BUS_ADDRESS"; then
 eval `dbus-launch --sh-syntax --exit-with-session`
fi

gnome-settings-daemon &>/dev/null

( sleep 3; lxpanel )&
exec openbox

Kết quả:


Khi chương trình cuối cùng trong script kết thúc, thì phiên làm việc (session) cũng tự động kết thúc. Cái này hơi khác với VNC một chút.

Nếu muốn quản lý các phiên làm việc (session) của NX thì chạy nxclient --admin. Ta có thể disconnect một phiên, và sang một máy trạm (client viewer) khác nối vào làm tiếp.

Lặt vặt:

  • Nếu cài tối thiểu (minimalist) thì lưu ý là cần đủ một số chương để X có thể chạy được (không nhất thiết là xorg-server, có thể là x11vnc), vì khi cài freenx, lúc kiểm tra phụ thuộc (dependency) thì không có check điều này. Chẳng hạn xfonts-base cần có, v.v.
  • Nếu khi chạy các phím arrow không chạy, thì có thể là thiếu phần ánh xạ bàn phím (key map). Có thể Google để tìm cách chỉnh lại. Ví dụ: $ sudo apt-get install xkb-data và sau đó (chạy một lần là đủ) setxkbmap.

Tham chiếu:

28 tháng 7, 2009

Một cách hiển thị font

Có một số cơ chế hiển thị font chữ lên màn hình (font rasterization). Tuy nhiên, có cách thì hợp với font này, có cách thì hợp với font khác, có cách hợp với loại màn hình này, có cách hợp với loại màn hình khác,… Trên Internet, có khá nhiều bài viết về chủ đề này (ví dụ, tìm trên Google với từ “linux windows fonts.conf hinting”).

Cá nhân tôi, với nhu cầu làm việc với tiếng Việt, tiếng Hoa đồng thời, màn hình loại LCD, thì tôi thấy nhu cầu của mình như sau:

  • Các chữ tiếng Việt dùng font miễn phí của Windows 2000/XP ngày xưa (Times New Roman, Arial,…) với cơ chế hinting full vì những font này được thiết kế như vậy; kết quả được chữ sắc cạnh, dù chữ to hay nhỏ cũng vậy. Nếu dùng chức năng antialias (tức là smoothing), hoặc hinting theo cơ chế khác, kiểu như autohint, thì chữ không đẹp với loại font này, nhất là với cỡ chữ nhỏ, sẽ có viền bao mờ mờ ở ngoài.
  • Các chữ tiếng Hoa và font khác của Linux thì phải có thêm chức năng smoothing, nếu không nét chữ không đẹp. Nhất là các loại font chữ tiếng Trung Quốc, nếu không có smooth thì rất khó đọc. Tuy nhiên, với cỡ chữ đủ nhỏ, thì không nên có smooth, vì chữ sẽ không sắc nét. Bật chức năng dùng embeded bitmap cho một số font cũng tốt.


Font "Arial" với nét sắc cạnh, font chữ Trung Quốc với nét được làm mềm (smooth), tuy nhiên với font chữ Trung Quốc nhỏ (small) thì không dùng chức năng làm mềm.


Một màn hình với font chữ Việt và chữ Trung Quốc được hiển thị bằng các cơ chế khác nhau:

Tóm lại, về lý tưởng nhất, là làm sao có thể yêu cầu hệ thống gán các cách biểu diễn font khác nhau cho các hoàn cảnh khác nhau. Có thể làm bằng cách đặt các điều kiện trong file ~/.fonts.conf (đã thử trên Debian/Ubuntu). Tức là trước hết đặt cơ chế hiển thị font cho trường hợp chung (general) (xem hình dưới đây, gnome-appearance-properties); sau đó điều chỉnh lại cho các trường hợp riêng bằng cách chỉnh trong ~/.fonts.conf (hãy xem ví dụ).

Ngoài ra, trên Internet cũng có thể tìm thấy hướng dẫn bật chức năng smooth (antialias) cho chương trình chạy trên wine bằng script. Hình bên dưới là hvdic chạy trên wine với cơ chế mặc định (không chỉnh smoothing gì cả), cá nhân tôi thì thấy OK với chế độ mặc định.


Screenshot: màn hình dùng fluxbox với giả lập tiling windows; font chữ tiếng Trung có dùng antialias (kiểu như cleartype), còn tiếng Việt thì không dùng antialias nên có chữ sắc nét; chương trình hvdict chạy trên wine của Debian Linux.

Tham chiếu:

24 tháng 7, 2009

Bộ phim “A Decade of Courage”

Bộ phim A Decade of Courage (Một thập kỷ dũng cảm) của Đài truyền hình Tân Đường Nhân (ntdtv.com), về cuộc đàn áp Pháp Luân Công; đúng 10 năm kể từ khi bắt đầu cuộc đàn áp vào 1999.

Một loạt vấn đề được đề cập đến trong bộ phim:

  • Vì sao đảng cộng sản TQ đàn áp Pháp Luân Công
  • Cuộc biểu tình lịch sử Trung Nam Hải 1999
  • Giới thiệu Pháp Luân Công trong bối cảnh TQ đương đại
  • Tính vô nhân đạo và tính diệt chủng của cuộc đàn áp
  • Nạn mổ cướp tạng ở Trung Quốc
  • ...

19 tháng 7, 2009

Cài Ubuntu cho laptop Pavilion dv4t

Laptop HP Pavilion loại dv4t bỏ hết Windows Vista đi kèm (không khuyến khích loại bỏ ổ đĩa D: vốn chứa phần khôi phục hệ thống (system recovery) của bản hãng); tiếp đó cài Ubuntu 9.04 Jaunty. Sau đây là những gì gặp phải.

  • Kết nối mạng: chạy ngay
  • Bàn vẽ Wacom tablet: chạy ngay
  • Đồ hoạ màn hình: chạy ngay, sau khi hệ thống tự detect được nvidia (driver version 180)
  • Loa (sound): ban đầu Ubuntu không nhận ra loa (sound), cần phải chỉnh một chút; các phím multimedia của bàn phím cũng được tự động nhận ra, không phải chỉnh sửa gì
  • Với bộ nhớ RAM lớn hơn 3GB, cần dùng Linux image 32-bit bản mang tên server, hoặc bản 64-bit.
  • Ngoài ra, có thể chỉnh một số chi tiết lặt vặt, như độ tương phản màn hình, phân giải màn hình ở grub boot loader...

Nhìn chung, máy chạy tốt. Màn hình kiểu như màn hình gương, dpi đạt cỡ trên 100dpi một chút (1280 x 800 trên màn hình 14 inch), do đó các font chữ sẽ hơi nhỏ và đọc không rõ nếu dùng font “Tahoma 8” như vẫn quen dùng. Pin dùng 2 ~ 2.5 giờ. Bàn chuột sờ (touch pad) đặt ở giữa máy chứ không phải ở giữa phím space, nên đạt về thẩm mỹ nhưng bất tiện về sử dụng. Chất lượng loa khá tốt. Nên cài Ubuntu mới nhất (hiện nay là Ubuntu 9.04 Jaunty). Đọc thử trên mạng Internet thấy các Ubuntu cũ hơn gặp khá nhiều vấn đề vì không tự tìm được driver. Dù sao HP mới đưa ra xê-ri dv4, dv5 vào cuối năm ngoái.

Cấu hình loa (sound) như sau: thêm vào phần cuối của file /etc/modprobe.d/alsa-base.conf (ở hệ khác Ubuntu, file có thể mang tên khác một chút) sau đó reboot lại máy; lưu ý là vẫn ghi dv5 trong cấu hình mặc dù đang dùng dv4 (hướng dẫn lấy từ https://help.ubuntu.com/community/SoundTroubleshooting):

## -----------------------------------------------
## https://help.ubuntu.com/community/SoundTroubleshooting
options snd-hda-intel model=hp-dv5
options snd-hda-intel enable_msi=1

Với máy có bộ nhớ lớn 3GB thì bản Ubuntu với lõi (kernel) 32-bit là không nhận ra. Giả sử có vật lý 4GB thì nó chỉ nhận ra 3GB. Ví dụ, kiểm tra bằng lệnh free -m:

$ free -m
             total       used       free     shared    buffers     cached
Mem:          3291        801       2489          0         95        342
-/+ buffers/cache:        363       2927
Swap:          282          0        282

Có hai phương án. Một là chuyển sang dùng bản Linux 64-bit. Ưu điểm là 64-bit chạy nhanh hơn. Nhưng một số chương trình, codecs của các hãng không mã nguồn mở có thể chưa có bản cho 64-bit. Nói chung, hiện nay cài Linux 64-bit là nhiều khả năng phải cài đồng thêm cả một số thư viện hoặc phần 32 bit để đảm bảo tương thích. Cách thứ hai là dùng bản lõi (kernel) của Linux đã bật chức năng PAE (Physical Address Extension). Trong Ubuntu, bản đó được mang tên là linux image bản server, như vậy vẫn là dùng bản hệ điều hành 32 bit. Cài như sau (hướng dẫn lấy từ http://www.cyberciti.biz/faq/ubuntu-linux-4gb-ram-limitation-solution/):

$ sudo apt-get update
$ sudo apt-get install linux-headers-server \
                       linux-image-server \
                       linux-server

Sau đó khởi động lại máy, kiểm tra OK thì có thể bỏ lõi (kernel) cũ đi. Ví dụ kiểm tra bằng free -m sẽ thấy kiểu như:

$ free -m
             total       used       free     shared    buffers     cached
Mem:          3989       1327       2662          0         21       1021
-/+ buffers/cache:        283       3705
Swap:          282          0        282

Ngoài ra, để chỉnh độ tương phản của màn hình, với tôi thấy tăng độ tương phản lên một chút là phù hợp cho công việc thường là soạn thảo vản bản của mình; với lệnh:

$ nvidia-settings --assign gamma=0.75

Muốn độ phân giải của màn hình được chỉnh đúng ngay từ boot loader ---trường hợp mặc định là dùng grub làm boot loader--- thì có thể phải tra bảng bảng các mode của VESA, và thấy rằng với phân giải 1280x800 thì mã số mode là 864. Chỉnh lại file /boot/grub/menu.lst, và sẽ có nội dung đại khái như sau:

.....
## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=quiet vga=864
.....
## altoption boot targets option
## multiple altoptions lines are allowed
## e.g. altoptions=(extra menu suffix) extra boot options
##      altoptions=(recovery) single
# altoptions=(recovery mode) single vga=864
.....
title  Ubuntu 9.04, kernel 2.6.28-13-server
uuid  071d728c-8a10-4e5f-bd88-6508adb5abef
kernel  /boot/vmlinuz-2.6.28-13-server root=UUID=xxxxx ro quiet vga=864
initrd  /boot/initrd.img-2.6.28-13-server
quiet

title  Ubuntu 9.04, kernel 2.6.28-13-server (recovery mode)
uuid  071d728c-8a10-4e5f-bd88-6508adb5abef
kernel  /boot/vmlinuz-2.6.28-13-server root=UUID=xxxxx ro  single vga=864
initrd  /boot/initrd.img-2.6.28-13-server
.....

Không rõ tại sao màn hình khi bật lên rất sáng (backlight). Để chỉnh backlight có thre dùng lệnh sau (0 = min, 100 = max):

echo 0 >/proc/acpi/video/EVGA/LCD/brightness

Để chỉnh tốc độ CPU (gia tăng đáng kể thời gian dùng pin khi cần thiết), có thể dùng lệnh cpufreq-set (cần cài đặt cpufrequtils), có thể xem hiện trạng bằng cpufreq-info:

$ sudo apt-get install cpufrequtils
$ sudo cpufreq-set -c 0 -g powersave
$ sudo cpufreq-set -c 1 -g powersave
$ cpufreq-info | grep current

Để sudo không hỏi password khi đánh những lệnh như cpufreq-set, có thể chỉnh trong /etc/sudoers bằng cách chạy sudo visudo rồi thêm vào nội dung kiểu như:

Cmnd_Alias CPUFREG_SET = /usr/bin/cpufreq-set
%admin  ALL=NOPASSWD: SHUTDOWN, REBOOT, HALT, CPUFREG_SET

Ngoài ra, nếu không thích dùng lệnh, thì gnome cũng có sẵn tool đồ hoạ và applet để làm việc này. (Lưu ý, chế độ mặc định (default) là chưa cấu hình cho chạy trực tiếp sudo cho phần này, cần chạy sudo dpkg-reconfigure gnome-applets để chỉnh lại).

Tham chiếu:

Cách cài đặt engine Aurora

Cài đặt engine Aurora Engine trên Ubuntu 9.04 (Jaunty)


Hình trên lấy từ gnome-look.org

Cách cài đặt ở đây được trích từ: http://www.myscienceisbetter.info/2008/03/how-to-install-aurora-gtk-engine-14-ubuntu-hardy.html

Các bước cần làm:

Download từ gnome-look.org.

Cài phần chương trình dịch (compiler modules) nếu chưa có trên Ubuntu:

sudo apt-get install build-essential libgtk2.0-dev

Dịch chương trình và cài vào máy

cd aurora-1.5/
./configure --prefix=/usr --enable-animation
make
sudo make install