Костылями прикручиваю GitHub Desktop в Linux, продолжая разработку ChimbaBench
Есть значит такое приложение, называется GitHub Desktop, оно простое и удобное, то что нужно для небольших проектов, однако есть проблема... GitHub Desktop в первую очередь доступен для Windows, потом для MacOS, а для Linux? А линуксоиды сосите лапу!
реклама
Я не хочу пердолиться с терминалом и обычным Git при каждом обновлении своего проекта ChimbaBench, а потому скачиваю Windows версию приложения, и буду пытаться запускать через WineHQ:
Но уже при первом запуске начались проблемы, не ожидал, что всё настолько быстро обломается под линуксом:
реклама
Как оказалось, я далеко не первый хочу получить функционал адекватных приложений существующих только под Windows, и полученная мною ошибка довольно распространённая:
На всякий случай скачал ещё msi версию установочного пакета, вдруг прокатит без пердолинга... Но это не сработало, оно вообще не запустилось никак:
реклама
Короче без извращений не выйдет... Раз уж начал, то почему бы не разобрать установочный пакет? Как раз там на форумах расковыривали это всё дело, только там ковыряли другой софт отсутствующий нативно под линуксы, а я ковыряю GitHub:
А ещё заметил забавный нюанс, оказывается WineHQ раньше нормально мог устанавливать подобные приложения, но потом что-то поломали в более новых версиях, и теперь нужно проворачивать танцы с бубном, типичный Open Source, поломали что работало:
реклама
Короче, простыми методами не получилось запустить приложение:
Я всё ещё надеюсь, что выйдет простыми методами получить желаемый результат, а именно, работающий GitHub Desktop в Linux, потому попробую выдернуть его из настоящей Windows засунув в линукс, но это тоже не сработало:
В итоге было решено сменить тактику, просто вбил в поиск "github desktop linux":
И что-то даже нашёл:
В итоге нашёл что мне нужно, даже в формате AppImage есть, не то чтобы AppImage был отличным форматом, в старых дистрибутивах зачастую невозможно его запустить... Но у меня сейчас установлен MX Linux 23, так что должно заработать:
https://github.com/shiftkey/desktop
Осталось только выкачать приложение:
И оно вроде заработало, всё же формат AppImage хоть и далеко не идеал портативного софта под линукс, но в такие моменты действительно выручает:
Эх, рано я начал нахваливать кривой AppImage... Проблемы не заставили себя долго ждать, я не могу авторизоваться в приложении:
Как оказалось я не единственный с такой проблемой, кто бы сомневался:
В итоге проблему так и не решил с авторизацией, ох уж эти линуксоидные пляски с бубном... Осталось попробовать только DEB пакет и молиться, чтобы установочный пакет оказался действительно автономным... На удивление пакет установился без проблем, это радует, жаль только таких автономных пакетов абсолютное меньшинство в линуксах, которые можно просто взять, и установить не насасывая мегатонны левых зависимостей:
Наконец можно отложить бубен в сторону, ибо установленный в дистрибутив GitHub Desktop смог принять из браузера ссылку с "авторизацией":
Теперь осталось завершить работу над новой версией ChimbaBench, и проверить GitHub Desktop, вдруг под линуксом какие-то новые косяки всплывут:
В общем добавил несколько костылей для Linux, чтобы при выходе из полноэкранного режима окно не ломалось, впрочем, кто бы сомневался что под линуксами может что-то пойти не так, и это нужно будет подпирать костылями:
Так же добавил предупреждение в модуль тестирования, если FPS ниже 8 то будет предупреждать об этом, пока у меня нет времени разбираться с кривыми таймерами игрового движка Godot Engine, простыми методами которые я пробовал проблема не решилась, потому пока пусть будет так:
Ещё доработал раздел Font Test, теперь можно вручную выбирать любой диапазон символов Unicode, и даже редактировать вывод:
Ну и конечно переделал кнопку переключения полноэкранного режима на самодельную, теперь она адекватно масштабируется при любом разрешении, в отличие от стандартной кнопки Godot Engine:
Ну и всякие мелочи ещё подправил, пожалуй для версии 2.6 хватит, можно выгружать в репозиторий!
И вот настал момент загрузки изменений в репозиторий, как я это делаю? На самом деле проект у меня в одной папке, а репозиторий совсем в другой папке, банально чтобы всё было на своих местах, не очень и хочется совмещать папку проекта с папкой репозитория, слишком уж это небезопасно для самого проекта, чуть что не так пойдёт и разгребай как хочешь проблемы, а так в любой момент просто снёс проблему и заменил "бэкапом"...
Потому при каждой загрузке изменений в репозиторий я удаляю все файлы в папке репозитория, и копирую проект из рабочей папки, в среде Windows приложение GitHub обычно проверяет изменения, и загружает только изменённые файлы, но в линуксе... В линуксе оно считает все файлы модифицированными, хотя изменений никаких не вносил:
Может дело в том, что предыдущие загрузки проходили из Windows, а текущая из Linux, и что-то там с кодировками и метаданными произошло? В любом случае новую версию выгрузил в репозиторий, и оно действительно все файлы перезаписало, даже которые фактически не менялись:
В общем я снова удалил все файлы в папке репозитория и скопировал из папки проекта, на этот раз GitHub ничего не стал перезаписывать, а это значит лишь одно, дело в файловой системе и метаданных файлов. Вот так перешел на Linux и всё, все файлы считаются новыми, просто потому что в другой файловой системе всё работало и какие-то метаданные видимо изменились, на что GitHub отреагировал...
Готово, наконец я могу заниматься разработкой под линуксом, и создавать действительно портативный софт, который достаточно распаковать и запустить через исполняемый файл, без этой всей возни с зависимостями и прочего линуксоидного дерьма:
Точно, нужно ведь оставить ссылку на ChimbaBench: ( https://github.com/Shedou/ChimbaBench ).
На этом пожалуй завершу статью, в итоге я смог наладить среду разработки под линуксом, да, это оказалось сложнее чем в Windows, и если бы не адекватный разработчик под псевдонимом shiftkey, который собрал адекватный, а самое главное портативный установочный DEB пакет, я бы дальше пердолился пытаясь прикрутить к линуксу удобный и простой GitHub Desktop.
Ну а что насчёт AppImage... Вот когда всё приложения в этом формате можно будет запустить в Ubuntu 13.04, и они не будут иметь откровенных проблем в работе, тогда я действительно похвалю разработчиков этого костыля! А пока это просто очередной костыль, который просто лучше других костылей под линукс, не более:
Благодарю за внимание, больше интересных статей в блоге Hard-Workshop.
Лента материалов
Соблюдение Правил конференции строго обязательно!
Флуд, флейм и оффтоп преследуются по всей строгости закона!
Комментарии, содержащие оскорбления, нецензурные выражения (в т.ч. замаскированный мат), экстремистские высказывания, рекламу и спам, удаляются независимо от содержимого, а к их авторам могут применяться меры вплоть до запрета написания комментариев и, в случае написания комментария через социальные сети, жалобы в администрацию данной сети.
Комментарии Правила