Câu hỏi thường gặp về Linux

Tôi có thể trò chuyện với nhà phát triển ở đâu?

Mọi cuộc thảo luận về việc phát triển Chromium OS đều diễn ra trong Cộng đồng trợ giúp của Chromebook. Bạn có thể hỏi bất cứ điều gì, nhưng trước tiên hãy nhớ tìm kiếm để xem câu hỏi của bạn đã được giải đáp hay chưa.

Tôi có thể gửi yêu cầu về tính năng ở đâu?

Là một dự án mới, chúng tôi có rất nhiều việc phải làm và dự định phát hành, vì vậy, bạn nên tạm thời chờ đợi và kiểm tra lại sau vài bản phát hành ChromeOS.

Trong thời gian chờ đợi, bạn có thể trò chuyện/đặt câu hỏi trên danh sách gửi thư ở trên.

Sau khi chúng tôi ổn định hơn, bạn có thể sử dụng công cụ theo dõi lỗi của chúng tôi. Hãy xem câu hỏi tiếp theo để biết thông tin chi tiết.

Tôi có thể báo cáo lỗi ở đâu?

Trước tiên, vui lòng đảm bảo bạn đang sử dụng kênh nhà phát triển mới nhất. Chúng tôi vẫn đang nỗ lực hết mình.

Tiếp theo, vui lòng đảm bảo rằng vấn đề này chưa được biết đến hoặc chưa được khắc phục. Bạn có thể xem danh sách lỗi hiện có.

Nếu vẫn muốn gửi ý kiến phản hồi, bạn có thể gửi báo cáo phản hồi và thêm #crostini (một tên gọi khác của Linux trên ChromeOS) vào phần mô tả. Bạn có thể gửi ý kiến phản hồi về bất kỳ phần nào của ChromeOS bằng tổ hợp phím alt+shift+i.

Nếu bạn vẫn muốn báo cáo lỗi cho nhà phát triển, hãy sử dụng đường liên kết này để chuyển đến đúng người.

Vì sao có tên là Crostini?

Đây là một phiên bản khác của crouton, một dự án giúp người dùng đã bật chế độ nhà phát triển dễ dàng tạo môi trường Linux đầy đủ (bao gồm cả các công cụ dành cho nhà phát triển). Crostini (Linux trên ChromeOS) hướng đến việc đáp ứng phần lớn các trường hợp sử dụng mà crouton hỗ trợ, đồng thời là một món ăn nhẹ lớn hơn và ngon hơn so với crouton, do đó có tên như vậy.

crouton đã giúp xác định nhiều trường hợp sử dụng mà nhà phát triển muốn có trên ChromeOS, vì vậy, công cụ này đã giúp định hướng Linux trên ChromeOS theo góc độ yêu cầu. Chúng tôi muốn đảm bảo rằng phần lớn người dùng crouton có thể sử dụng Linux trên ChromeOS thay vì crouton cho nhu cầu của họ, nhưng trong một môi trường an toàn.

Vì vậy, crouton đã giúp truyền cảm hứng cho hướng đi của Linux trên ChromeOS, nhưng không có mã nào được chia sẻ hoặc sử dụng lại giữa hai hệ điều hành này. Crouton không phải là một mô hình xấu, mà chỉ là một mô hình hoàn toàn khác.

Khi nào thiết bị của tôi sẽ được hỗ trợ?

Hiện tại, chúng tôi không xuất bản thông tin nào khác ngoài tài liệu này. Nếu thiết bị của bạn không có trong phần Hỗ trợ thiết bị của tài liệu chính thức về Chromium OS, thì tức là chúng tôi chưa đưa ra quyết định nào về thiết bị cụ thể đó để công bố cho công chúng.

Vì vậy, vui lòng không yêu cầu chúng tôi cung cấp lộ trình hỗ trợ thiết bị vì chúng tôi không có thông tin này.

Tôi có cần bật chế độ nhà phát triển không?

Bạn không cần bật chế độ nhà phát triển (nơi bạn thấy màn hình đáng sợ khi khởi động về việc tắt tính năng xác minh hệ điều hành). Tất cả các tính năng này đều được thiết kế để chạy một cách an toàn trong khi hệ thống của bạn đang chạy ở chế độ bình thường/đã xác minh.

Đối với một số thiết bị, bạn có thể phải chuyển sang kênh dành cho nhà phát triển, nhưng điều này hoàn toàn không liên quan đến chế độ nhà phát triển.

