Moriator - I can do it!

Linux dễ dàng hơn bạn nghĩ!

Archive for October, 2008

Kinh nghiệm với VirtualBox

Posted by moriator on 9th October 2008

Lý do như đã nêu ở bài trước, là không thể không cài Windows XP để chạy Visual Studio C# Express phục vụ việc học tập. Thế là đành phải “tầm gửi” Windows XP lên Ubuntu 8.04 bằng VirtualBox.

Phiên bản mới nhất của VirtualBox hiện nay là 2.0.2. Bạn có thể tải về tại http://www.virtualbox.org/wiki/Linux_Downloads

Cách cài đặt Windows XP trên VirtualBox phải gọi là vô cùng đơn giản. Bạn chỉ việc làm những thao tác đơn giản như dưới đây (với các OS khác bạn làm hoàn toàn tương tự).

Tạo ổ đĩa ảo

Mở VirtualBox, chọn New -> Next đến phần VM Name and OS Type.

  • Name: đây là tên ổ đĩa ảo. Cứ đặt là WindowsXP hay WinsXP tùy bạn.
  • OS Type: Windows XP

Click Next đến phần Memory. Đây là dung lượng RAM bạn cấp cho Windows XP. Tùy vào lượng RAM của máy mà bạn chia sẻ cho phù hợp -> Next.

Virtual Hard Disk là phần tạo ổ đĩa ảo. Nếu chưa tạo bao giờ thì bạn chọn New… -> Next -> Image Type.

  • Dynamically expanding image: xài đến đâu, dung lượng phình ra đến đó. (nên chọn)
  • Fixed-size image: tạo 1 dung lượng sẵn cố định.

-> Next ->

  • Image File Name: đây là nơi sẽ đặt ổ đĩa ảo. Mặc định là tại ~/.VirtualBox/VDI. Bạn có thể chọn ở vị trí khác. Điều này là cần thiết nếu bạn muốn chia sẽ ổ đĩa này cho nhiều tài khoản sử dụng (nếu đặt trong ~ thì tài khoản khác sẽ không thể dùng được.)
  • Image Size: dung lượng ổ đĩa tối đa. Nếu bạn chọ Image Type là Dynamically expanding image thì sau khi cài ổ đĩa chỉ có khoảng 1.5GB thôi.

-> Next -> Finish.

Thế là xong bước 1.

Cài đặt Windows XP, bạn chỉ việc bỏ đĩa Windows XP vào ổ đĩa, mờ VirtualBox lên, chọn WindowsXP -> Start và cài đặt bình thường.

Chú ý: có 1 phím dùng để điều khiển con chuột giữa máy thật và máy ảo, gọi là phím Host. Mặc định của VirtualBox là phím Ctrl phải.

Chia sẻ file.

Việc chia sẻ file giữa máy thật và máy ảo trong VirtualBox rất đơn giản, thậm chí không cần phải gõ bất kì 1 dòng lệnh nào (như rất nhiều tài liệu hướng dẫn). Các bạn làm như sau.

Tạo 1 thư mục dùng để “liên lạc” giữa máy thật và máy ảo. Giả sử mình tạo thư mục SharedFolder trong ~.

Trong VirtualBox, chọn WindowsXP (bên trái), click vào Shared Folder (phần Details bên phải). Cạnh bên phải của bảng Setting chọn Add New Shared Folder (Ins) và chọn thư mục SharedFolder vừa mới tạo -> OK.

Khởi động Windows XP lên. Mở My Computer, trên thanh Menu chọn Tools -> Map Network Dirver…

  • Driver: tên phân vùng dùng để chia sẻ. Bạn có thể chọn bất kì chữ cái gì trừ những chữ đã “có chủ”.
  • Folder: chọn \\BOXSVR\SharedFolder

Finish. Lúc đó trong My Computer bạn sẽ thấy ổ đĩa SharedFolder trong phần Network Drivers.

Thế là xong!

Kinh nghiệm:

- Bạn có thể mount 1 file *.iso mà không cần phải burn ra đĩa. Trong cửa sổ WindowsXP, chọn Devices -> Mount CD/DVD-ROM -> CD/DVD-ROM Image…

- Muốn có âm thanh trong máy ảo, chọn Audio trong Setting -> Enable Audio -> Host Audio Driver: ALSA Audio Driver.

- Nếu cần thiết, tất hết CD-ROM, USB, Network để tránh trường hợp virus xâm nhập. Con đường kết nối duy nhất là SharedFolder.

- Các phím tắt có trong mục Machine trên thanh Menu. 1 số phím tắt thường dùng là Host+F, Host+L, Host+Del.

Thấy đơn giản chưa! :D

Chúc vui!

Posted in Uncategorized | No Comments »

Vật vã cùng MonoDevelop >”<

Posted by moriator on 1st October 2008

Vì nhu cầu học tập C# trên trường, mình phải cài MonoDevelop. Mọi chuyện quả là chẳng dễ dàng chút nào khi MonoDevelop sử dụng GTK# để quản lý giao diện, khác hẳn với Winform trong Visual Studio (VS). Cách tạo giao diện, đứng dưới góc độ của VS thì MonoDevelop là quá chuối! Vật vã một hồi cũng có chút xí kinh nghiệm như sau.

1/ Muốn thêm 1 widget thì không đơn giản kéo-thả như trong VS mà phải tạo các Container trước. Thật sự các Container cũng không linh hoạt về kích thước và vị trí như VS nên giao diện nhìn rất là mất cân đối :( .

2/ MonoDevelop mặc định không có class System.Windows.Forms. Nếu muốn sử dụng, bạn làm như sau:

- Mở Terminal cài 2 gói cần thiết: $ sudo apt-get install libmono-winforms1.0-cil libmono-winforms2.0-cil

- Mở 1 Solution trong MonoDevelop, click phải lên References -> Edit References, chọn thêm System.Windows.Forms.

3/ Các phương thức sự kiện trên MonoDevelop cũng khác với VS. Hix. Bây giờ mình đang có 1 rắc rối cần được giúp đỡ như sau. Mình tạo 1 textbox chỉ cho phép người dùng nhập số vào thôi. Mình muốn khi người dùng gõ 1 phím thì nó sẽ kiểm tra xem kí tự vừa gõ vào, nếu không phải là số thì sẽ không hiện kí tự đó vào trong textbox. Pro chỉ mình với nhá.

(Entry tiếp tục cập nhật nếu có phát hiện đau đầu nào khác)

Chúc vui!

Posted in Lập trình | 3 Comments »