Начиная с Chrome OS 69, пользователи Chrome OS (на некоторых Chromebook) могут устанавливать и использовать приложения Linux. Называемый проектом Crostini, он запускает операционную систему Linux в контейнере LXD (аналогично виртуальной машине), поэтому вы можете устанавливать и запускать приложения Linux в изолированной среде. Дистрибутив Linux по умолчанию, используемый в Crostini, - это Debian, это стабильный дистрибутив, на который вы можете положиться. Однако, если вы не являетесь поклонником Debian из-за его старый список программного обеспечения, вы можете вместо этого переключиться на Ubuntu.
Эта процедура переключения потребует доступа к Терминалу и ввода множества команд. Если вас не устраивает терминал, то это не для вас. В остальном, вот как вы можете запустить контейнер Ubuntu в Chrome OS.
1. Загрузите Chromebook. Не открывайте приложения Linux. Откройте браузер Chrome и нажмите Ctrl + Alt + T, чтобы запустить оболочку Crosh.
Запустите терминал с помощью этой команды:
vmc start termina
2. Контейнер Debian по умолчанию помечен как "пингвин", который используется для интеграции с файловой системой Chrome OS. Чтобы заменить Debian, нам сначала нужно удалить с контейнера Debian его метку "пингвин":
lxc stop penguin - принудительно lxc переименовать пингвина в debian
3. Затем создайте новый контейнер Ubuntu с именем penguin:
lxc launch ubuntu: 18.04 пингвин
Это займет некоторое время, так как изображение будет извлечено из Интернета.
4. Как только это будет сделано, загрузитесь в новый контейнер:
lxc exec penguin --bash
5. Обновите и модернизируйте систему:
apt update apt обновить
6. Установите пакеты Crostini, чтобы он мог интегрироваться с собственной файловой системой. Введите следующие команды, чтобы добавить репозиторий кросс-пакетов:
echo"deb https://storage.googleapis.com/cros-packages stretch main">/etc/apt/sources.list.d/cros.listif[-f/dev/.cros_milestone ]; thensudosed-i"s?packages?packages/$(cat /dev/.cros_milestone)?"/etc/apt/sources.list.d/cros.list; fiapt-key adv--keyserver keyserver.ubuntu.com --recv-keys 1397BC53640DB551apt update
Установите зависимости:
apt установить binutils
7. Несмотря на то, что мы добавили репозиторий, мы не сможем установить пакеты Crostini напрямую. Вот обходной путь.
Загрузите пакет Crostini с помощью команды:
apt загрузить cross-ui-config
Вы получите предупреждающее сообщение. Игнорируй это.
Теперь извлеките загруженные пакеты:
ar x cros-ui-config_0.12_all.deb data.tar.gzgunzip data.tar.gztar f data.tar --delete ./etc/gtk-3.0/settings.inigzip data.tarar r cros-ui-config_0.12_all.deb data.tar.gzrm-rf data.tar.gz
Установите пакет Crostini из файла deb:
aptinstall cros-guest-tools ./cros-ui-config_0.12_all.deb
8. Наконец, удалите загруженный пакет:
rm cross-ui-config_0.12_all.deb
9. Установите пакет adwaita-icon-theme-full
. Без этого пакета приложения Linux с графическим интерфейсом могут иметь очень маленький курсор.
apt установить adwaita-icon-theme-full
10. Пользователь по умолчанию в контейнере - "ubuntu". Нам нужно удалить его и заменить на ваше имя пользователя Gmail. Использование вашего имени пользователя Gmail (учетной записи Gmail, которую вы используете для входа в Chromebook) необходимо, если вы хотите интегрировать этот контейнер Ubuntu с собственной файловой системой. Без этого вы не сможете получить доступ к файлам Linux из файлового менеджера.
killall-u ubuntugroupmod -n gmail-username ubuntuusermod -md/home/gmail-username -l gmail-username ubuntuusermod -aGusers gmail-usernameloginctl enable-linger gmail-usernamesed-i's/ubuntu/gmail-username/'/etc/sudoers.d/90-cloud-init-users
Примечание: замените "gmail-username" своим именем пользователя Gmail.
11. Как только это будет завершено, закройте контейнер.
выключение - h сейчас
и перезагрузите Chromebook. После перезапуска запустите приложение Терминал из средства запуска. Если не получится, попробуйте еще раз.
12. Попробуйте обновить систему еще раз.
sudo подходящее обновление
Если вы видите сообщение об ошибке:
Следующие подписи не удалось проверить, поскольку открытый ключ недоступен: NO_PUBKEY 7638D0442B90D010 NO_PUBKEY 04EE7237B7D453EC
это потому, что закрытый ключ пакета Crostini не найден в системе. Добавьте закрытый ключ с помощью следующей команды:
sudoapt-key adv--keyserver keyserver.ubuntu.com --recv-keys 7638D0442B90D010 8B48AD6246925553
и вы сможете без проблем запустить apt update
.
Теперь вы можете начать установку приложений Linux с помощью команды apt install
. Например, чтобы установить последнюю версию Firefox, используйте команду:
sudoaptinstall firefox
Удаление контейнера Debian
Если вам больше не нужен контейнер Debian, вы можете удалить его, чтобы освободить место для хранения.
1. В браузере Chrome нажмите Ctrl + Alt + T, чтобы запустить оболочку Crosh.
2. Запустите терминал:
vmc start termina
3. Удалите контейнер Debian:
lxc удалить debian
Заключение
Если вы предпочитаете стабильность и безопасность, то лучшим выбором будет использование контейнера Debian по умолчанию. Если нет, вы можете переключиться на Ubuntu, поскольку он обеспечивает большую гибкость и возможности программного обеспечения. Вы можете использовать множество образов LXD, так что вы не ограничены Ubuntu или предпочитаете Arch Linux? Это тоже есть в наличии.
4 комментария
Комментарии закрыты.
Фантастический! Я выполнил все шаги. Как запустить графический интерфейс Ubuntu?
У меня были большие проблемы с установкой Debian по умолчанию и установками Snap. Ваши инструкции помогли мне настроить более стабильную среду Linux на моем Lenovo C630. Спасибо.
Для меня это было полным исправлением - огромное вам спасибо за это! Уровень детализации, который вы предоставили, идеально подходит для новичка в Linux.
Я сделал именно то, что вы заявили, и вот ошибка, с которой я постоянно сталкиваюсь, как мне пройти через это?
crossh> vmc start termina
(termina) chronos @ localhost ~ $ lxc stop penguin –force
(termina) chronos @ localhost ~ $ lxc переименовать пингвин в debian
(termina) chronos @ localhost ~ $ lxc запустить ubuntu : 18.04 пингвин
Создание пингвина
Запуск пингвина
Ошибка: Не удалось запустить: / usr / sbin / lxd forkstart penguin / mnt / stateful / lxd / container / mnt / stateful / lxd / logs / penguin / lxc .conf:
Попробуйте `lxc info –show-log local: penguin` для mor