Tôi có đang chạy Linux trên ChromeOS không?

Nếu bạn đang sử dụng ứng dụng Terminal hoặc các chương trình trong vùng chứa mặc định mà chúng tôi cung cấp,bao gồm cả các chương trình của chúng tôi để đơn giản hoá việc tích hợp (ví dụ: Sommelier), thì câu trả lời là có.

Nếu bạn đang chạy vùng chứa hoặc máy ảo của riêng mình, thì câu trả lời là không.

Tại sao nên chạy máy ảo? Vùng chứa không an toàn sao?

Mặc dù các vùng chứa thường tự cô lập (thông qua không gian tên Linux), nhưng chúng không cô lập nhân hoặc các tài nguyên hệ thống tương tự. Điều đó có nghĩa là chỉ cần một lỗi duy nhất trong nhân là có thể khai thác hệ thống một cách triệt để và đánh cắp dữ liệu của bạn.

Điều đó là không đủ đối với ChromeOS, do đó, chúng tôi đặt mọi thứ vào một VM. Giờ đây, bạn phải khai thác crosvm thông qua các hoạt động tương tác hạn chế với khách và chính crosvm được cách ly rất nghiêm ngặt.

Để biết thêm thông tin chi tiết, hãy xem phần Bảo mật trong tài liệu chính thức về Chromium OS.

Làm cách nào để chia sẻ tệp giữa ChromeOS và vùng chứa?

Bạn có thể truy cập vào bộ nhớ của vùng chứa Linux mặc định trên ChromeOS trong phần "Tệp Linux" của ứng dụng Files trên ChromeOS. Khi dùng Secure Shell, bạn có thể thiết lập một điểm kết nối SFTP cho các vùng chứa từ xa khác, sau đó duyệt qua các tệp bằng ứng dụng Files.

Tôi có thể truy cập vào tệp khi vùng chứa không chạy không?

Hiện tại, vùng chứa phải đang chạy thì bạn mới có thể truy cập vào nội dung của vùng chứa đó. Vùng chứa Linux mặc định trên ChromeOS sẽ tự động khởi động khi bạn truy cập vào "Tệp Linux" trong ứng dụng Tệp.

Tôi có thể cài đặt các mô-đun kernel tuỳ chỉnh không?

Hiện tại, Termina không hỗ trợ mô-đun. Điều đó có nghĩa là bạn sẽ không dùng được phần mềm yêu cầu tạo hoặc tải các mô-đun kernel tuỳ chỉnh (ví dụ: VirtualBox). Hãy xem cả câu hỏi tiếp theo.

Tôi có thể chạy một máy ảo bên trong máy ảo không?

Tính năng ảo hoá lồng nhau được hỗ trợ trên một số thiết bị ChromeOS để cho phép hỗ trợ Trình mô phỏng Android. Ngoài ra, bạn có thể chạy qemu-system để mô phỏng phần cứng và khởi động bất kỳ hệ điều hành nào bạn muốn bên trong đó. Rất tiếc là quá trình này sẽ diễn ra khá chậm vì QEMU sẽ không thể sử dụng KVM để tăng tốc phần cứng.

Tôi có thể chạy vùng chứa Docker hoặc vùng chứa khác bên trong vùng chứa Linux của ChromeOS không?

Có! Trước tiên, bạn có thể cần cài đặt các gói có liên quan cho bất kỳ định dạng vùng chứa nào mà bạn muốn chạy.

Cấu trúc nào hoạt động trên hệ thống của tôi?

Cấu trúc vùng chứa Linux sẽ khớp với cấu trúc của thiết bị mà bạn đang dùng. Bạn có thể tìm hiểu về thông tin đó theo hai cách:

  • Trong một thẻ mới, hãy chuyển đến chrome://settings/help/details rồi xem Nền tảng, sau đó so khớp tên bảng với danh sách thiết bị công khai của chúng tôi. Xem trường "User ABI" (Giao diện nhị phân của người dùng) để biết loại CPU mà bạn có.
  • Mở crosh rồi chạy uname -m. Thao tác này sẽ in cấu trúc của thiết bị hiện tại.

Nếu thấy x86_64, bạn sẽ có thể chạy mã được biên dịch cho Intel/AMD (32 bit/64 bit/x32 đều hoạt động).

Nếu thấy arm (hoặc một biểu tượng tương tự như armv7l) hoặc aarch64, bạn sẽ có thể chạy mã được biên dịch cho ARM/ARM64.

