Open xfangfang opened 3 years ago
@xfangfang The internet tells me this is usually a permissions error. Are you able to run xbar? Did you install it by dragging it into the Applications folder?
@matryer I can use xbax. After download it, I drag it to the application folder. When first time I run it, shows that because of untrusted developers I can't open, and I go to settings to allow xbar to be opened.
Also tried: sudo open -jg 'xbar://app.xbarapp.com/refreshPlugin?path=plugin.py'
Shows the same to before.
Thank you very much for your reply.
@xfangfang You're welcome.
Does plugin.py
definitely exist in the ~/Library/Application Support/xbar/plugins
folder?
try 001-age-ticker.1s.py got the same error
(jupyter369) xfangfangs-MBP:plugins fang$ pwd
/Users/fang/Library/Application Support/xbar/plugins
(jupyter369) xfangfangs-MBP:plugins fang$ ls -lah
total 96
drwxr-xr-x 8 fang staff 256B 4 6 19:00 .
drwxr-xr-x 5 fang staff 160B 4 5 21:23 ..
-rwxr-xr-x@ 1 fang staff 893B 4 6 19:00 001-age-ticker.1s.py
(jupyter369) xfangfangs-MBP:Contents fang$ ls -lah /Applications/xbar.app
total 0
drwxr-xr-x 3 fang admin 96B 4 6 06:30 .
drwxrwxr-x+ 88 root admin 2.8K 4 6 06:30 ..
drwxr-xr-x 5 fang admin 160B 4 6 06:30 Contents
Nice report @xfangfang. Which URL are you trying to refresh that age-ticker plugin?
@matryer
(jupyter369) xfangfangs-MBP:~ fang$ open -jg 'xbar://app.xbarapp.com/refreshPlugin?path=001-age-ticker.1s.py'
LSOpenURLsWithRole() failed with error -600 for the URL xbar://app.xbarapp.com/refreshPlugin?path=001-age-ticker.1s.py.
(jupyter369) xfangfangs-MBP:~ fang$ open -jg 'xbar://app.xbarapp.com/refreshPlugin?path=001-age-ticker'
LSOpenURLsWithRole() failed with error -600 for the URL xbar://app.xbarapp.com/refreshPlugin?path=001-age-ticker.
(jupyter369) xfangfangs-MBP:~ fang$ open -jg 'xbar://app.xbarapp.com/refreshPlugin?path=age-ticker.1s.py'
LSOpenURLsWithRole() failed with error -600 for the URL xbar://app.xbarapp.com/refreshPlugin?path=age-ticker.1s.py.
(jupyter369) xfangfangs-MBP:~ fang$ open -jg 'xbar://app.xbarapp.com/refreshPlugin?path=age-ticker.py'
LSOpenURLsWithRole() failed with error -600 for the URL xbar://app.xbarapp.com/refreshPlugin?path=age-ticker.py.
@matryer I found an interesting thing. If I close the software first, and then open -jg 'xbar://app.xbarapp.com/refreshPlugin?path=001-age-ticker.1s.py'
, there will be no error. However, the Xbar icon will only flash in the dock, and nothing happened.
If the software has been opened, and then refresh the plugin through the terminal, it will report an error.
I get more error information on another computer(MACOS 11.0.1)
FANGdeAir:679b9982232b318b fang$ open -jg 'xbar://app.xbarapp.com/refreshPlugin?path=001-age-ticker.1s.py'
The application cannot be opened for an unexpected reason, error=Error Domain=NSOSStatusErrorDomain Code=-600 "procNotFound: no eligible process with specified descriptor" UserInfo={_LSLine=379, _LSFunction=_LSAnnotateAndSendAppleEventWithOptions}
I have the exact same behaviour:
~/Library/Application Support/xbar/plugins on master
⚡23% ❯ open -jg 'xbar://app.xbarapp.com/refreshPlugin?path=autogit_status.15m.sh'
LSOpenURLsWithRole() failed with error -600 for the URL xbar://app.xbarapp.com/refreshPlugin?path=autogit_status.15m.sh.`
For every plugin:
💥~/Library/Application Support/xbar/plugins on master
⚡23% ❯ ll
total 40
-rwxr-xr-x 1 2.7K 29 Mar 17:23 clip-hist.3s.sh*
-rwxr-xr-x@ 1 400B 4 Apr 20:53 tugbanner.1m.sh*
drwxr-xr-x 4 128B 4 Apr 20:56 purgatory/
-rwxr-xr-x@ 1 1.6K 10 Apr 07:33 weather.15m.sh*
lrwxr-xr-x 1 17B 11 Apr 06:46 autogit_status.15m.sh@ -> ../autogit_status
-rwxr-xr-x 1 1.2K 11 Apr 08:03 ansi.sh*
drwxr-xr-x 3 96B 11 Apr 09:38 hold/
-rwxr-xr-x@ 1 1.3K 11 Apr 12:30 batt-mins.10s.sh*
💥~/Library/Application Support/xbar/plugins on master
⚡23% ❯ open -jg 'xbar://app.xbarapp.com/refreshPlugin?path=batt-mins.10s.sh'
LSOpenURLsWithRole() failed with error -600 for the URL xbar://app.xbarapp.com/refreshPlugin?path=batt-mins.10s.sh.
Without seeming to update the relevant plugin.
interestingly ...
💥~/Library/Application Support/xbar/plugins on master
⚡23% ❯ open -a xbar
LSOpenURLsWithRole() failed for the application /Applications/xbar.app with error -600.
💥~/Library/Application Support/xbar/plugins on master
⚡23% ❯ open /Applications/xbar.app/
LSOpenURLsWithRole() failed with error -600 for the file /Applications/xbar.app.
But in this latter case it does seem to open the application and give it focus
Now my confession:
💥~/Library/Application Support/xbar/plugins on master
⚡21% ❯ cd ..
💥~/Library/Application Support/xbar
⚡21% ❯ ll
total 0
drwxr-xr-x 4 128B 29 Mar 17:20 cache/
lrwxr-xr-x 1 28B 29 Mar 17:22 plugins@ -> /Users/tadhg.obrien/bin/xbar
💥~/Library/Application Support/xbar
⚡21% ❯
The plugin directory is symlinked to a subdir of my custom bin folder, for the purpose of keeping it under source control and I don't like keeping my code in random hidden folders that Apple has created. Though Apple didn't create this one, in all fairness :)
I thought this might do the trick:
But no luck, same results
Update ... I thought I was coming back to make a correction that the full disk access had done the trick, but then, ...
💥~/Library/Application Support/xbar
⚡21% ❯ open-jg xbar://app.xbarapp.com/refreshPlugin\?path=batt-mins.10s.sh
💥~/Library/Application Support/xbar
crashed xbar
After starting it again manually, we're back to -600 errors
@tigger04 I don't think it's related, but I noticed an extra \
in your URL:
xbar://app.xbarapp.com/refreshPlugin\?path=batt-mins.10s.sh
^
Oh - I was just escaping it. You'll see in the previous examples it's within quotes and no escaping with \
This problem might stem from the fact that xbar is from an untrusted source. To confirm whether this is the case for you, you can run the following:
$ xattr -l /Applications/xbar.app/Contents/MacOS/xbar
com.apple.quarantine: 0000;00000000;Source;00000000-0000-0000-0000-000000000000
If there's output with com.apple.quarantine
then that's the issue. You can manually remove the executable from quarantine, following which you should get no output when running the above again.
$ xattr -dr com.apple.quarantine /Applications/xbar.app/Contents/MacOS/xbar
$ xattr -l /Applications/xbar.app/Contents/MacOS/xbar
# No output
Following the above, the open
call works as expected for me. The problem should go away when the executable is properly signed.
@Etheryte
It doesn't work for me.
On my MacBook(MacOS 10.15.7), running xattr -l ...
output is empty, and running open -jg ...
will still report an error.
What's interesting is that I had this problem on another device(MacOS 11.0.1). After updating to MacOS 11.3, the problem disappeared, but when I ran:
$ xattr -l /Applications/xbar.app/Contents/MacOS/xbar
I can get a string of output starting with com.apple.quarantine
This problem might stem from the fact that xbar is from an untrusted source. To confirm whether this is the case for you, you can run the following:
What's to confirm? All of the builds on the releases page, and via Homebrew, are unsigned and therefore untrusted on MacOS. The only way around this is to build it yourself from source in Xcode.
I don't mean to sound ungrateful to the creator and maintainers who have put so much time and effort in to this wonderful tool, but the rebrand to xbar and decision to rewrite it from scratch has obviouly been a failure since there are a plethora of regression defects that make this pretty much un-usable now. This in itself would not be a problem if it was maintained, but as it's now 3 months since the last release I think it's safe to assume it is not.
Anyone ever solve this problem as I am running into it as well.
I will note that the problem only occurs if I start xbar by double clicking the icon and then trying to run 'open open -jg 'xbar://app.xbarapp.com/refreshAllPlugins' from a terminal window. But, from a terminal window if I start xbar by running /Applications/xbar.app/Contents/MacOs/xbar it runs successfully and then in a separate terminal window the above open command works as expected with no errors.
Can confirm for me as well that starting it through terminal is the only way to get the URL-scheme functionality to work.
I try to refresh the plugin by:
open -jg 'xbar://app.xbarapp.com/refreshPlugin?path=plugin.py'
And I got:LSOpenURLsWithRole() failed with error -600 for the URL xbar://app.xbarapp.com/refreshPlugin?path=plugin.py.
I guess some settings of my computer may cause this problem. Does anyone have similar problems?
System version: MACOS 10.15.7