Вопрос или проблема
Я пытаюсь запустить Arch Linux на VirtualBox. Я следовал инструкциям на ArchWiki, и операционная система загружается нормально (используется linux-lts kernel
, с установленными virtualbox-guest-dkms
дополнениями для гостей). После установки i3 я добавил следующее в ~/.xinitrc
:
VBoxClient-all
exec i3
Это, похоже, работает, но автоизмерение происходит только один раз. После этого меню Авто-измерение дисплея гостя
и Режим бесшовной работы
в меню Host VirtualBox становятся недоступными.
Я выяснил, что если я убью процесс VBoxClient и снова инициирую его, функция автоизмерения начинает работать снова, но отключается, как только происходит первое событие изменения размера.
killall VBoxClient
/usr/bin/VBoxClient-all
Может кто-то предложить решение?
Я недавно обновил свой Arch, и проблема, кажется, решена! Однако перед этим я просто определил псевдоним в своем .zshrc файле:
alias resize="killall VBoxClient && VBoxClient-all"
Таким образом, каждый раз, когда мне нужно было исправить размер моего экрана, я просто вводил эту команду в терминале. Это не совсем то решение, которое я искал, но оно все же очень помогло.
Ответ или решение
Проблема автоматической настройки разрешения в i3wm на Arch Linux в VirtualBox
Виртуализация OS — это сложный процесс, и хотя VirtualBox предоставляет нам много возможностей для оптимизации, нередко возникают нюансы, которые требуют внимания. В данном случае проблема возникает в вашей установке Arch Linux с оконным менеджером i3 и заключается в том, что автоматическая настройка разрешения экрана прекращает работу после первого изменения размера. Давайте разберемся подробнее и предложим возможные решения проблемы.
1. Проверка корректности установки VirtualBox Guest Additions
Первым шагом стоит убедиться, что вы правильно установили VirtualBox Guest Additions с использованием virtualbox-guest-dkms
. Эта утилита обеспечивает возможность динамического изменения разрешения окна. Выполните команду:
pacman -Qs virtualbox-guest-dkms
Если пакет не установлен, выполните установку:
sudo pacman -S virtualbox-guest-dkms
После установки обязательно перезагрузите виртуальную машину.
2. Конфигурация .xinitrc
Убедитесь, что вы правильно настроили файл ~/.xinitrc
. Ваша текущая настройка выглядит корректно, однако стоит также убедиться, что VBoxClient-all
выполняется перед запуском i3, как вы и сделали:
VBoxClient-all
exec i3
3. Проблемы с автозапуском VBoxClient
Проблема с отключением автоматического изменения размера может быть связана с тем, что VBoxClient
не счастлив работать в режиме i3wm или же есть конфликты с другими процессами. После перезапуска VBoxClient
— как вы заметили — функция вновь активируется, но временно, что указывает на проблему с управлением процессами.
Для решения данной проблемы, попытаемся определить способ перезапуска VBoxClient
автоматически при старте рабочего стола i3. Вам может помочь создание пользовательского скрипта. Создайте файл ~/.config/i3/vboxclient.sh
:
#!/bin/bash
VBoxClient-all
И не забудьте сделать его исполняемым:
chmod +x ~/.config/i3/vboxclient.sh
Затем добавьте запуск этого скрипта в ваш конфиг i3 (обычно ~/.config/i3/config
):
exec --no-startup-id ~/.config/i3/vboxclient.sh
4. Регулярные обновления и их влияние
Как вы упомянули, после недавнего обновления системы ваша проблема была решена. Это намекает на то, что в системе, возможно, находились ошибки или несовместимости, устраненные в патчах Arch Linux или в самой VirtualBox. Регулярные обновления всех пакетов, особенно тех, которые касаются графики и виртуализации, критически важны для стабильной работы.
5. Альтернативный метод — использование алиаса
Вы также предоставили соображение по поводу создания алиаса для перезапуска VBoxClient
. Это действительно полезное и быстрое решение, особенно если вы работаете с несколькими виртуальными машинами. Ваша реализация:
alias resize="killall VBoxClient && VBoxClient-all"
позволяет вам оперативно решать проблему без необходимости каждый раз глубоко вникать в настройки.
Заключение
Наличие проблем с автоматическим изменением размера экрана в VirtualBox — это не редкость, особенно при использовании более легких оконных менеджеров, таких как i3. Обеспечение правильной конфигурации и временное решение, как alias, приносят временное облегчение. Однако стараясь поддерживать систему в актуальном состоянии, вы снижаете вероятности возникновения подобных неполадок в будущем. Удачи в использовании Arch Linux и i3wm!