Tôi có thể chạy các cấu trúc khác không?

Hiện không có tính năng hỗ trợ tích hợp để chạy mã ARM trên hệ thống Intel (hoặc ngược lại). Bạn có thể tự xử lý việc này (ví dụ: bằng cách sử dụng qemu-user), nhưng nếu đã quen với qemu-user, thì bạn đã biết điều đó.

Tôi có thể chạy các chương trình tiếp tục chạy sau khi đăng xuất không?

Không đâu. Tất cả máy ảo (và các vùng chứa của chúng) đều được liên kết với phiên đăng nhập của bạn. Ngay khi bạn đăng xuất, theo thiết kế, tất cả chương trình sẽ bị tắt/dừng.

Vì tất cả dữ liệu của bạn đều nằm trong nhà được mã hoá, nên chúng tôi không muốn dữ liệu đó có thể bị rò rỉ khi bạn đăng xuất.

Để biết thêm thông tin chi tiết, hãy xem phần Bảo mật trong tài liệu chính thức về Chromium OS.

Tôi có thể tự động chạy các chương trình khi đăng nhập không?

Không đâu. Bạn cần khởi động lại tất cả VM (và các vùng chứa của chúng) theo cách thủ công. Điều này giúp ngăn chặn các lỗ hổng bảo mật dai dẳng.

Để biết thêm thông tin chi tiết, hãy xem phần Bảo mật trong tài liệu chính thức về Chromium OS.

Tôi có thể tự động chạy các chương trình khi khởi động không?

Không đâu. Xem các câu hỏi trước đó.

Tôi có thể đặt các biến môi trường cho vùng chứa của mình không?

Chắc chắn rồi! Bạn có thể thực hiện việc này theo một số cách.

  • environment.d cho phép bạn đặt các biến môi trường cho phiên systemd --user, bao gồm Terminal và tất cả các ứng dụng GUI. Bạn có thể cần một vùng chứa mới hơn, Debian 10 "buster", để sử dụng phương thức này.
  • Nếu bạn chỉ muốn các biến môi trường trong Terminal, hãy đặt các biến đó trong tệp cấu hình của trình bao, chẳng hạn như ~/.bashrc hoặc ~/.zshrc.

Các thay đổi đối với biến môi trường chỉ có hiệu lực đối với các chương trình mới bắt đầu. Bạn cũng có thể phải khởi động lại các chương trình hoặc toàn bộ vùng chứa để mọi thay đổi có hiệu lực.

Có hỗ trợ nhiều hồ sơ không?

Không, Terminal chỉ được hỗ trợ trong hồ sơ chính (*). Mục tiêu của chúng tôi là mang đến trải nghiệm mượt mà và đầy đủ chức năng cho hồ sơ chính, đồng thời không gặp sự cố hoặc vấn đề trong hồ sơ phụ. Chúng tôi không có kế hoạch bổ sung thêm nhiều tính năng cho hồ sơ phụ.

Nếu bạn chưa quen với tính năng hỗ trợ nhiều hồ sơ, hãy xem tài liệu chung về tính năng nhiều hồ sơ để biết thêm thông tin chi tiết.

(*): Ứng dụng Terminal (Thiết bị đầu cuối) bị vô hiệu hoá trong tất cả các hồ sơ phụ. Mọi người có thể khởi động VM theo cách thủ công thông qua crosh và các vùng chứa trong đó, nhưng giao diện người dùng và ứng dụng Files có thể sẽ không tích hợp tự động.

Ứng dụng có hỗ trợ tài khoản con không?

Không, Terminal không được hỗ trợ trong tài khoản trẻ em. Chúng tôi không có kế hoạch cung cấp tính năng này cho những tài khoản như vậy.

Nếu bạn chưa biết về tài khoản dành cho trẻ em, hãy xem tài liệu chung về tài khoản dành cho trẻ em để biết thêm thông tin chi tiết.

Các VM/vùng chứa/dữ liệu của tôi có được đồng bộ hoá/sao lưu không?

Cuối cùng, bạn chịu trách nhiệm về mọi dữ liệu được đưa vào các vùng chứa. Để dễ dàng đồng bộ hoá dữ liệu (chẳng hạn như thư mục dự án) giữa các máy, bạn có thể chia sẻ một thư mục trong Drive với Linux. Mọi nội dung bạn thêm vào thư mục đó sẽ được sao lưu vào Drive và đồng bộ hoá giữa các thiết bị của bạn.

