Мой Mint. Сборка с MATE

Алексей Федорчук

Вдохновлённый успехом своей первой пересборки Mint’а с рабочим окружением Cinnamon, я решил повторить процедуру для варианта этого дистрибутива с десктопом MATE. Тем более что эо преследовало не чисто экспериментальные цели, а уже и практические. Водрузив на свою Ноутбучку Mint с Cinnamon’ом и поначалу восхитившись быстродействием, я довольно быстро понял, что эта среда для неё тяжеловата. И решил заменить её на MATE. Конечно, это можно было проделать и без переустановки, но появился повод опробовать самосборный Mint в реальных условия.

Поначалу я потерпел в деле сборки варианта с MATE я потерпел полную фетяску: процесс доходил до стадии выбора Run console application — и обрывался сообщением, что таковая отсутствует: Unable to find any console application. После некоторого размышления я пришёл к выводу, что где-то в недрах UCK, скорее всего при выборе десктопа, прописана терминальная программа, запускаемая для chroot-окружения — та, что является штатной для выбранного десктопа. В Cinnamon’е такой является GNOME Terminal — и никаких проблем не возникает. В MATE же эта роль возложена на MATE Terminal — а этот десктоп в списке выбора не присутствует.

За выбор десктопа отвечает сценарий /usr/bin/uck-gui, определяющий вид соответствующего меню. Однако лобовая попытка добавить в него ещё и MATE ни к какому результату не привела. Порывшись в недрах файловой иерархии, я обнаружил файл /usr/lib/uck/customization-profiles/localized_cd/customize, представляющий собой исполняемый шелл-сценарий, определяющий, в том числе, и терминальную программу, запускаемую при выборе варианта other таким образом:

{
	echo "Starting console application..."

	CONSOLE_APP=`which konsole`
	CONSOLE_APP_OPTIONS=(--caption "UCK customization console" -e /bin/bash)
	if [ "$CONSOLE_APP" = "" ]; then
		CONSOLE_APP=`which gnome-terminal`
		CONSOLE_APP_OPTIONS=(-t "UCK customization console" -e /bin/bash)
	fiif [ "$CONSOLE_APP" = "" ]; then
		CONSOLE_APP=`which xfce4-terminal`
		CONSOLE_APP_OPTIONS=(-T "UCK customization console" -e /bin/bash)
	fi
	if [ "$CONSOLE_APP" = "" ]; then
		CONSOLE_APP=`which lxterminal`
		CONSOLE_APP_OPTIONS=(-t "UCK customization console" -e /bin/bash)
	fi
	if [ "$CONSOLE_APP" = "" ]; then
		CONSOLE_APP=`which xterm`
		CONSOLE_APP_OPTIONS=(-title "UCK customization console" -e /bin/bash)
	fi
	if [ "$CONSOLE_APP" = "" ]; then
		dialog_msgbox "Failure" "Unable to find any console application"
	else
		eval `dbus-launch --sh-syntax --exit-with-session 2>/dev/null`
		$CONSOLE_APP "${CONSOLE_APP_OPTIONS[@]}"
		RESULT=$?
	fi
}

То есть при отсутствии явного указания на терминал последовательно перебираются варианты: konsole, gnome-terminal, xfce4-terminal и lxterminal. Если ни одной из этих терминальных программ не обнаруживается — запускается xterm, который по идее имеется в любой системе с Иксами, кроме… правильно, кроме Mint’а, разработчики которого решительно избавляются от такого рода атавизмов. И потому в данном случае следует сообщение об ошибке. Так что для решения проблемы достаточно было добавить в указанную конструкцию (где-нибудь до последней её секции с сообщением об ошибке) такие строки:

	if [ "$CONSOLE_APP" = "" ]; then
		CONSOLE_APP=`which mate-terminal`
		CONSOLE_APP_OPTIONS=(-t "UCK customization console" -e /bin/bash)
	fi

После этого терминал с chroot-окружением благополучно запустился, и можно было заняться удалением ненужных пакетов и установкой пакетов нужных. Что я устанавливал, и что удалял — описано в предыдущей заметке. Здесь отмечу только, что по завершении обеих процедур объём корневого каталога в chroot-окружении составил 3.4 ГБ. Из чего в итоге был сгенерирован iso-образ размером в 1 ГБ — против полутора гигабайт образа исходного. Оставалось его установить — что я сначала проделал в виртуальной машине, для проверки.

Установка прошла без сучка, без задоринки — точно так же, как ранее неоднократно описывалось на этих страницах (например, здесь). И в результате неё получилась компактная, по нынешним временам, система, которая заняла 3,6 ГБ. Как и во время первого опыта, она была русифицирована (насколько русифицирован сам по себе MATE). За исключением Firefox’а, который разговаривал исключительно по английски (в заметке о моей Прелести причина этому была указана). Как и в прошлый раз, всё вылечилось путём тотального обновления системы через mintupdate.

То есть в итоге всё кончилось хорошо — можно было приступать к установке своего самосбора на Ноутбучку. Однако, помимо положительных эмоций, я получил и отрицательные, испытав жестокое разочарование в XFS, что будет темой отдельной заметки.

Содержание

Добавить комментарий