Создаю свой дистрибутив Linux: Часть восьмая, или как сломать файловую систему на флешке
К текущему моменту меню "Пуск" уже оформлено, и даже условно пригодно для использования, но есть взаимосвязанные проблемы:
реклама
Первая проблема это лишние разделы, например "Editors" и "Editors (Text)", но сокращать их нельзя пока не будет решена проблема с именами приложений:
Работая над изначально сомнительной структурой меню я много экспериментировал, и в процессе выработал "стандарт" для имён файлов... Просто вынес "Generic Name" в основное имя приложения, а через тире указываю обычное название, и эта, казалось бы мелочь, решает очень много проблем:
реклама
Теперь достаточно просто взглянуть на имя, и сразу понятно что за приложение перед глазами.
Но есть и другая проблема, она связана с поиском нужного приложения в системе, и в Linux, как правило, это самый настоящий геморрой на голову, ибо при поиске калькулятора система находит что угодно, но не калькулятор:
реклама
Пользователь хочет найти приложение для просмотра/редактирования изображений? И снова поиск выдает что угодно, но не то что нужно, это отвратительно, именно потому в моём дистрибутиве будет "стандарт" для имён приложений, отказ от следования которому будет приводить к характерной для Linux помойке, когда есть куча приложений, но хрен знает какое для чего предназначено:
Ещё планировал держать инструменты разработчиков MX Linux отдельно от всего остального, но это фрагментирует меню и негативно влияет на поиск, потому раздел будет сокращён, в отличие от линуксоидов, я имею хотя бы небольшое представление про понятия UI/UX, и не стану рвать User Experience на куски:
реклама
Только есть проблема, в идеале один ярлык должен находиться строго в одном месте, чтобы не разводилась характерная для Linux помойка, но помимо системной панели управления есть MX Tools, который выполняет ту же задачу:
Что поделать, не вижу смысла сохранять болото зависимостей, да и про UI/UX уже сказал выше, а потому буду работать только над системной панелью управления, да и мне, как пользователю, очень неудобно распыляться по двум разным местам, чтобы получить доступ к настройкам и инструментам:
Не забываю конечно и про меню "Пуск", продолжаю работать над именами и сокращаю лишние разделы:
Кто-то скажет, что для поисковых фраз есть специальное поле "Keywords" в параметрах ярлыка, и будет отчасти прав, такое поле действительно есть, хотя и не везде:
Но проблема вовсе не в ключевых словах, а в "помойке" из приложений, имена которых ничего не говорят пользователю, т.е. нужно заучивать названия, чтобы понимать для чего предназначено то, или иное приложение...
Обратите внимание на Geany IDE, в моём дистрибутиве сразу понятно, что это среда разработки (IDE), а не просто текстовый редактор, хотя и выводится по данному запросу, так как может работать в качестве текстового редактора, и это более чем нормально.
Не нормально когда пользователь ищет текстовый редактор, а ему выдают всё косяк наперекосяк через пингвина на айсберге, бьющегося в конвульсиях от ужаса:
Ну и хотелось бы исключить из поиска элементы панели управления, чтобы они не засоряли поиск, но с этой проблемой я пока не знаю как быть, изначально неполноценная и кривая система меню не позволяет скрыть от поиска разделы или конкретные элементы, похоже эту задачу возложили на какой-то отдельный "кусочек" разорванного в клочья "пингвина":
Оно есть либо везде, либо нигде, и это плохо... Кто-то скажет что в Windows XP / 7 тоже не всё идеально с поиском, и будет прав, но там хотя бы не ущемляли разработчиков и пользователей, а работать с меню можно было одним проводником просто создавая папки и ярлыки где нужно.
Теперь сижу и думаю, какими бы костылями это всё Linux непотребство подпереть, чтобы работало по-человечески... Особенно меня забавляет спам ключевыми словами в ярлыках, причём переведенный на разные языки (за кадром остались переводы):
Развели неудобную помойку в Linux, создали отвратительную систему "меню", поняли что пользоваться этим мусором неудобно, и задумались, а почему бы не добавить ключевые слова, чтобы сгенерировать ещё больше мусора, и сделать всё ещё сложнее в использовании? Чтобы пользователь вводил в поиск "browser", а выдавало Файловый Менеджер Thunar:
Конечно, можно подчистить спам из ключевых слов, тогда Проводник не будет выводиться в поиске по слову "browser", но он выводится по слову "browse", а знаете почему? Потому что такое слово есть в кратком описании Проводника, поисковик это благополучно находит и выдает пользователю:
Кстати, вот и нашёлся костыль для поисковика, приложения в меню "Пуск" имеют обычные имена, а элементы из панели управления начинаются с тире, просто и понятно, если хлам невозможно исправить по-человечески, значит будем подпирать костылями, классика Linux, правда потом будет очень больно, если костыли начнут ломаться не выдерживая вес мусорной бочки, но этот костыль вроде не должен поломаться, если только намеренно не поломают, хотя это уже не мои проблемы:
Мне нужен порядок, а не линуксоидный хаос, я уже устал пользоваться хаотично разбросанными по всем разделам ярлыками, этим всё сказано. Прямо сейчас я делаю меню для себя, чтобы было удобно пользоваться системой, и пусть идут куда подальше все кто привык к хаосу и начнёт возмущаться моим "стандартом" меню.
А что до "стандарта", его можно будет описать когда открою меню "Пуск"/Панель управления, и смогу сказать - да, теперь этим действительно можно пользоваться.
В общем, начинаю работу над ярлыками панели управления... Особое внимание уделяю именам, стараясь их сформировать максимально понятным образом, так же удаляю ключевые слова, ярлыкам в панели управления они не нужны, только помойку разводят, ну и вишенка на торте GenericName, который порой вообще не имеет смысла, а значит тоже идёт под нож, как и переводы для имён приложений:
Вот отличный пример, почему это всё нужно переделывать, есть LightDM GTK+ Greeter Settings, что бы это значило? Описание подскажет? Хрен там плавал, описание просто дублирует весьма неоднозначное название, а ведь на самом деле это настройки экрана приветствия, какой чёрт занимался описанием и переводами остаётся только догадываться:
Я вот думаю, а не поменять ли местами новое описание и название, чтобы пользователя встречали не линуксоидные крякозябли, а вполне нормальное и понятное название...
Теперь элементы из панели управления отличаются при поиске, да и внешний вид приемлемый, и это хорошо:
Далее я занимался переносом некоторых утилит в панель управления, но иконка JamesDSP почему-то не захотела отображаться, потому взял оригинальную PNG иконку размером 512x512 и уменьшил до 128x128, вдруг не переварило размеры...
Попытался установить новую иконку используя абсолютный путь к файлу, но это не помогло, и тут стало ясно, что столкнулся с очередным каким-то линуксоидным косяком, в итоге через утилиту поиска иконок нашёл свой файл, это было забавно, впрочем, без указания абсолютного пути выставил иконку, после чего она применилась:
Это просто жуть, особенно если вспомнить "темы", которые абы как наперекосяк реализованы в линуксах, и ещё непонятно как это всё будет выглядеть если пользователь захочет изменить тему оформления...
Для разнообразия было решено постепенно наполнять дистрибутив софтом, и в процессе компиляции одного приложения столкнулся с проблемой нехватки зависимостей, отсутствовал cmake и gtk-sharp2, очередная классика Linux...
Очевидно, что такая вещь как cmake обязана быть в любом уважающем себя линуксе, ибо это одна из базовых вещей, но и gtk-sharp2 тоже было решено установить, ибо рано или поздно он тоже кусками насосётся в систему, а значит лишним не будет.
Впрочем, не обошлось без возни с кривыми зависимостями, но это настолько типичная ситуация для Linux, что не вижу смысла повторять про эту проблему "by design":
Сразу же можно посмотреть на поведение меню при установке новых приложений, они просто отправляются в категорию "Unsorted", и если пользователь захочет видеть приложение в какой-либо другой категории, переносить ярлык придётся вручную, ну или использовать утилиту MenuLibre, она конечно разведёт помойку в некоторых местах, но наверняка есть люди, которые не смогут открыть ярлык текстовым редактором и исправить категорию на одну из заранее подготовленных, так что альтернатива лишней не будет:
А потом ещё немного зависимостей для полного комплекта, или не очень, кто знает что ещё понадобится:
По итогу дистрибутив обзавёлся HEX редактором Bless, вероятно далеко не каждому человеку нужен HEX редактор, но мне он точно нужен:
А потом я отключил флешку от виртуальной машины, хотел её использовать в другой виртуальной машине закинув нужные файлы, но внезапно всплыл ядрёный хрен со дна болотного...
Да, Linux поломал файловую систему на флешке, видимо слишком рано после окончания процесса копирования файла "достал" флешку из системы, ещё издевательски предлагают запустить Windows и проверить диск утилитой chkdsk с параметром /f...
Press F to pay respects!
В итоге я не придумал ничего умнее как запустить Windows 7 в виртуальной машине и подсунуть флешку, и она открылась без проблем, хотя средство проверки дисков всё же нашло и исправило ошибки, это забавно:
Мало было Huawei смартфона с Android, который уже две флешки убил до состояния "устройство невозможно определить", так ещё десктопный линукс ломает мне тут файловую систему на флешке...
Кстати, возвращаясь к HEX редактору, вероятно некоторые приверженцы будут в ярости от того факта, что я собрал все куски программы в одну папку, и не стал размазывать фекалиями по всей операционной системе:
А ещё внезапно можно обнаружить, что исполняемый файл и библиотеки вообще в формате Windows, но мне пофиг, как на мнение явно неадекватных адептов Linux, так и на DLL/EXE, которым явно не место в Linux, мне главное чтобы оно работало нормально, и оно работает:
А если нужно перенести приложение в другой дистрибутив, мне не нужно будет танцевать с бубном собирая разорванного в клочья "пингвина" выковыривая куски из трёх разных частей системы, ещё бы линуксоидное название OPT переименовать во что-то вроде program-files, чтобы было сразу понятно для чего эта папка, ну да ладно, это уже не столь критично.
Вероятно набегут приверженцы рассказывая сказки, мол я пытаюсь всё сделать "как в Windows"... Нет, я пытаюсь сделать из узкоспециализированного Linux недоразумения пригодную для использования Операционную Систему, мне чужда философия "каждый дистрибутив для своей конкретной задачи", которой так любят оправдывать бесконечные проблемы "пингвина".
Пожалуй на этом закончу данную часть, уж в следующей части наверняка закончу работы над меню "Пуск", очень надеюсь, лишь бы не всплыли очередные линуксоидные проблемы требующие исправления...
Благодарю за внимание, больше интересных статей в блоге Hard-Workshop.
Как кипятильник не работает...
Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Комментарии Правила