Làm cách nào để sao lưu một máy ảo?

Cách đơn giản nhất là sử dụng chức năng sao lưu mới được tích hợp sẵn trong ChromeOS. Để thực hiện việc này, hãy chuyển đến phần Cài đặt rồi chọn "Nhà phát triển" trong trình đơn điều hướng bên trái. Sau đó, hãy chuyển đến phần "Linux". Bạn sẽ thấy mục "Sao lưu và khôi phục". Nếu chuyển đến trình đơn này, bạn sẽ thấy nút "Sao lưu" giúp lưu tệp .tini cho bạn.

Nếu muốn sao lưu một vùng chứa riêng lẻ, bạn có thể dùng các lệnh LXC tiêu chuẩn.

Bạn có thể dùng lệnh vmc export để xuất toàn bộ máy ảo theo cách thủ công. Theo mặc định, công cụ này sẽ kết xuất hình ảnh đĩa qcow2 vào thư mục Tải xuống. Xin lưu ý rằng hiện chưa có cách nào để nhập một máy ảo, vì vậy, cách này chỉ hữu ích cho việc chẩn đoán hoặc sử dụng một hệ thống khác để trích xuất tệp.

Tôi có thể truy cập trực tiếp vào các tệp VM/container (ví dụ: thông qua ứng dụng Files) không?

Hiện tại, bạn không thể truy cập vào các tệp hình ảnh mà máy ảo sử dụng. Chúng tôi không có kế hoạch thay đổi điều này.

Nếu muốn sao lưu dữ liệu, bạn cần thực hiện theo cách thủ công.

Tại sao thời gian trong VM/vùng chứa không đồng bộ?

Đồng hồ bên trong VM (và theo đó là các vùng chứa) sẽ tự động đồng bộ hoá với đồng hồ của ChromeOS. Vì vậy, bạn không cần tự chạy các dịch vụ giữ thời gian (ví dụ: ntp). Đồng hồ đó dựa trên giờ UTC.

Bắt đầu từ R75, chúng tôi sẽ cố gắng đồng bộ hoá dữ liệu múi giờ vào vùng chứa thông qua timedatectl. Nếu cách này không hiệu quả, chúng ta sẽ quay lại bằng cách xuất biến môi trường TZ.

Hiện tại, chúng tôi không cập nhật thông tin chi tiết về múi giờ trong chính VM. Chúng tôi cũng không cố gắng cập nhật bất kỳ chế độ cài đặt múi giờ nào khác vì chúng không theo tiêu chuẩn trên các bản phân phối. Vì vậy, thời gian có thể xuất hiện không chính xác trong nháy mắt trong những môi trường đó hoặc không còn mới nếu biến môi trường TZ được sử dụng.

Hãy xem https://crbug.com/829934 để biết thêm thông tin kỹ thuật. Vấn đề này phức tạp hơn bạn nghĩ đấy!

Những định dạng sao chép và dán nào được hỗ trợ?

Hiện tại, chúng tôi chỉ hỗ trợ nội dung text/plain. Chúng tôi dự định sẽ sớm bổ sung thêm các định dạng khác (ví dụ: image/pngtext/rtf).

Bạn có thể xem danh sách được hỗ trợ hiện tại trong exo/data_source.cc.

Mặc dù X/Wayland hỗ trợ một số lượng tuỳ ý các định dạng MIME, nhưng mục tiêu cuối cùng của chúng tôi là chỉ hỗ trợ tất cả các định dạng mà chính Chrome hỗ trợ. Hãy xem tệp clipboard_constants.cc để biết danh sách đó.

Xin lưu ý rằng chúng ta chỉ nói về các ràng buộc đối với dữ liệu được lưu trữ trong bảng nhớ tạm. Các ứng dụng Wayland vẫn có thể tự do chuyển dữ liệu trực tiếp giữa chúng ở bất kỳ định dạng tuỳ ý nào mà chúng muốn.

Tôi có thể tự động đọc/ghi vào bảng nhớ tạm từ bên trong máy ảo không?

Hiện tại thì không.

Về mặt bảo mật, chúng tôi không muốn mã không đáng tin cậy tự động hoặc âm thầm trích xuất bất cứ nội dung nào mà người dùng đã sao chép. Có thể phiên trình duyệt của bạn đang sao chép dữ liệu cá nhân hoặc mật khẩu. Đây cũng là vấn đề mà nền tảng web gặp phải.

Thao tác này không giống với việc người dùng dán dữ liệu theo cách thủ công (ví dụ: ctrl+v). Đây chỉ là về việc đọc có lập trình.

Chúng tôi không cho rằng tình trạng này sẽ kéo dài mãi mãi. Sau khi có mô hình quyền và giao diện người dùng để quản lý những việc này, chúng tôi có thể xem xét việc cho phép người dùng cấp quyền này.

Nếu bạn sử dụng các công cụ xclip hoặc X, các công cụ này thường có một vùng đệm cục bộ (trong XWayland), nhưng vùng đệm này sẽ không tự động đồng bộ hoá với phần còn lại của hệ thống.

Tôi có phải quản lý các bản cập nhật máy ảo không?

Không đâu. Termina là một thành phần được cập nhật tự động.

Xin lưu ý rằng VM tách biệt với vùng chứa.

Làm cách nào để kiểm tra phiên bản Termina?

Termina là một thành phần được tải xuống, nên bạn có thể truy cập vào chrome://components trong một thẻ mới và tìm cros-termina.

Bạn cũng có thể kết nối với một VM thông qua vsh và chạy cat /etc/lsb-release.

Tôi có phải quản lý các bản cập nhật vùng chứa không?

Các gói do Google cung cấp trong vùng chứa giao tiếp với ChromeOS hoặc bắt buộc để tích hợp ChromeOS sẽ được tự động cập nhật thường xuyên. Thao tác này sẽ tự động cài đặt mọi phần phụ thuộc cần thiết.

Không có quy trình nâng cấp tự động cho các gói đã cài đặt khác trong vùng chứa. Chúng tôi không muốn cập nhật các gói có thể làm hỏng những chương trình đã cài đặt. Vùng chứa này giống như mọi bản phân phối Linux khác, vì vậy, bạn cần cập nhật vùng chứa này theo thời gian nếu muốn dùng phần mềm mới hơn.

Bạn có thể chạy sudo apt-get update && sudo apt-get dist-upgrade.

Tôi có thể sử dụng IPv6 không?

Có, bắt đầu từ R81. Hỗ trợ cả mạng ngăn xếp kép và mạng chỉ có IPv6.

ChromeOS chỉ hỗ trợ SLAAC; hãy đọc thêm trong trang hỗ trợ về hỗ trợ IPv6 trên ChromeOS.

Tôi có thể truy cập vào mạng lớp 2 không?

Hiện tại, không. Quyền truy cập vào mạng chỉ ở lớp 3 (tức là IP). Vì vậy, bạn sẽ không thể thực hiện bất kỳ hoạt động bắc cầu hoặc hoạt động vui chơi ở cấp độ thấp hơn nào.

Không rõ liệu/khi nào điều này sẽ thay đổi. Việc kết nối với thế giới bên ngoài bằng Wi-Fi là khó khăn và không có nhiều thiết bị có kết nối Ethernet. Chúng tôi có thể hỗ trợ lớp 2 giữa các vùng chứa, nhưng không rõ có bao nhiêu người muốn điều này để biện minh cho nỗ lực liên quan.

Các VPN do CrOS/Android thiết lập (bên ngoài VM/các vùng chứa) có hoạt động không?

Hiện tại thì không. Bạn có thể đánh dấu sao https://crbug.com/834585 để nhận thông tin cập nhật.

Có hỗ trợ đầu ra âm thanh không?

Có, bắt đầu từ R74 (Termina phiên bản 11707.0.0+).

Nếu bạn thiết lập vùng chứa trước khi tính năng hỗ trợ âm thanh được triển khai, thì vùng chứa đó có thể chưa được định cấu hình đúng cách (vì chế độ mặc định trước đây là xuất ra thiết bị rỗng). Bạn có thể thử các bước sau để khôi phục:

# Make sure the new cros-pulse-config package is installed.
$ sudo apt-get update
$ sudo apt-get dist-upgrade

# Clear out existing pulse settings.
$ rm -rf ~/.config/pulse

# Turn it off & on again via crosh ([Ctrl]+[[Alt]]+[[T]]).
crosh> vmc stop termina

Tính năng ghi âm (ví dụ: micrô) có được hỗ trợ không?

