Создаю свой дистрибутив Linux: Часть 4
реклама
В прошлой части были установлены библиотеки необходимые для работы 32 битного софта, ведь я не хочу чтобы дистрибутив был таким же кастрированным, как и большинство других линуксов, но сейчас снова вернёмся к настройке системы, ибо плохо когда рабочие столы переключаются от прикосновения к колесу мыши, нужно исправлять:
![]() |
![]() |
реклама
Прежде чем добраться до настроек переключения рабочих столов, исправляю косяк с кнопкой захвата и растяжения окон Xfce, меняю "ALT" на кнопку "Windows", или иначе говоря "Super", почему это важно исправить? Ответ прост, пользователь не сможет работать с графическим редактором Krita, ибо при нажатии ALT+ПКМ/ЛКМ, например при работе с выделением, система будет дёргать окно графического редактора...
![]() |
![]() |
Зачем вообще это сочетание необходимо? Ах, точно, разработчики Xfce ведь не осилили адекватные границы окон, за которые можно нормально ухватиться курсором мыши и растянуть как все делают в Windows, как говориться - пользователь должен страдать.
К проблеме границ окон я ещё возможно вернусь, а сейчас нужно исправлять другие "удобства".
реклама
Отключаю сворачивание окон в "полоску" колесом, я не понимаю что за фетиш у разработчиков на колесо мыши, но это отвратительно, случайно не там покрутил колесо и думай, как исправлять всю ту неочевидную фигню, которую творит "линукс"... Здесь же отключаю злополучное переключение рабочих столов колесом мыши:
![]() |
![]() |
![]() |
Не отходя от кассы исправляю ещё одну проблему, она весьма неочевидна, но очень бесит, это проблема при запуске приложений, окна которых танцуют по всему рабочему столку как шаманы с бубнами вокруг костра, короче говоря открываются как попало стараясь упасть под курсор мыши вместо того, чтобы открываться в центре экрана:
![]() |
![]() |
Я не нашёл возможности полностью отключить это раздражающее "smart placement", но выкрутил ползунок размера окна в максимум, и теперь окна открываются не как попало по всему экрану, а в центре, как положено для нормальной операционной системы.
Теперь нужно настроить Wine, но его нет в системе, что весьма странно... Ведь среди установочных пакетов точно был wine-staging, а это значит что пакетный менеджер установил не всё что должен был, либо во время предварительной подготовки загрузились не все зависимости:
![]() |
![]() |
реклама
Вечно всё в линуксах через задницу, заранее ведь подготовил все зависимости, чтобы в нужный момент установить и пользоваться, но в итоге ничего не работает, даже если ещё раз установить пачку пакетов заранее подготовленную:
![]() |
![]() |
![]() |
А потом до меня как дошло! Я ведь не тот пакет заранее подготовил! Нужно было подготавливать не wine-staging, а winehq-staging...
В чём собственно разница между wine-staging и winehq-staging? Да собственно в одном чёртовом пакете размером ~1.9 КиБ, без которого ничего не работает, давайте поаплодируем стоя тем людям, что настолько извращённо разрабатывают софт, ведь без них у меня не получилось бы целых четыре статьи написать про создание своего дистрибутива Linux, постоянно подтирая им задницы исправляя бесконечные косяки:
![]() |
![]() |
реклама
Это вам не сборку Windows делать, где запустил программу, расставил галочки в нужных местах и нажал кнопку "собрать", нет, в линуксах так не работает, в линуксах пользователь должен спотыкаться на ровном месте и страдать вместо того, чтобы пользоваться системой. Теперь я понимаю, почему нет ни одного действительно адекватного дистрибутива Linux для ПК и ноутбуков, ведь просто собрать хоть что-то работающее из хлама это уже достижение...
Эх, тем временем в Windows достаточно закинуть на флешку установочные файлы приложений, спокойно установить где угодно и не бояться что какие-то там пакеты всё поломают, или конфликт зависимостей произойдёт, или чего-то не хватит, ибо у Microsoft хватило мозгов разложить всё по полочкам, и не разводить помойку из тысяч конфликтующих между собой пакетов:
Смотря на это всё я задаюсь вопросом, а зачем вообще делаю свой дистрибутив, ведь прекрасно понимаю что перспектив у линуксов в десктопе нет, ибо прилетит очередное линуксоидное обновление и все труды пойдут прахом...
Хотя с другой стороны я не принуждаю никого к обновлениям, в отличие от всяких Ubuntu. Ладно, вернёмся к настройке Wine.
В обязательном порядке запрещаю оконному менеджеру декорировать окна приложений запущенных через Wine, ещё следовало бы вообще запретить оконному менеджеру управлять Windows приложениями, чтобы избавиться от проблем с управлением в играх после того, как окно теряет фокус (пользователь свернул или переключился на другое приложение), но не будем спешить:
![]() |
![]() |
![]() |
![]() |
Если я полностью отберу у линуксоидного оконного менеджера контроль над окнами Windows приложений, то все проблемы с отвалом управления исчезнут в корне, однако приложения и игры будут всегда поверх всех окон, и не будут числиться в панели задач, короче это доставляет больше проблем, чем решает.
А вот декорировать окна нужно в обязательном порядке запрещать, да, будут заголовки в классическом Windows стиле, но это позволяет побороть косяк с отвалом управления, обычно происходящий в играх, достаточно просто нажать на заголовок приложения и Wine вернёт отвалившееся управление, но если окна будут декорированы линуксоидным оконным менеджером, то ничего не сработает.
Вообще косяк с отвалом управления не то чтобы постоянное явление, но когда случается такое дерьмо, приятного очень мало, а потому у пользователя должна быть возможность вернуть управление, даже если это происходит через костыли...
![]() |
![]() |
![]() |
![]() |
Далее удаляю Wine Mono 8.0.0 и устанавливаю Wine Mono 8.1.0, да, в программе "установки и удаления" не обновляется список после установки приложений, нужно перезапускать вручную, но это уже мелочи:
![]() |
![]() |
![]() |
![]() |
Ну а чтобы пользователи не становились красноглазыми пингвинами при необходимости удалить что-то из Wine, я создал простой в использовании ярлык, пока он будет на рабочем столе, но потом возможно переедет в другое место:
С ярлыком закончил, с DXVK продолжил! Однако вспомнил про winetricks, нужно бы установить...
![]() |
![]() |
![]() |
На этом моменте сделал точку отката, ведь дальше нужно будет потанцевать с бубном, и придётся выбирать, с каким именно бубном танцевать, ведь winetricks сам по себе непригоден для нормального использования...
Вот вроде и появился ярлык winetricks в меню "пуск", но по нажатию ничего не происходит, и только через танцы с терминалом становится понятно, что нужно установить дополнительные костыли, впрочем, в линуксах практически всё через бубен и костыли происходит, чему тут удивляться, моя задача сейчас как раз в том, чтобы пользователю не приходилось так танцевать с бубном и костылями:
![]() |
![]() |
Так как костыль "zenity" я уже опробовал на основной системе, и он мягко говоря мне не очень понравился, значит буду пробовать другой костыль под названием "kdialog", именно поэтому я и сделал точку отката виртуальной машины, если второй костыль окажется хуже первого, то у меня будет лёгкая возможность вернуть всё назад.
На всякий случай заранее скачаю оба костыля, и тут сразу видна разница в количестве зависимостей, хотя один хрен это всё подойдёт исключительно для дистрибутива находящемся в текущем состоянии, при установке заранее подготовленных пакетов в другом дистрибутиве, наверняка произойдёт типичный для линуксов ад зависимостей...
Если вдруг попытаюсь установить заранее подготовленный "kdialog" в чистый MX Linux 23.1, вероятно ничего не выйдет, скорее всего не будет каких-нибудь зависимостей, и эта система пакетов в линуксах самая что ни есть боль для пользователей, ибо банально невозможно заранее подготовить приложение в одном дистрибутиве, и установить его на другом ПК с другим дистрибутивом:
![]() |
![]() |
![]() |
![]() |
Ну да ладно, устанавливаю kdialog, запускаю winetricks, и оно вроде заработало:
![]() |
![]() |
![]() |
В целом такое же стрёмное окошко, как и в zenity, такие же кнопки в виде списка, такой же безмолвный процесс установки компонентов, пользователю остается только гадать что там происходит в фоне...
![]() |
![]() |
![]() |
![]() |
Хотя ладно, это дерьмо загадило рабочий стол "ошибками", говорит что там постоянно что-то зависает, и Wine всё закрывает... Этот флуд ошибками остановился после уничтожения процессов winetricks, и это было очень похоже на бесконечный цикл, ведь у "линуксоидов" лапки вместо рук, и они не осилили адекватный интерфейс с индикатором прогресса работы:
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Эх, опять нужно красноглазить в терминале, короче, оно после каждого установленного шрифта выдавало сообщение никак не относящееся к успеху/ошибке процесса установки, просто гениально!
![]() |
![]() |
![]() |
А один шрифт вообще оказался недоступен, и его невозможно скачать, вот вам и прекрасные репозитории, правильнее сказать крайне ненадёжные:
![]() |
![]() |
Если повторно запустить установку шрифтов, то kdialog никаких уведомлений вообще не выдает, просто возвращается к окну с действиями, и это хорошо, ведь zenity просто исчезает без каких либо уведомлений после выполнения работы, и неизвестно, завершилась там установка или нет...
![]() |
![]() |
Но у zenity есть предупреждения если что-то идёт не так, например репозиторий потерял свои пакеты, да, пакета в репозитории просто не существует, его удалили, а ругается на неправильные контрольные суммы, это вводит в заблуждение, тем не менее оно хоть как-то сообщает что есть проблема:
Шрифты само собой удалю, не понимаете почему я так поступаю? Ну для начала посмотрите на файл, он говорит что corefonts установлен, хотя по факту один шрифт не установился, ибо линуксоидные репозитории не самое надёжное место, и этим всё сказано:
А вторая причина это лицензия Microsoft на шрифты, очень противная лицензия на самом деле...
Как же удалить шрифты из Wine? Легко и просто, если конечно линукс живёт в виртуальной машине, а пользователь создавал точки отката, хотя наверное можно было бы сделать копию папки "wine", и мне не приходилось бы заново устанавливать kdialog, ну да ладно:
Ну что, время установить dxvk, и тут я понял, что kdialog хуже zenity, конечно, и то и другое кривой хлам, но если выбирать лучшее среди худшего, то пожалуй ещё раз откачусь к точке восстановления...
![]() |
![]() |
![]() |
В итоге победил zenity, боже, это так паршиво выбирать лучшее среди мусора, я даже не знаю что сказать, так и хочется написать свою оболочку для winetricks...
С dxvk уже не буду церемониться загружая заново из линуксоидных репозиториев через winetricks, я ведь с самого начала подготовил конкретную версию dxvk 2.3, а не какую-то там "latest" хрен пойми что за она:
Кстати, решил я заглянуть в интернет, поискать информацию что лучше, zenity или kdialog, но ничего интересного не нашёл в итоге, ну разве что нашёл как контрибьютор жалуется на отсутствие времени/мотивации для исправления косяков интерфейса:
А потом такие: Почему это пользователи плюются от линуксов, а Windows продолжает доминировать как операционная система для ПК и ноутбуков? Даже не знаю, наверное пользователи криворукие и тупые, но никак не "линуксоидны", у которых видите ли времени/мотивации нет, чтобы сделать свой софт пригодным для использования не только красноглазыми "пингвинами", но и нормальными людьми...
Конечно же тактично умолчу про тот факт, что я уже и сам по сути стал красноглазым "пингвином", ибо ни один адекватный человек не будет столько возиться с вечно кривыми линуксами.
Ладно, пора бы завершать текущую часть, планировал гораздо больше сделать в пределах статьи, но с линуксами, как всегда, вечно всё через одно место работает, так что увы.
Благодарю за внимание, больше интересных статей в блоге Hard-Workshop.
реклама
Лента материалов
Интересные материалы
Возможно вас заинтересует
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Комментарии Правила