Categories: Компьютеры, Linux, Железо, Игры, ПрограммированиеУстановил KOMPAS 3D LT V12 под Linux, но...Компас 3D LT это бесплатная и максимально облегчённая (и очень старая) версия приложения для учеников образовательных учреждений. Возникла идея поставить её сыну для школьного проекта, так как Tinkercad не имеет некоторых нужных возможностей (фигуры вращения и выдавливания по произвольным эскизам, скругления). WINEPREFIX=~/.wine-kompas3dlt winecfg Выбираем режим Windows XP, задаём разрешение экрана, добавляем диски (если надо), выходим. WINEPREFIX=~/.wine-kompas3dlt winetricks -f -q corefonts mfc40 mfc42 vcrun2003 vcrun2010 gecko vcrun6 vcrun6sp6 3) Распаковываем дистрибутив в ~/.wine-kompas3dlt/drive_c/Distrib, переходим в каталог с файлами, запускаем: WINEPREFIX=~/.wine-kompas3dlt wine msiexec /i KOMPAS-3D_LT_V12.msi Почему-то, в отличие от Home-версии, не создался ярлык на рабочем столе, но это легко исправить, создав на столе скрипт или ярлык с примерно такой командой: WINEPREFIX=$HOME/.wine-kompas3dlt wine "$HOME/.wine-kompas3dlt/drive_c/Program Files (x86)/ASCON/KOMPAS-3D LT V12/Bin/KOMPASLT.Exe" И вроде всё запускается и работает очень шустро и не падает.
По первым двум проблемам, в интернетах есть информация, что старый Компас под Wine не всегда дружит в фирменными драйверами nVidia и лучше работает с nouveau, но это решение неприемлемо, т.к. с nouveau много что другое плохо работает. Итого, пока что затея с Компас LT проваливается. Вам может повезти и всё будет работать нормально, нам не повезло. Установка KOMPAS 3D под Ubuntu (20.04, v21, 64bit), 2023.021) Устанавливаем wine и winetricks. Желательно установить супер-новый Wine (без этого может работать, может не работать). Ниже команды для Ubuntu. Замените focal на кодовое имя вашего дистрибутива, при необходимости его можно уточнить командой lsb_release -a: sudo add-apt-repository 'deb http://dl.winehq.org/wine-builds/ubuntu/ focal main' sudo apt install --install-recommends winehq-devel Примечание - на самом деле, в этой инструкции для Ubuntu специфичен только этот способ установки свежего Wine, всё остальное одинаковое для всех дистрибутивов Linux. 2) Нужно создать отдельный чистый инстанс Wine для Компаса. Да, это расход дискового пространства (сам Компас у меня занял 5,5 ГБ, а его индивидуальная "винда" ещё 3 ГБ), но так намного удобнее и надёжнее. Всегда можно снести "винду" (весь каталог Wine) и начать с чистого листа и не восстанавливать кучу пропавших виндовых програм. Или забэкапить или перенести каталог с отдельным приложением. Заодно можно индивидуально настроить видимость линуксовой файловой системы, режимы совместимости с Windows. Ну и самое главное - активация Компаса привязана к конфигурации железа, на котором он работает, и при изменении конфигурации Wine активация может накрыться медным тазом. (Если это произойдёт, то остаётся только связываться с технической поддержкой Компаса, они помогут восстановить ключ.) WINEPREFIX=~/.wine-kompas winecfg Когда winecfg создаст каталоги "Windows" и запустится, смотрим настройки, например, можно настроить разрешение экрана и какие каталоги из системы будут видны виндовым программам и на каких буквах дисков. Потом выходим из него. 3) Следуя официальной инструкции, установим нужные компоненты винды: WINEPREFIX=~/.wine-kompas winetricks -f -q corefonts d3dcompiler_47 vcrun2015 dotnet48 Примечание: это может работать адски долго, но дайте ему закончить. WINEPREFIX=~/.wine-kompas wine msiexec /i KOMPAS-3D_v21_Home_x64.msi Выбираем выборочную установку и отключаем установку HASP (она называется как-то по другому в списке, типа менеджера ключей или что-то в этом роде). (Виндовый сервер HASP на Wine не работает, но есть линуксовая реализация, о ней ниже.) Активацию делаем просто по официальному мануалу, никаких граблей в процессе не обнаружено: раз, два. Для домашней версии нужно будет: sudo cp libhasp_linux_x86_64_46707.so /lib ./kActivation_cli -a <ключ> <емайл> Запускаем Компас, проверяем что всё ОК, делаем бэкап с ~/.wine-kompas P.S. Приложение работает под Wine в целом нормально и стабильно, хотя где-то неидеален вид UI. Также, иногда перестают нажиматься кнопки и вводиться текст в диалогах (свойства объектов, например), это лечится нажатием Alt+Tab. P.P.S. Ждём официальный порт на Linux, альфу обещали уже 2023 году... Сниппет для сэмплинга пользователей или A/B тестирования (Java)Допустим, у нас есть стабильный идентификатор пользователя userId. С помощью этой функции мы превращаем строковый идентификатор в псевдослучайное число: int userNumber = stringIdToSamplingMillis(userId); Теперь мы можем использовать это число так: if (userNumber < 50) ... // Пользователь попал в 5% тестовую выборку if (userNumber < 500) ... // Пользователь попал в категорию A else ... // Пользователь попал в категорию B Функция: // Генерирует по строке псевдослучайное число от 0 до 999 включительно. private static int stringIdToSamplingMillis(final String str) { // Используем MD5 в качестве генератора псевдослучайного числа на базе строки final MessageDigest hasher = MessageDigest.getInstance("MD5"); final byte[] data = str.getBytes(); hasher.update(data, 0, data.length); // Получим MD5 в виде длинного целого числа final BigInteger bigInt = (new BigInteger(hasher.digest())).abs(); // Получим хвост длинного целого в виде обычного int-а [0..999] return bigInt.mod(BigInteger.valueOf(1000)).intValue(); } Linux + 4K + Firefox & Chrome - размер шрифтов в меню и на вкладкахПосле покупки нового монитора, в течение первых же пяти минут обнаружил, что пользоваться обоими браузерами стало весьма проблематично, т.к. шрифт вкладок и меню стал очень мелким, при этом ни на какие системные настройки он не реагирует. Поиск работающего лекарства занял целый час, поэтому фиксирую тут. 1) Вычисляем коэффициент, на который нужно умножить разрешение. У моего нового монитора 162x161 PPI (xdpyinfo | grep dots), а проги считают, что 96 PPI. Делим ((162+161)/2)/96 = 1.6822916(6). То есть примерно 1.68. Можно не округлять, можно округлить до 1.7, по вкусу. 2) Google Chrome. Добавляем в ярлык параметр запуска: 3) Firefox, Thunderbird и другие GTK-приложения. Добавляем в ~/.bash_profile или ~/.profile (какой у вас используется, или в оба): P.S. Почему в 2020 году ведущие мировые приложения не умеют читать реальный PPI экрана мне неведомо. P.P.S. Фикс для Zoom: в ~/.config/zoomus.conf - исправляем значение scaleFactor. P.P.P.S. Wine: wine regedit -> HKEY_CURRENT_CONFIG > Software > Fonts, там создаём LogPixels (типа DWORD) с разрешением экрана, например, 162 (decimal) или просто запускаем winecfg и ставим разрешение на вкладке "Графика". Чтобы создать эффект использования увеличенных шрифтов нужно поставить разрешение на 25-30% больше реального. Шпаргалка по настройке Octoprint / OctoPi + TouchUI
Примечание: есть странный баг - иногда случайным образом блокировка скринсейвера не отрабатывает и экран всё же гаснет. Archives
|