Tính năng này hiện được hỗ trợ trong bản phát hành ChromeOS M84. Để bật tính năng ghi âm, hãy chuyển đến phần Cài đặt rồi chọn "Nhà phát triển" trong trình đơn điều hướng bên trái. Sau đó, hãy chuyển đến phần "Linux". Bạn sẽ thấy lựa chọn "Cho phép Linux sử dụng micrô của bạn" trong trình đơn đó.

Tôi có thể truy cập vào phần cứng (ví dụ: USB/Bluetooth/cổng nối tiếp) không?

Giờ đây, ChromeOS cho phép bạn chia sẻ một số thiết bị thông qua USB. Để bật quyền truy cập qua USB, hãy chuyển đến phần Cài đặt rồi chọn "Nhà phát triển" trong trình đơn điều hướng bên trái. Sau đó, chuyển đến phần "Linux" rồi đến phần "Các lựa chọn ưu tiên về USB". Tại đây, bạn có thể bật quyền truy cập USB cho từng trường hợp.

Đây là một lĩnh vực mà nhóm đang tích cực phát triển và sẽ hỗ trợ nhiều thiết bị hơn theo thời gian.

Tôi có thể chạy các chương trình Wayland không?

Có, và trên thực tế, đây là những lựa chọn ưu tiên! Bản thân Chrome xử lý rất nhiều ứng dụng Wayland, vì vậy, bạn có nhiều khả năng sẽ thấy mọi thứ "hoạt động bình thường" nếu nâng cấp.

Sommelier hỗ trợ tính năng này một cách liền mạch.

Tôi có thể chạy X chương trình không?

Có, mặc dù bạn có thể gặp phải một số vấn đề về khả năng tương thích và có lẽ nó sẽ không bao giờ hoàn hảo như khi chạy một máy chủ X truyền thống. Tuy nhiên, với việc cộng đồng rộng lớn hơn chuyển sang Wayland, điều này sẽ đủ tốt.

Sommelier chịu trách nhiệm khởi chạy XWayland, đóng vai trò là WM và dịch các yêu cầu XWayland giữa Chrome và các chương trình X.

Tại sao đôi khi các cửa sổ lại quá nhỏ/mờ?

Các ứng dụng Linux xuất hiện trên kệ trình chạy phải có lựa chọn sử dụng mật độ cao hoặc thấp. Nếu bạn thấy độ phân giải không hoạt động như mong muốn, hãy nhấp chuột phải vào biểu tượng để cho phép chuyển đổi giữa mật độ cao và mật độ thấp.

Mặc dù Chrome hỗ trợ màn hình có DPI cao, nhưng nhiều ứng dụng Linux thì không. Khi một chương trình không hỗ trợ đúng cách việc điều chỉnh tỷ lệ DPI, kết quả sẽ kém.

Hiện tại, chúng tôi cung cấp độ phân giải và DPI tích hợp sẵn trực tiếp cho các ứng dụng. Nếu các biểu tượng này xuất hiện quá nhỏ hoặc mờ, thì tức là chúng không hỗ trợ việc mở rộng quy mô đúng cách. Bạn nên báo cáo những vấn đề này cho các dự án nguồn tương ứng để hy vọng một ngày nào đó, vấn đề sẽ "chỉ cần hoạt động".

Trong thời gian chờ đợi, Sommelier sẽ hiển thị một số chế độ cài đặt thời gian chạy để bạn có thể đặt hệ số tỷ lệ cho từng chương trình nhằm khắc phục hành vi không đúng cách. Hãy xem tài liệu của Sommelier để biết thêm thông tin chi tiết.

Nếu bạn đang áp dụng chế độ thu phóng trên toàn hệ thống hoặc thay đổi độ phân giải màn hình mặc định, chúng tôi sẽ cố gắng điều chỉnh đầu ra của ứng dụng cho phù hợp. Điều này có thể dẫn đến kết quả bị mờ. Bạn có thể điều chỉnh độ phân giải của màn hình hoặc tinh chỉnh mọi thứ thông qua Sommelier (xem phần trên để biết thêm thông tin). Các ứng dụng Linux xuất hiện trên kệ trình chạy phải có lựa chọn sử dụng mật độ cao hoặc thấp. Nếu bạn thấy độ phân giải không hoạt động như mong muốn, hãy nhấp chuột phải vào biểu tượng để cho phép chuyển đổi giữa mật độ cao và mật độ thấp.

Liệu tính năng kết hợp có hoạt động không?

