Khắc phục lỗi automount CD của Ubuntu khi sử dụng xvnkb


  1. Đặt vấn đề: Như đã đề cập, việc sử dụng bộ gõ xvnkb trong ubuntu gây ra một lỗi khá nghiêm trọng là không thể tự động mount CD. Và nguyên nhân của lỗi đó chính là do file reload của xvnkb, đó là file /etc/ld.so.preload . Các bạn thử mở file này xem trong đó chỉ có 1 dòng duy nhất: ” /usr/local/lib/xvnkb.so.0.2.9a” . Nhưng nếu không có dòng này thì xvnkb sẽ không thể hoạt động. Và một cách giải quyết được đưa ra là: xoá nội dung file đó, khởi động máy tính, nạp lại nội dung file, khởi dộng xvnkb sau đó có thể gõ tiếng việt & mount CD bình thường. Nhưng trước khi tắt máy lại phải xoá nội dung file đi. Nguyên nhân ta phải nạp nội dung một cách thủ công mà theo Wangji trong VnOSS forum là phải để cho hald,udev sự cố events detect đã nạp xong. Vậy có cách nào tự động hoá các tiến trình trên?
  2. Giải quyết vấn đề: Tôi sẽ đưa ra 1cách giải quyết của cá nhân tôi, dù chưa hoàn hảo lắm bằng cách viết một số script đơn giản.
  • Trước tiên để an toàn xin các bạn hãy sao lưu file này ra bản dự phòng tạm gọi là ld.so.preload.old và đặt trong thư mục ~. Do file ld.so.preload nằm trong thư mục /etc thuộc quyền của root cho nên để dễ dàng thay đổi ta phải set lại permission bằng cách dùng lệnh: sudo chmod a+w /etc/ld.so.preload (thêm vào quyền write để có thể thay đổi nội dung).
  • Bây giờ ta sẽ tạo 1 script để tự động nạp lại nội dung file và khởi động xvnkb. Ở thư mục bất kỳ thuộc quyền sở hữu của bạn, tạo 1 file mới tạm gọi là fix_xvnkb_start.sh (có thể click phải chọn Create Document-Emty file) mở file lên và gõ vào:
#!/bin/bash
sleep 9 && echo /usr/local/lib/xvnkb.so.0.2.9a > /etc/ld.so.preload;
sleep 1 && xvnkb -m=telex -c=utf8;

Save file, click phải vào file- properties-permissions-Allow executing file as program. Bây giờ ta sẽ cho script này chạy khi khởi động bằng cách vào System-Preferences-Sessions, chọn Add- đặt tên bất kỳ ở mục name và ở mục Command ấn Browse trỏ đến file fix_xvnkb_start.sh vừa tạo.

  • Bây giờ ta phải làm sao cho khi tắt máy sẽ tự động xoá nội dung file /etc/ld.so/preload . Do tôi chưa tìm được cách ghép 1 sự kiện tự động chạy khi shutdown nên đành phải tạo 1 script mới để tắt máy(tức là không sử dụng nút tắt có sẵn của ubuntu) bằng cách dùng lệnh shutdown. Nhưng một vấn đề nữa đặt ra là chỉ có root mới có thể thực hiện lệnh shutdown do đó khi gọi lệnh này sẽ đòi hỏi password của root rất bất tiện. Vậy có cách nào không cần password của root khi user dùng lệnh shutdown? Rất may là tôi đã tìm ra lời giải bằng cách thêm vào SUID mode cho lệnh shutdown, cách thực hiện:
  sudo chmod a+s /sbin/shutdown

Và từ nay bạn có thể dùng lệnh shutdown 1 cách dễ dàng. Công việc còn lại chỉ là viết 1 script tắt máy đơn giản: tạo 1 file có tên fix_xvnkb_shutdown.sh có nội dung:

  #!/bin/bash
 echo > /etc/ld.so.preload;
 shutdown -P 0;

Lưu lại, đặt thuộc tính allow executing as program như đã nói ở trên. Sau đó có thể add 1 launcher vào panel để tiện sử dụng: Click phải vào panel-add to panel-custom application launcher , mục name gõ vào shutdown, mục command trỏ tới file fix_xvnkb_shutdown.sh, lựa cái icon đẹp đẹp gắn vào là xong. Các bạn cũng có thể thêm 1 file fix_xvnkb_restart.sh có nội dung tương tự dùng để restart máy nhưng thay thế câu lệnh cuối là shutdown -r 0;

Tôi vừa đưa ra một cách để giải quyết vấn đề mount CD của xvnkb, dĩ nhiên đây vẫn chưa thể là cách tối ưu nhưng chắc hẳn cũng khá hữu dụng.

———————————————–

Bài viết của silverhat tại lambuu.06ctt.net , silverhat.wordpress.com

 Mời bạn đọc bài viết thứ 2 để tối ưu vấn đề:

Khắc phục lỗi automount CD của Ubuntu khi sử dụng xvnkb part 2

 

Posted in linux, ubuntu. Nhãn: , , . 2 Comments »

2 phản hồi to “Khắc phục lỗi automount CD của Ubuntu khi sử dụng xvnkb”

  1. Phan Tuan Tung Says:

    kho qua anh o’i ,the^ cho em hoi la` muo^n go~ le^nh de^ mount o^ dia thi` la`m the^ nao` .Em dang gap truc trac tre^n :((

  2. silverhat Says:

    vào terminal gõ lệnh
    sudo mount /dev/cdrom
    sau đó nhập password của root vào.
    để lấy đĩa ra dùng eject /dev/cdrom
    hoặc: sudo umount /dev/cdrom
    ——-
    Khó chỗ nào vậy bạn? Bạn gặp trục trặc ở điểm nào?


Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất /  Thay đổi )

Google photo

Bạn đang bình luận bằng tài khoản Google Đăng xuất /  Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất /  Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất /  Thay đổi )

Connecting to %s

%d bloggers like this: