Quản Trị Mạng - Tất cả chúng ta đều biết rằng, hệ điều hành và các ứng dụng Android được dựa trên bộ kernel của Linux, nhưng điều đó không có nghĩa rằng những thiết bị Android đều tương thích với các distro khác nhau của Linux. Nếu có 1 chiếc Galaxy Nexus thì chắc hẳn sẽ nhận ra rằng thiết bị đó không có thẻ nhớ micro SD đi kèm, và do vậy người dùng không thể truyền dữ liệu khi được kết nối với máy tính sử dụng hệ điều hành Ubuntu (vì hệ thống không hiển thị chức năng File Manager).
Hầu hết các thế hệ điện thoại Android cũ đều sử dụng chế độ USB Block để có thể kết nối tới máy tính. Và trong chế độ này, máy tính sẽ nhận thẻ SD của điện thoại là thiết bị USB, tuy nhiên nhược điểm ở đây là chiếc thẻ SD đó sẽ không hoạt động trên điện thoại nữa. Và bất kỳ ứng dụng nào phụ thuộc vào thẻ SD cũng sẽ không thể làm việc khi đã kết nối với máy tính.
Dòng sản phẩm Galaxy Nexus (và một số mẫu máy tính bảng Android) khác sử dụng giao thức Media Transfer Protocol (MTP), có nhiều ưu điểm hơn so với chế độ USB Block, đó là khi kết nối điện thoại với máy tính thì thẻ nhớ SD vẫn hoạt động bình thường. Bên cạnh đó, người dùng được toàn quyền sử dụng phân vùng hệ thống dành cho các ứng dụng, chương trình, ca nhạc, ảnh... Tuy nhiên, Ubuntu lại không cài đặt sẵn tính năng hỗ trợ MTP, và đó là lý do chính tại sao máy tính không thể “nhìn thấy” chiếc điện thoại sau khi kết nối qua cổng USB. gMTP là 1 ứng dụng client được dùng để chạy những file mp3 và media thông thường dành cho các thiết bị hoạt động dựa trên giao thức MTP, cung cấp cho người sử dụng giao diện đồ họa để kết hợp thiết bị Galaxy Nexus, đồng thời hỗ trợ khả năng truyền dữ liệu vào và ra khỏi thiết bị đó. Nhưng nếu muốn quá trình này hoạt động bình thường thì chúng ta cần phải biên dịch 1 vài đoạn mã cần thiết để hỗ trợ.
Trước tiên, các bạn khởi động Terminal và bắt đầu cài đặt libusb-dev bằng lệnh sau:
sudo apt-get install libusb-dev
Tiếp theo, chúng ta sẽ phải cần đến bản copy của file libmtp. Bản có trên các repository của Ubuntu đã hết hạn, do vậy hãy tải phiên bản mới nhất của libmtp tại đây. Ví dụ tại đây là libmtp-1.1.2.tar.gz. Sau đó, giải nén file libmtp vào thư mục Home, rồi quay trở lại Terminal:
cd libmtp-1.1.2
./configure --prefix=/usr
make
sudo make install
Câu lệnh trên sẽ tiến hành biên dịch và cài đặt file libmtp. Và cuối cùng là cài gMTP:
sudo apt-get install gmtp
Tiếp theo, kết nối Galaxy Nexus và khởi động gMTP, nhấn nút Connect. Nếu thành công, các bạn sẽ nhìn thấy thư mục chứa dữ liệu tương ứng của thẻ SD trên thiết bị Galaxy Nexus, và cũng có thể chuyển file bằng cách dùng phím chức năng Add/Download:
Một số điểm lưu ý:
Cho dù đã được kết nối trong gMTP thì thiết bị của bạn vẫn không hiển thị trong File Manager, chúng ta chỉ có thể chuyển được file, dữ liệu bên trong giao diện đồ họa của gMTP.
Khi muốn download file từ điện thoại, hệ thống sẽ hiển thị lỗi: “The file is not found”. Đó là bởi vì đường dẫn Download mặc định đã được thiết lập thành “/” (root) và người dùng không có đủ quyền để thực hiện các thao tác thay đổi tới thư mục root. Để khắc phục, mở Preferences và thay đổi đường dẫn Download thành “/home/username” hoặc theo tùy chọn:
Chúc các bạn thành công!