Synergy sẽ không hoạt động (dưới dạng máy khách hoặc máy chủ). Điều này đòi hỏi phải ghi lại và giả mạo dữ liệu đầu vào (ví dụ: chuột/bàn phím) cho tất cả các cửa sổ. Vì chúng tôi được xây dựng dựa trên Wayland, nên theo thiết kế, một ứng dụng không thể truy cập vào bất kỳ ứng dụng nào khác trên hệ thống. Đây là ranh giới bảo mật mạnh mẽ giữa các ứng dụng vì chúng tôi không muốn mã tuỳ ý chạy bên trong một vùng chứa có thể thoát ra và tấn công các ứng dụng khác (chẳng hạn như trình duyệt) cũng như gửi các tổ hợp phím tuỳ ý.

Chúng tôi không có kế hoạch cho phép loại chế độ kiểm soát này từ vùng chứa. Điều này không có nghĩa là ChromeOS sẽ không bao giờ có một giải pháp tương tự như Synergy (ví dụ: một giải pháp như CRD), mà chỉ là giải pháp đó sẽ không phải là Synergy hoặc bất kỳ công cụ nào khác trong một vùng chứa.

Bạn có thể chạy synergy và có thể khiến chương trình này truyền tải các sự kiện đầu vào cho cửa sổ duy nhất mà chương trình đang chạy, nhưng đó là mức độ gần nhất mà bạn có thể đạt được.

Tôi có thể chạy các chương trình Windows không?

Chắc chắn rồi, hãy dùng thử WINE. Tuy nhiên, khả năng tương thích phần lớn sẽ phụ thuộc vào WINE, vì vậy, vui lòng không yêu cầu chúng tôi hỗ trợ.

Tôi có thể chạy các chương trình macOS không?

Thường là không. Bạn có thể thử nhiều giải pháp hiện có cho Linux, nhưng có thể chúng sẽ còn nhiều điểm chưa hoàn thiện.

Tại sao bạn triển khai crosvm từ đầu (thay vì dùng QEMU/kvmtool/v.v…)?

Chúng tôi không phản đối bất kỳ dự án nào trong số này. Thực tế là tất cả đều khá tuyệt vời và thiết kế của họ đã ảnh hưởng đến chúng tôi. Quan trọng nhất là họ đã làm nhiều hơn những gì chúng tôi cần và không có mô hình bảo mật tốt như chúng tôi có thể đạt được bằng cách tự viết. Mặc dù crosvm không thể làm mọi việc mà những dự án khác có thể làm, nhưng nó chỉ làm những việc chúng ta cần.

Để biết thêm thông tin chi tiết, hãy xem dự án crosvm.

Máy ảo có làm chậm mọi thứ không?

Chắc chắn là VM sẽ làm tăng mức sử dụng tài nguyên khi so sánh với việc chỉ chạy trong một vùng chứa hoặc chạy trực tiếp trong hệ thống. Tuy nhiên, trong các thử nghiệm của chúng tôi, mức hao tổn này không đáng kể đối với trải nghiệm người dùng và hoàn toàn xứng đáng với những lợi ích lớn về bảo mật hệ thống.

Để biết thêm thông tin chi tiết, hãy xem phần Bảo mật trong tài liệu chính thức về Chromium OS.

Tại sao nên chạy các vùng chứa bên trong máy ảo? Tại sao không chạy các chương trình ngay trong máy ảo?

Để giảm thời gian khởi động VM, chúng ta cần Termina càng gọn nhẹ càng tốt. Điều đó có nghĩa là cắt bỏ những chương trình/tệp mà chúng ta không cần hoặc không liên quan.

Chúng tôi sử dụng dm-verity. Công cụ này yêu cầu hình ảnh Termina ở chế độ chỉ đọc để đảm bảo Bảo mật, nhưng điều này cũng có nghĩa là chúng tôi có thể chia sẻ hình ảnh này một cách an toàn giữa các phiên bản VM.

Ngoài ra, các phiên bản chương trình/thư viện mà chúng tôi phân phối thường mới hơn các bản phân phối khác (vì chúng tôi xây dựng dựa trên Gentoo) và được biên dịch bằng các cờ bảo mật bổ sung.

Việc cho phép người dùng sửa đổi VM sẽ ngăn chặn hình ảnh không trạng thái luôn hoạt động và không bị ảnh hưởng bởi lỗi của người dùng và lỗi trong các chương trình.

