pqrs-org / Karabiner-Elements

Karabiner-Elements is a powerful utility for keyboard customization on macOS Sierra (10.12) or later.
https://pqrs.org/osx/karabiner/
The Unlicense
18.33k stars 830 forks source link

Symbolic Link not working as doc says #3051

Open 0x3333 opened 2 years ago

0x3333 commented 2 years ago

My configuration files are in another folder, I symlink it in ~/.config/karabiner, like this:

ls ~/.config/karabiner
/Users/0x3333/.config/karabiner -> /Users/0x3333/cloud/dotfiles/karabiner

Here is the structure of my config folder:

├── assets
│  └── complex_modifications
│     ├── 0x3333-capslock.json
│     └── 0x3333-hyperx.json
├── automatic_backups
│  └── karabiner_20220325.json
├── karabiner.json

Karabiner GUI configuration works as expected, but it doesn't do any modifications. I can see my complex modifications but it simply doesn't work.

Removing the link and creating a directory, it works.

Anything I can do to debug?

Also, the doc says to restart karabiner_console_user_server process, but it doesn't exists anymore.

0x3333 commented 2 years ago

My issue was that karabiner_grabber needed full disk access, otherwise, It doesn't request access and doesn't work.

Would be nice to have it ask for permission.

ibehnam commented 2 years ago

For me, using absolute file paths when creating the symlink solved the isse: https://stackoverflow.com/questions/29758422/symbolic-link-source-item-cant-be-found

bdcarr commented 1 year ago

My issue was that karabiner_grabber needed full disk access, otherwise, It doesn't request access and doesn't work.

Thank you mate, this fixed the (related?) issue I was having. I have my ~/.config/karabiner folder symlinked into Dropbox, and Karabiner stopped working after Dropbox moved itself to ~/Library/CloudStorage, because it couldn't open karabiner.json.

Though, nothing else that accesses config files symlinked from Dropbox requires full disk access, and it seems like a security risk.

nashbridges commented 1 year ago

My issue was that karabiner_grabber needed full disk access

For clarity, what this means is to make sure "karabiner_grabber" checkbox is ticked in the System Preferences -> Privacy and Security -> Full Disk Access. By default the item is there, but is not ticked.

agoodshort commented 1 year ago

@nashbridges Thank you so much for properly describing the Full Disk Access checkbox. This definitely needs to be added to the documentation here

EnygmaINC commented 1 year ago

My issue was that karabiner_grabber needed full disk access, otherwise, It doesn't request access and doesn't work.

Would be nice to have it ask for permission.

Where is this found? Don't see it.

agoodshort commented 1 year ago

My issue was that karabiner_grabber needed full disk access, otherwise, It doesn't request access and doesn't work. Would be nice to have it ask for permission.

Where is this found? Don't see it.

  1. Go to System Preferences -> Privacy and Security -> Full Disk Access
  2. Tick karabiner_grabber
fharper commented 1 year ago

Giving it full disk access solved the issue for me.

If it's not already there as mentioned in the previous comment, you can click the + icon, and navigate to the /Library/Application Support/org.pqrs/Karabiner-Elements/bin/ where karabiner_grabber is hidden, and add it yourself.

phaseOne commented 10 months ago

As a user that now symlinks their karabiner config folder, giving karabiner_grabber Full Disk Access resolves the [error] [grabber] failed to open /Users/evan/.config/karabiner/karabiner.json issue.

However, I'd prefer karabiner_grabber to be restricted from Full Disk Access and instead request permission to access the file (just like the main Karabiner-Elements Application).