yqrashawn / GokuRakuJoudo

config karabiner with ease
GNU General Public License v3.0
1.14k stars 121 forks source link

Goku Service says it is stopped and lists old version #185

Open phifa opened 1 year ago

phifa commented 1 year ago

Something is still wrong with the goku service. It is watching and doing the transformation, but when checking the services, it says it is stopped:

I think I am on 0.6.0, but goku --version says 0.5.7...

yqrashawn commented 1 year ago

Hi, as for the brew service, are there any logs at ~/Library/Logs/goku.log? And for the old version, I forgot to change them XD.

phifa commented 1 year ago
Done!
Done!
Done!
Done!
Done!

@yqrashawn file looks good. compiling manually does work, just not the service.

~ brew services start goku

Bootstrap failed: 5: Input/output error
Try re-running the command as root for richer errors.
Error: Failure while executing; `/bin/launchctl bootstrap gui/501 /Users/phil/Library/LaunchAgents/homebrew.mxcl.goku.plist` exited with 5.

The file looks like this:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>homebrew.mxcl.goku</string>
  <key>ProgramArguments</key>
  <array>
    <string>/opt/homebrew/opt/goku/bin/goku</string>
  </array>
  <key>WatchPaths</key>
  <array>
      <string>/Users/phil/.config/karabiner.edn</string>
  </array>
  <key>EnvironmentVariables</key>
  <dict>
      <key>GOKU_EDN_CONFIG_FILE</key>
      <string>/Users/phil/.config/karabiner.edn</string>
  </dict>
  <key>StandardErrorPath</key>
  <string>/Users/phil/Library/Logs/goku.log</string>
  <key>StandardOutPath</key>
  <string>/Users/phil/Library/Logs/goku.log</string>
  <key>RunAtLoad</key>
  <true/>
</dict>
</plist>
matthewtraughber commented 1 year ago

Possibly related - https://github.com/yqrashawn/GokuRakuJoudo/issues/179

Additional detail:

mt@slab-temp ~ % sudo brew services stop goku
Stopping `goku`... (might take a while)
==> Successfully stopped `goku` (label: homebrew.mxcl.goku)
mt@slab-temp ~ % sudo brew services start goku
Warning: Taking root:admin ownership of some goku paths:
  /opt/homebrew/Cellar/goku/0.6.0/bin
  /opt/homebrew/Cellar/goku/0.6.0/bin/goku
  /opt/homebrew/opt/goku
  /opt/homebrew/opt/goku/bin
  /opt/homebrew/var/homebrew/linked/goku
This will require manual removal of these paths using `sudo rm` on
brew upgrade/reinstall/uninstall.
Warning: goku must be run as non-root to start at user login!
==> Successfully started `goku` (label: homebrew.mxcl.goku)
mt@slab-temp ~ % brew services list
Name  Status  User File
goku  stopped root ~/Library/LaunchAgents/homebrew.mxcl.goku.plist
yabai started mt   ~/Library/LaunchAgents/homebrew.mxcl.yabai.plist
mt@slab-temp ~ % sudo brew services list
Name  Status     User File
goku  error  256 root /Library/LaunchDaemons/homebrew.mxcl.goku.plist
yabai none       root
mt@slab-temp ~ %
f17mkx commented 1 year ago

same issue.. very frustrating. I dont know wether I ever fixed it "the right way".. though altering /opt/homebrew/opt/goku/homebrew.mxcl.goku.plist always did the trick.

like so:

user@computer > ~ > cat /opt/homebrew/opt/goku/homebrew.mxcl.goku.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>homebrew.mxcl.goku</string>
  <key>ProgramArguments</key>
  <array>
    <string>/opt/homebrew/opt/goku/bin/goku</string>
  </array>
  <key>WatchPaths</key>
  <array>
      <string>PATH_TO_EDN.edn</string>
  </array>
  <key>EnvironmentVariables</key>
  <dict>
      <key>GOKU_EDN_CONFIG_FILE</key>
      <string>PATH_TO_EDN.edn</string>
  </dict>
  <key>StandardErrorPath</key>
  <string>/Users/user/Library/Logs/goku.log</string>
  <key>StandardOutPath</key>
  <string>/Users/user/Library/Logs/goku.log</string>
  <key>RunAtLoad</key>
  <true/>
</dict>
</plist>

and you may need to rm ~/Library/LaunchAgents/homebrew.mxcl.goku.plist