Если не хотите читать мои приключения, а сразу перейти к установке скрольте до следующего заголовка.

Предыстория

Постараюсь максимально кратко описать свою проблему, дабы вы могли понять что и зачем я делаю. Также стоит заметить, что я ближе к любителю, нежели к профессионалу в вопросах дизайна, открытого ПО, фронта и бека. И вообще лучше не мешать градусы, головушка заболит.

Я очень много работаю в терминале, слезать с него больно и не хочется, к сожалению в windows такого же мощного инструмента нет(кроме wsl, но даже это не покрывает мои потребности на 100%), тут еще и фронтенд разработка подъехала и каждый раз дуалбутиться ради одного приложения не вариант. Первое, что я нашел на просторах интерната был репозиторий figma-linux, но вот проблема - у меня приложение подтормаживает, а некоторые настойки не применяются. Хотелось бы конечно иметь производительность хотя бы на уровне браузера. И это самая БОЛЬШАЯ проблема, т.к в браузерной версии шрифты google-fonts - максимум. Решение я искал и почти нашел figma-linux-font-helper, но у меня это не заработало.

Попытка поставить figma через wine в принципе не увенчалась успехом, приложение не коннектится к интернету. Решение так и не находилось, пока я случайно не скачал вместо figma - font installer(то самое приложение справа), и да он доступен только для macos и для windows. И тут меня осенило! Если не ставиться figma, то можно поставить font installer и пользоваться шрифтами сколько угодно. Немножко погуглив я узнал, что wine спокойно подтягивает шрифты из системы, к слову использую я арческий дистрибутив garuda, в котором wine идет из коробки.

Для установки figma agent, он же font installer, не нужны никакие дополнительные зависимости в winetricks. Устанавливаем, и все шрифты летят прямиком в браузер, но хотелось бы иметь иконочку на панельке, это уже чистый перфекционизм - nativefier в помощь. Сие творение позволяет конвертнуть любое web-приложение в нативное. Далее создаем символическую ссылку и кидаем ее в любую удобную вам панельку. Но есть маленькая проблемка: когда будете экспортировать что-то из макета прога будет кидать всё в ~/Downloads.

По итогу с помощью wine устанавливаем font installer, чтобы работали локальные шрифты. А с помощью nativefier ставим figma, желательно с роутом на Recents или Drafts, чтобы не приходилось каждый раз логиниться.

Важно! После каждого перезапуска системы сервер шрифтов падет. Чтобы его поднять, нужно выполнить в терминале команду wineboot, перед открытием figma и все будет ОК.

Краткий алгоритм

В интернете полно гайдов как поставить тот или иной язык программирования, библиотеку или программу, не будем на этом зацыкливаться, я лишь даю действия которые нужно совершить чтобы всё заработало.

  1. Качаем и устанавливаем node.js и npm. Первое, что пришло в голову - через nvm.

  2. Устанавливаем nativefier.

  3. Ставим wine. Для каждого дистрибутива свой алгоритм, да и статья не об этом.

  4. Качаем font installer для windows.

  5. Ставим font installer через wine

  6. С помощью nativefier превращаем браузерную версию figma в десктопную. Рекомендую что-то такое nativefier "https://www.figma.com/files/recent" именно с роутом на недавние, на что угодно, главное не на логин.

  7. Запускаем полученное приложение, и вуаля: нормальная производительность + поддержка установленных в системе шрифтов, правда экспорты идут в ~/Downloads, но это не беда.

  8. Создаем символическую ссылку на исполняемый файлик и кидаем её куда хотим. Я вот на панельке закрепил - удобно.

  9. Важно! После каждого перезапуска системы сервер шрифтов падет. Чтобы его поднять нужно выполнить в терминале команду wineboot, перед открытием figma и все будет ОК.

  10. Ну и последнее, если сервер шрифтов перестал работать, то сгоняйте и скачайте новую версию с официального сайта figma.

Комментарии (2)


  1. SignFinder
    00.00.0000 00:00

    В заголовке опечатку поправить бы - "поддрежкой"


  1. Johan_Palych
    00.00.0000 00:00

    Тормозов особых не замечал. Ставил на Arch(figma-linux-bin и figma-agent-linux)

    yay -S figma-linux-bin figma-agent-linux