Comments (15)
i am getting the same problem.
i have changed the path from
${XDG_CONFIG_HOME}/figma-fonthelper/fonthelper
to
/home/elma/.local/share/figma-fonthelper/fonthelper
but i am still getting these errors
figma-fonthelper.service - Font Helper for Figma
Loaded: bad-setting (Reason: Unit figma-fonthelper.service has a bad unit file setting.)
Active: active (running) since Wed 2024-01-10 15:27:05 CET; 8min ago
Main PID: 211715 (fonthelper)
CPU: 255ms
CGroup: system.slice/figma-fonthelper.service
└─211715 /home/elma/.local/share/figma-fonthelper/fonthelper
jan 10 15:27:07 C systemd[2106]: /home/elma/.config/systemd/user/figma-fon>
jan 10 15:27:07 C systemd[2106]: figma-fonthelper.service: Unit configuration has fatal error, u>
jan 10 15:27:07 C systemd[2106]: /home/elma/.config/systemd/user/figma-fon>
jan 10 15:27:07 C systemd[2106]: figma-fonthelper.service: Unit configuration has fatal error, u>
jan 10 15:33:10 C systemd[2106]: /home/elma/.config/systemd/user/figma-fon>
jan 10 15:33:10 C systemd[2106]: figma-fonthelper.service: Unit configuration has fatal error, u>
jan 10 15:33:10 C systemd[2106]: /home/elma/.config/systemd/user/figma-fon>
jan 10 15:33:10 C systemd[2106]: figma-fonthelper.service: Unit configuration has fatal error, u>
jan 10 15:33:10 C systemd[2106]: /home/elma/.config/systemd/user/figma-fon>
jan 10 15:33:10 C systemd[2106]: figma-fonthelper.service: Unit configuration has fatal error, u>
~
has anyone found the solution?
from figma-linux-font-helper.
I figured out what the problem is (described at the bottom), and put together a workaround.
Important
This workaround requires disabling the updater. Any updates will have to be done manually.
Caution
This service gives figma.com
access to your local filesystem
.
While highly unlikely, failing to update could result in exposing your machine to unpatched vulnerabilities.
1. Disable and Stop the Updater
systemctl --user disable figma-fonthelper-updater.service
systemctl --user stop figma-fonthelper-updater.service
2. Hard-code your .local/share
dir in the service file:
[Unit]
Description=Font Helper for Figma
After=systemd-user-sessions.service
[Service]
Type=simple
- ExecStart=${XDG_CONFIG_HOME}/figma-fonthelper/fonthelper
+ ExecStart=/home/YOUR_USERNAME/.local/share/figma-fonthelper/fonthelper
ExecStop=/bin/bash -c '`which killall` fonthelper'
Restart=on-failure
[Install]
WantedBy=multi-user.target
3. Restart the systemd daemon and the service
systemctl --user daemon-restart
systemctl --user restart figma-fonthelper.service
Tip
You might also want to make sure there are no rogue updaters still running:
$ ps -ef | grep figma
usernam+ 927970 0 0 01:21 ? 00:00:00 /bin/bash /home/username/.local/share/figma-fonthelper/updater.sh
usernam+ 936562 1631 0 01:38 ? 00:00:00 /home/username/.local/share/figma-fonthelper/fonthelper
$ kill -9 927970
The Problem
There are multiple reasons why this isn't working properly...
- The systemd service files are referencing
XDG_CONFIG_HOME
, when they should be looking forXDG_DATA_HOME
- If either
XDG_DATA_HOME
orXDG_CONFIG_HOME
are unset, the service will fail anyways - The updater is in an infinite loop downloading the latest version. This is due to
fonthelper -v
always returning0.1.5
even for version0.1.7
.
from figma-linux-font-helper.
For now I just set the
ExecStart
path like this:[Unit] Description=Font Helper for Figma After=systemd-user-sessions.service [Service] Type=simple ExecStart=/home/datsudo/.local/share/figma-fonthelper/fonthelper ExecStop=/bin/bash -c '`which killall` fonthelper' Restart=on-failure [Install] WantedBy=multi-user.target
The original value was
${XDG_CONFIG_HOME}/figma-fonthelper/fonthelper
but the exec file is actually installed in~/.local/share/figma-fonthelper
. I tried${XDG_DATA_HOME}/figma-fonthelper/fonthelper
(because I also setXDG_DATA_HOME
to~/.local/share
) but still doesn't work.same i was set like that, but after minutes the updater config back to ${XDG_DATA_HOME}/ again.
You might want to disable the auto-update service
from figma-linux-font-helper.
#41 has already fixed the issue but needs to be tagged by maintainers to be fetched as an update in the systemd service.
from figma-linux-font-helper.
I just made a fresh install.
And still get ${XDG_CONFIG_HOME} instead of /home/user/.local/share in .service files.
Also the json config is not applied, because it's already created by figma-linux. So i edited it manually with a host
and port
keys.
The port now should be 44950
instead of 18412
.
from figma-linux-font-helper.
I have the same issue.
from figma-linux-font-helper.
same, the only fix that i found is to reinstall the helper but it only lasts until i reboot
from figma-linux-font-helper.
Same for me, on Ubuntu 22.04.2 LTS.
I thought that I found a solution here:
If the file ~/.profile
doesn't exist yet, create an empty file with the command touch ~/.profile
.
Open the file using a text editor and add these two lines:
XDG_CONFIG_HOME="$HOME/.config"
export XDG_CONFIG_HOME
Save the file, and it will take effect the next time you login.
or type:
. ~/.profile
But after restart did't work, sorry.
from figma-linux-font-helper.
Same for me, on Ubuntu 22.04.2 LTS.
Found a solution here:
If the file
~/.profile
doesn't exist yet, create an empty file with the commandtouch ~/.profile
. Open the file using a text editor and add these two lines:XDG_CONFIG_HOME="$HOME/.config" export XDG_CONFIG_HOME
Save the file, and it will take effect the next time you login. or type:
. ~/.profile
I already have that in my $HOME/.xprofile
:
...
export XDG_CONFIG_HOME="$HOME/.config"
...
Service status:
● figma-fonthelper.service - Font Helper for Figma
Loaded: bad-setting (Reason: Unit figma-fonthelper.service has a bad unit file setting.)
Active: active (running) since Wed 2023-07-26 14:07:36 PST; 6min ago
Main PID: 7301 (fonthelper)
CPU: 1.495s
CGroup: /user.slice/user-1000.slice/[email protected]/app.slice/figma-fonthelper.service
└─7301 /home/datsudo/.local/share/figma-fonthelper/fonthelper
Jul 26 14:07:41 eos systemd[1233]: /home/datsudo/.config/systemd/user/figma-fonthelper.service:7: Neither a valid executable name nor an absolute path: ${XDG_CONFIG_HOME}/figma-fonthelper/fonthelper
Jul 26 14:07:41 eos systemd[1233]: figma-fonthelper.service: Unit configuration has fatal error, unit will not be started.
from figma-linux-font-helper.
For now I just set the ExecStart
path like this:
[Unit]
Description=Font Helper for Figma
After=systemd-user-sessions.service
[Service]
Type=simple
ExecStart=/home/datsudo/.local/share/figma-fonthelper/fonthelper
ExecStop=/bin/bash -c '`which killall` fonthelper'
Restart=on-failure
[Install]
WantedBy=multi-user.target
The original value was ${XDG_CONFIG_HOME}/figma-fonthelper/fonthelper
but the exec file is actually installed in ~/.local/share/figma-fonthelper
. I tried ${XDG_DATA_HOME}/figma-fonthelper/fonthelper
(because I also set XDG_DATA_HOME
to ~/.local/share
) but still doesn't work.
from figma-linux-font-helper.
Sorry my solution didn't works after restart.
Ended with a script that launchs
/home/<username>/.local/share/figma-fonthelper/fonthelper
from figma-linux-font-helper.
For now I just set the
ExecStart
path like this:[Unit] Description=Font Helper for Figma After=systemd-user-sessions.service [Service] Type=simple ExecStart=/home/datsudo/.local/share/figma-fonthelper/fonthelper ExecStop=/bin/bash -c '`which killall` fonthelper' Restart=on-failure [Install] WantedBy=multi-user.target
The original value was
${XDG_CONFIG_HOME}/figma-fonthelper/fonthelper
but the exec file is actually installed in~/.local/share/figma-fonthelper
. I tried${XDG_DATA_HOME}/figma-fonthelper/fonthelper
(because I also setXDG_DATA_HOME
to~/.local/share
) but still doesn't work.
same i was set like that, but after minutes the updater config back to ${XDG_DATA_HOME}/ again.
from figma-linux-font-helper.
Since the issue is still open, I'd like to point to a "solution" I implemented in my fork (be warned, it's extremely hacky).
@zewebdev1337/figma-archlinux-font-helper [named like so because at first I thought it was only arch being quirky]
It's done by using sed
to hijack the changes brought over by the update, rewriting the appropriate paths. I also turned the install into a system-wide service as it's marked as wanted by multi-user.target, which is inexistent for user services). If I understand correctly, the update system is working on my fork but I'm honestly not sure. What I know is that using sed
the way I did allows me to keep the update service and prevent the bugs I mentioned. (and update service reports all good after lots of troubleshooting. In fact I catched several updates that broke my install and addressed the breaking changes brought over by them one by one).
It seems like this is an issue that requires a somewhat complex and deep refactoring so I've decided against opening a PR as my code makes everything even more convoluted and changes some key aspects of the original implementation like moving the files to /usr/share/, /etc/ and /etc/systemd/system/, thus requiring sudo to install.
from figma-linux-font-helper.
Since the issue is still open, I'd like to point to a "solution" I implemented in my fork (be warned, it's extremely hacky).
@zewebdev1337/figma-archlinux-font-helper [named like so because at first I thought it was only arch being quirky]
It's done by using
sed
to hijack the changes brought over by the update, rewriting the appropriate paths. I also turned the install into a system-wide service as it's marked as wanted by multi-user.target, which is inexistent for user services). If I understand correctly, the update system is working on my fork but I'm honestly not sure. What I know is that usingsed
the way I did allows me to keep the update service and prevent the bugs I mentioned. (and update service reports all good after lots of troubleshooting. In fact I catched several updates that broke my install and addressed the breaking changes brought over by them one by one).It seems like this is an issue that requires a somewhat complex and deep refactoring so I've decided against opening a PR as my code makes everything even more convoluted and changes some key aspects of the original implementation like moving the files to /usr/share/, /etc/ and /etc/systemd/system/, thus requiring sudo to install.
Thanks for this. After the install.sh execution is done, I get these messages :
● figma-fonthelper.service - Font Helper for Figma
Loaded: loaded (/etc/systemd/system/figma-fonthelper.service; enabled; preset: disabled)
Active: active (running) since Thu 2023-11-30 21:39:48 CET; 2min 29s ago
Main PID: 1014 (fonthelper)
Tasks: 17 (limit: 18384)
Memory: 4.9M
CPU: 30ms
CGroup: /system.slice/figma-fonthelper.service
└─1014 /usr/share/figma-fonthelper/fonthelper
nov. 30 21:39:48 antolenovo systemd[1]: Started Font Helper for Figma.
● figma-fonthelper-updater.service - Updater for Font Helper
Loaded: loaded (/etc/systemd/system/figma-fonthelper-updater.service; enabled; preset: disabled)
Active: active (running) since Thu 2023-11-30 21:39:48 CET; 2min 29s ago
Main PID: 1013 (updater.sh)
Tasks: 2 (limit: 18384)
Memory: 1.4M
CPU: 70ms
CGroup: /system.slice/figma-fonthelper-updater.service
├─1013 /bin/bash /usr/share/figma-fonthelper/updater.sh
└─1042 sleep 360
That's great.... but the tool doesn't actually works. And, when I do this, here is what I get:
$ systemctl --user status figma-fonthelper.service INT ✘
Unit figma-fonthelper.service could not be found.
So I tried to run this and I got:
systemctl list-unit-files --state=enabled --type=service 4 ✘
UNIT FILE STATE PRESET
...
figma-fonthelper-updater.service enabled disabled
figma-fonthelper.service enabled disabled
...
It's actually weird. The tool doesn't work, isn't found but is enabled.
Maybe could you help me about that ?
from figma-linux-font-helper.
Since the issue is still open, I'd like to point to a "solution" I implemented in my fork (be warned, it's extremely hacky).
@zewebdev1337/figma-archlinux-font-helper [named like so because at first I thought it was only arch being quirky]
It's done by usingsed
to hijack the changes brought over by the update, rewriting the appropriate paths. I also turned the install into a system-wide service as it's marked as wanted by multi-user.target, which is inexistent for user services). If I understand correctly, the update system is working on my fork but I'm honestly not sure. What I know is that usingsed
the way I did allows me to keep the update service and prevent the bugs I mentioned. (and update service reports all good after lots of troubleshooting. In fact I catched several updates that broke my install and addressed the breaking changes brought over by them one by one).
It seems like this is an issue that requires a somewhat complex and deep refactoring so I've decided against opening a PR as my code makes everything even more convoluted and changes some key aspects of the original implementation like moving the files to /usr/share/, /etc/ and /etc/systemd/system/, thus requiring sudo to install.Thanks for this. After the install.sh execution is done, I get these messages :
● figma-fonthelper.service - Font Helper for Figma Loaded: loaded (/etc/systemd/system/figma-fonthelper.service; enabled; preset: disabled) Active: active (running) since Thu 2023-11-30 21:39:48 CET; 2min 29s ago Main PID: 1014 (fonthelper) Tasks: 17 (limit: 18384) Memory: 4.9M CPU: 30ms CGroup: /system.slice/figma-fonthelper.service └─1014 /usr/share/figma-fonthelper/fonthelper nov. 30 21:39:48 antolenovo systemd[1]: Started Font Helper for Figma. ● figma-fonthelper-updater.service - Updater for Font Helper Loaded: loaded (/etc/systemd/system/figma-fonthelper-updater.service; enabled; preset: disabled) Active: active (running) since Thu 2023-11-30 21:39:48 CET; 2min 29s ago Main PID: 1013 (updater.sh) Tasks: 2 (limit: 18384) Memory: 1.4M CPU: 70ms CGroup: /system.slice/figma-fonthelper-updater.service ├─1013 /bin/bash /usr/share/figma-fonthelper/updater.sh └─1042 sleep 360
That's great.... but the tool doesn't actually works. And, when I do this, here is what I get:
$ systemctl --user status figma-fonthelper.service INT ✘ Unit figma-fonthelper.service could not be found.
So I tried to run this and I got:
systemctl list-unit-files --state=enabled --type=service 4 ✘ UNIT FILE STATE PRESET ... figma-fonthelper-updater.service enabled disabled figma-fonthelper.service enabled disabled ...
It's actually weird. The tool doesn't work, isn't found but is enabled. Maybe could you help me about that ?
It's weird indeed; the reason you get Unit figma-fonthelper.service could not be found.
is because I converted the service to be a system service, so adding the --user flag founds no service, but if you remove --user, you should actually see the status of the tool.
My suggestion is to disable the services disable before uninstalling (just remove the executables at /usr/share/figma-fonthelper/ and service files at /etc/systemd/system/ once you disabled the services), then reinstall it, if you query the status after that, it should be running and working (it should look no different than what you got in your first messages after install).
I also noticed some odd behavior while working on the patch if I didn't disable the services before installing again, maybe that's what's happening here.
from figma-linux-font-helper.
Related Issues (20)
- Wrong systemd path on Opensuse Tumbleweed HOT 1
- Not a directory spam
- Does not work (PopOS) HOT 2
- how use this >? HOT 1
- not able to use local fonts HOT 3
- Not working HOT 3
- Figma cannot recognize font weights on linux
- I can't get this to work as intended HOT 1
- Question about privileges
- Disable autoupdates without disabling a service
- figma-linux-font-helper not start anymore HOT 2
- Local fonts are not being found / font URL issue HOT 1
- Failed to load local fonts HOT 6
- Doesnt load fonts HOT 14
- Wrong service file names HOT 1
- Is this still working? HOT 3
- Can't run on Debian 11 HOT 1
- figma-linux-fonthelper does not start
- How do I get rid of this script installed on my Ubuntu? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from figma-linux-font-helper.