Nhìn chung, rất khó để hỗ trợ việc chạy các chương trình tuỳ ý và điều này sẽ dẫn đến một hệ thống thiếu nhiều thuộc tính mong muốn như đã nêu ở trên. Việc buộc mọi thứ vào một vùng chứa sẽ tạo ra một giải pháp mạnh mẽ hơn và cho phép người dùng thoải mái thử nghiệm mà không phải lo lắng.

Ngoài ra, chúng tôi rất yêu quý rùa.

Foreshadow (còn gọi là L1TF / CVE-2018-3646) có được xử lý không?

Có. Để biết thêm thông tin chi tiết, hãy xem tài liệu công khai của chúng tôi.

Tôi có thể xoá những vùng chứa mà mình không muốn nữa không?

Chắc chắn rồi, bạn có thể xoá bất cứ nội dung nào bạn muốn. Tuy nhiên, hiện không có giao diện người dùng hoặc lệnh nào hỗ trợ việc này.

Tôi có thể xoá những máy ảo mà tôi không muốn dùng nữa không?

Chắc chắn rồi, bạn có thể xoá bất cứ nội dung nào bạn muốn. Bạn có thể dùng lệnh vmc destroy để xoá các tệp này theo cách thủ công.

Tôi có thể tắt các tính năng này không?

Quản trị viên có thể kiểm soát quyền truy cập vào các vùng chứa/máy ảo thông qua bảng điều khiển quản lý, vì vậy, các tổ chức doanh nghiệp/giáo dục muốn hạn chế quyền truy cập này có thể làm như vậy.

Ban đầu, có một lựa chọn "Linux" trong phần cài đặt ChromeOS tiêu chuẩn, nhưng kế hoạch dài hạn là xoá lựa chọn này để mọi thứ hoạt động theo yêu cầu. Tại thời điểm đó, sẽ không có nút điều chỉnh nào cho các thiết bị không được quản lý.

Tôi có thể khởi động một hệ điều hành khác như Windows, macOS, Linux, *BSD, v.v. không?

Hiện tại, bạn chỉ có thể khởi động máy ảo Linux tuỳ chỉnh của chúng tôi có tên là Termina. Hãy xem thêm một vài câu hỏi tiếp theo.

Tôi có thể chạy VM/kernel của riêng mình không?

Hiện tại, bạn chỉ có thể khởi động Termina. Đây là một ứng dụng sử dụng nhân và cấu hình Linux tuỳ chỉnh của chúng tôi. Hãy tiếp tục theo dõi!

Tôi có thể chạy một bản phân phối Linux khác không?

Tất nhiên rồi! Bạn có thể sử dụng toàn bộ dòng lệnh LXD và hình ảnh từ xa đi kèm có nhiều bản phân phối khác để bạn lựa chọn. Tuy nhiên, chúng tôi không kiểm thử với bất kỳ vùng chứa nào khác ngoài vùng chứa mặc định mà chúng tôi cung cấp, vì vậy, mọi thứ có thể bị hỏng khi chạy một bản phân phối khác.

Tôi đang chạy (chèn bản phân phối tại đây), làm cách nào để tôi có thể sử dụng {GUI apps, launcher icons, etc…}?

Các tệp nhị phân SommelierGarcon được gắn kết vào mọi vùng chứa, nên bạn không cần cài đặt hoặc biên dịch chéo. Các đơn vị systemd và tệp cấu hình từ cros-container-guest-tools sẽ khởi động các daemon này trong phiên người dùng systemd. Bạn cũng nên chạy loginctl enable-linger <user> để cho phép các ứng dụng này tiếp tục chạy ở chế độ nền.

Tôi có thể chạy bao nhiêu máy ảo?

Bạn có thể tạo nhiều đối tượng tuỳ ý (trong giới hạn RAM/CPU). Các nhóm này độc lập với nhau.

Tôi có thể chạy bao nhiêu vùng chứa?

Bạn có thể tạo nhiều đối tượng tuỳ ý (trong giới hạn RAM/CPU). Mỗi phiên bản VM có thể lưu trữ nhiều vùng chứa.

Những định dạng vùng chứa nào được hỗ trợ?

Termina hiện chỉ hỗ trợ trực tiếp LXC. Chúng tôi biết về Kubernetes/Docker/OCI/rkt/v.v. và hy vọng sẽ giúp mọi người dễ dàng sử dụng tất cả các công cụ này.

Trong thời gian chờ đợi, hãy xem câu hỏi trước để biết giải pháp tạm thời.