Ask Different (Apple)
Q&A for power users of Apple hardware and software
Latest Questions
3
votes
1
answers
207
views
How can I prevent "Open With..." from accessing external drives?
Frequently, when I try to open the (10.9) Finder's "Open With..." menu, I experience a delay that appears to be due to connected FireWire drives. This delay is very long [when the drives need to spin up][1], but is also perceptible when the drives have not spun down. For me, this delay makes no sens...
Frequently, when I try to open the (10.9) Finder's "Open With..." menu, I experience a delay that appears to be due to connected FireWire drives. This delay is very long when the drives need to spin up , but is also perceptible when the drives have not spun down. For me, this delay makes no sense: I have no applications that I use stored on my external drives, and I have disabled Spotlight searches of these drives (using Spotlight's "Privacy" setting ).
Is there some way to prevent the "Open With..." menu examining external drives?
---
Note that this is not a question about speeding up the OW menu in general (e.g., by pruning apps and file type associations), nor about keeping duplicate apps on external drives from appearing in the OW menu (I have none as my Spotlight settings noted above exclude them).
orome
(12163 rep)
Dec 16, 2013, 05:20 PM
• Last activity: Aug 4, 2025, 01:00 AM
8
votes
2
answers
1884
views
Error while changing the default application with which we open a file
Recently I've tried to change the default application with which a file is opened, by doing the following: 1. Right click on the file 2. Get info 3. In "Open with", change to the application you want your file to be opened with. 4. Click on the "Change All" button which is found under the "Open with...
Recently I've tried to change the default application with which a file is opened, by doing the following:
1. Right click on the file
2. Get info
3. In "Open with", change to the application you want your file to be opened with.
4. Click on the "Change All" button which is found under the "Open with" label
in the last step, i.e. when I click on "Change All", I receive the following message:
then if I look at the default application that opens this file, it's really the application I've just chosen, but when I click on the file to open it, I've the following error message:
Yes, I was trying to open a


Makefile
for a C program.
Any ideas of why this is happening and how to solve it?
user90775
Oct 28, 2016, 05:55 PM
• Last activity: Jun 14, 2025, 07:05 PM
16
votes
3
answers
14497
views
Why does setting the hard-limit for maxfiles to "unlimited" using `launchctl limit` result in a hard-limit slightly above the soft-limit?
>Why does setting the hard-limit for maxfiles to "unlimited" using `launchctl limit` result in a hard-limit slightly above the soft-limit? By setting the maxfiles limit using launchctl to `launchctl limit maxfiles 10000 unlimited`, I get the following result: nlykkei-mbp:~ nlykkei$ launchctl limit m...
>Why does setting the hard-limit for maxfiles to "unlimited" using
launchctl limit
result in a hard-limit slightly above the soft-limit?
By setting the maxfiles limit using launchctl to launchctl limit maxfiles 10000 unlimited
, I get the following result:
nlykkei-mbp:~ nlykkei$ launchctl limit maxfiles
maxfiles 10000 10240
Initially, after the system has booted, hard-limit is set to "unlimited", so why can't I set the same hard-limit by setting it manually?
Shuzheng
(1681 rep)
Aug 7, 2019, 07:12 AM
• Last activity: May 29, 2025, 11:32 AM
2
votes
1
answers
62
views
Is it possible to harden a launchd service?
I use [syncthing](https://syncthing.net/) for backups and data sync. In Linux, I run it via a `systemd` hardened unit, restricting what directories the process can read, access to privileged kernel ops and, most important, I restrict TCP/UDP traffic to a particular subnet, to ensure no data egress h...
I use [syncthing](https://syncthing.net/) for backups and data sync. In Linux, I run it via a
systemd
hardened unit, restricting what directories the process can read, access to privileged kernel ops and, most important, I restrict TCP/UDP traffic to a particular subnet, to ensure no data egress happens.
I'm installing it on a Mac laptop via Brew which uses launchd
to run it, the file is this one:
KeepAlive
Label
homebrew.mxcl.syncthing
LimitLoadToSessionType
Aqua
Background
LoginWindow
StandardIO
System
ProgramArguments
/opt/homebrew/opt/syncthing/bin/syncthing
-no-browser
-no-restart
RunAtLoad
StandardErrorPath
/opt/homebrew/var/log/syncthing.log
StandardOutPath
/opt/homebrew/var/log/syncthing.log
I've done some research and I could not found a way to harden security. I can live without data and privileged access restrictions, but I'd like to ensure no data egress happens. Is this possible?
Note: tried sandbox-exec
, but it does not support IP addresses (error: sandbox-exec: host must be * or localhost in network address)
Sebastian
(161 rep)
Apr 11, 2025, 10:52 AM
• Last activity: May 12, 2025, 11:04 AM
0
votes
0
answers
249
views
Run a secondary SSH server on MacOS Sequoia
I use SSH extensively for intersystem communication within a private (192.x.x.x) network. Now there is a need to allow _only_ some functions (notably SCP) with a couple of servers from the external world. So, continuing to use port 22 internally, I would like to set up a more limited SSH server (say...
I use SSH extensively for intersystem communication within a private (192.x.x.x) network. Now there is a need to allow _only_ some functions (notably SCP) with a couple of servers from the external world. So, continuing to use port 22 internally, I would like to set up a more limited SSH server (say on port 10022) for access from the internet (yes, I am aware of the risks and take the responsibility if it all falls apart).
I don't see that question addressed here at Ask Different(ly). I see there is a /etc/ssh/sshd_config file and it looks pretty standard... is it just a matter of duplicating and modifying that, and doing the same with a plist? If so, where would I find that plist?
(I found /System/Library/LaunchDaemons/ssh.plist but that says it's disabled. I also found /System/Library/LaunchAgents/com.openssh.ssh-agent.plist but I'm not sure that's right either, especially since it is in the Agents (not Daemons) directory.
Currenly, the active lines in /etc/ssh/sshd_config_alt are:
Port xxxxx
SyslogFacility AUTH
LogLevel INFO
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
AllowAgentForwarding no
AllowTcpForwarding no
PermitTTY no
PermitUserEnvironment no
ForceCommand internal-sftp
This is what transpires when a person tries to SSH to that system
> ssh -p nnnnn macstudio
PTY allocation request failed on channel 0
This service allows sftp connections only.
Connection to macstudio closed.
Of course, the modified port 22 /etc/ssh/sshd_config file limits the incoming connections to local network.
Dennis
(125 rep)
Dec 27, 2024, 01:34 PM
• Last activity: Dec 28, 2024, 12:18 AM
1
votes
1
answers
116
views
An app changed file associations without my permission - how do I restore them?
I installed an AI coding IDE by dragging it to my Applications folder. As soon as I opened it, it changed my Finder such that all .md, .json, .txt etc. open with this new app instead of others. I do not remember giving permission to this app to make those changes. How do I revert the file associatio...
I installed an AI coding IDE by dragging it to my Applications folder. As soon as I opened it, it changed my Finder such that all .md, .json, .txt etc. open with this new app instead of others. I do not remember giving permission to this app to make those changes. How do I revert the file associations/"open with" settings without uninstalling this new app?
anon
(11 rep)
Nov 28, 2024, 03:21 AM
• Last activity: Nov 28, 2024, 04:16 AM
5
votes
2
answers
1423
views
How to force macOS to open https://t..me/ links with correct Telegram client
I have 2 Telegram clients on my MacBook [![enter image description here][1]][1] ^ `/Applications/Telegram.app/Contents/MacOS/Telegram` [![enter image description here][2]][2] ^ `/Applications/Telegram.localized/Telegram.app/Contents/MacOS` Currently when I click a link, the first one opens. How to h...
I have 2 Telegram clients on my MacBook
^
^
How to prevent this behaviour?
Moreover can anyone shed some light on how macOS is able to track the movement of an app to any location on my filesystem in this manner?

/Applications/Telegram.app/Contents/MacOS/Telegram

/Applications/Telegram.localized/Telegram.app/Contents/MacOS
Currently when I click a link, the first one opens.
How to have the second one open instead?
EDIT:
By removing the .app for the first one (Telegram Desktop) from my /Applications folder, links now correctly open in the second one.
However as soon as I restore it, links again open in it.
Even changing the filename and moving it from /Applications to ~/Desktop, macOS still manages to find it when I hit ENTER on a link in Chrome.

P i
(1835 rep)
Sep 9, 2021, 11:32 PM
• Last activity: Jul 1, 2024, 01:08 PM
1
votes
0
answers
419
views
What is the proper way to stop and restart a service that is a "bundled daemon"?
There are some recent apps, e.g., Cisco Secure Client / AnyConnect VPN service, where the service cannot be stopped/started using the LaunchControl.app. For more control over what's running on the machine and when, I would like to be able to stop/start the service using the command line and make sur...
There are some recent apps, e.g., Cisco Secure Client / AnyConnect VPN service, where the service cannot be stopped/started using the LaunchControl.app.
For more control over what's running on the machine and when, I would like to be able to stop/start the service using the command line and make sure that it is loaded properly by checking its state using appropriate commands.
**However, the method I have to stop the service results in me not being able to query the service status _after_ I start the service back up.
What is the proper way to stop/start services for "bundled services" ??**
To start, I check whether the service is running on or not:
$ launchctl print system/com.cisco.secureclient.vpn.service.agent
system/com.cisco.secureclient.vpn.service.agent = {
active count = 1
path = (submitted by smd.303)
type = Submitted
managed_by = com.apple.xpc.ServiceManagement
state = running
program identifier = Contents/MacOS/vpnagentd (mode: 2)
parent bundle identifier = com.cisco.secureclient.vpn.service
BTM uuid = 61DCA467-D6AD-4251-90D7-E49891CEAE80
arguments = {
vpnagentd
-execv_instance
}
default environment = {
PATH => /usr/bin:/bin:/usr/sbin:/sbin
}
environment = {
XPC_SERVICE_NAME => com.cisco.secureclient.vpn.service.agent
}
domain = system
minimum runtime = 10
exit timeout = 45
runs = 2
pid = 1987
immediate reason = inefficient
forks = 5
execs = 1
initialized = 1
trampolined = 1
started suspended = 0
proxy started suspended = 0
last exit code = 0
spawn type = daemon (3)
jetsam priority = 40
jetsam memory limit (active) = (unlimited)
jetsam memory limit (inactive) = (unlimited)
jetsamproperties category = daemon
submitted job. ignore execute allowed
jetsam thread limit = 32
cpumon = default
job state = running
probabilistic guard malloc policy = {
activation rate = 1/1000
sample rate = 1/0
}
properties = partial import | keepalive | abandon process group | resolve program | has LWCR
I can stop this service using the following command:
sudo launchctl bootout system/com.cisco.secureclient.vpn.service.agent
However, when I do that, I cannot re-load the service back again to a state that is recognizable by LaunchControl, nor is it listed in launchctl print system/com.cisco.secureclient.vpn.service.agent
$ launchctl print system/com.cisco.secureclient.vpn.service.agent
Bad request.
Could not find service "com.cisco.secureclient.vpn.service.agent" in domain for system



HanSooloo
(344 rep)
Jun 7, 2024, 07:15 PM
• Last activity: Jun 7, 2024, 07:44 PM
4
votes
7
answers
1658
views
Simplest way to create a clickable list in MacOS that will cause selected programs to run
I'm looking for something which runs under macOS that will let me do the following: Suppose I have a file called "program.list" with contents something like this: "Program 1" "/usr/local/bin/program 1" "Program 2" "/usr/local/bin/program 2" "Program 3" "/usr/local/bin/other-program xyz" "Program 4"...
I'm looking for something which runs under macOS that will let me do the following:
Suppose I have a file called "program.list" with contents something like this:
"Program 1" "/usr/local/bin/program 1"
"Program 2" "/usr/local/bin/program 2"
"Program 3" "/usr/local/bin/other-program xyz"
"Program 4" "/usr/local/bin/something-else"
... etc. ...
I'd like to feed this file to a program which, for example, could be called "run-from-list", and which I could invoke as follows:
run-from-list program.list
... and when that command is invoked, the following would show up on the screen in a scrollable list:
Program 1
Program 2
Program 3
Program 4
... etc. ...
And whatever line I click on, the associated program will run. For example, if I click on "Program 1", it will run the "/usr/local/bin/program 1" program.
Is there any way to write "run-from-list" in MacOS without compiling source code into an executable? A scripting language would be suitable. Or is there some sort of existing utility that I could download which I could use similarly for this purpose?
HippoMan
(430 rep)
Apr 15, 2024, 10:55 PM
• Last activity: Apr 19, 2024, 05:09 AM
1
votes
1
answers
34
views
no sound in plist on mac
I'm not able in my plist of sync to make a beep when finished. this my code of plist ```xml KeepAlive Crashed Label launched.arubas.sync.red ProgramArguments sh -c /usr/bin/printf "\a";/usr/bin/printf "\a";/usr/bin/printf "\a";/system/Applications/Utilities/Console.app/Contents/MacOS/Console /users/...
I'm not able in my plist of sync to make a beep when finished.
this my code of plist
KeepAlive
Crashed
Label
launched.arubas.sync.red
ProgramArguments
sh
-c
/usr/bin/printf "\a";/usr/bin/printf "\a";/usr/bin/printf "\a";/system/Applications/Utilities/Console.app/Contents/MacOS/Console /users/oscarristolfi/arubaredsync.log & /usr/local/bin/rclone sync /users/oscarristolfi/documents aruba-s3:/timemachine/documents -vv --transfers=8 --log-file /users/oscarristolfi/arubaredsync.log & /usr/local/bin/rclone sync /users/oscarristolfi/redincontri aruba-s3:/timemachine/redincontri -vv --log-file /users/oscarristolfi/arubaredsync.log;/usr/bin/printf "\a";/usr/bin/printf "\a";/usr/bin/printf "\a";
/Users/oscarristolfi/Desktop/sound.sh
RunAtLoad
StandardErrorPath
/Users/oscarristolfi/arubaredsync.log
StandardOutPath
/Users/oscarristolfi/arubaredsync.log
StartInterval
1800
Oscardot
(21 rep)
Apr 16, 2024, 05:56 PM
• Last activity: Apr 17, 2024, 05:18 AM
0
votes
0
answers
969
views
How to stop sharingd, unsolicited, acceptance window from spawning and disappearing instantly every time the computer starts?
I have been living with this for a long time, but now (hope with your help) I am committed to solve it because it doesn't look quite normal. Why this window of this `sharingd` process, shows up at boot time in desktop almost in milliseconds and disappears (like if it was granted with some kind of "a...
I have been living with this for a long time, but now (hope with your help) I am committed to solve it because it doesn't look quite normal.
Why this window of this
sharingd
process, shows up at boot time in desktop almost in milliseconds and disappears (like if it was granted with some kind of "auto click"). I don't share (wish not) anything with any other host in any net. This is a plain standalone home computer with its plain vanilla internet connection.
Likely targets:
com.apple.sharingd (signer: Apple Proper)
com.apple.preferences.sharing.remoteservice (signer: Apple Proper)
In my share settings I have all unticked (no file sharing, no remote services, nothing).
And, why shows this behaviour if many other services start as well, but they don't throw "grant/acceptance windows" on desktop?
If is a system necessary process I just don't want to remove it from disk (i. e. deleting the com.apple.sharingd...
), but should be a way to disable it?
I also don't want just to block it through firewall. I would like to do it the good way. Stopping the service, yes?
Any command line string to stop it?
Thank you.
nostromo
(333 rep)
Oct 24, 2023, 07:21 AM
19
votes
1
answers
15048
views
launchd: Confusion on semantics of bootstrap and bootout etc. after reading manual pages
I've read the following manual pages on launchd: `launchctl`, `launchd`, and `launchd.plist`. However, nothing is really said in these manual pages regarding what the `launchctl boostrap` and `launchctl bootout` (sub)commands actually do (see below). Is it to be inferred from their names? Futhermore...
I've read the following manual pages on launchd:
launchctl
, launchd
, and launchd.plist
.
However, nothing is really said in these manual pages regarding what the launchctl boostrap
and launchctl bootout
(sub)commands actually do (see below). Is it to be inferred from their names?
Futhermore, I cannot find information in the man pages, regarding what user/group the service (agent/daemon) runs as. However, launchd.plist
mentions UserName
/GroupName
for controlling the user/group for the system domain. So, what user are per-user services in /Library/LaunchAgents
or ~/Library/LaunchAgents
run as?
Finally, I would expect I need to bootstrap
/load
my daemon
's .plist, but after putting the .plist in /Library/LaunchAgents
or /Library/LaunchDaemons
, it was automatically loaded (run) at system boot. Indeed, RunAtLoad=true
, but what's the purpose of bootstrap
, if services run anyway?
man launchctl
:
bootstrap | bootout domain-target [service-path service-path2 ...] | service-target
Bootstraps or removes domains and services. When service arguments are present, bootstraps and correspondingly removes their definitions into the domain. Services may be specified as a series of
paths or a service identifier. Paths may point to XPC service bundles, launchd.plist(5) s, or a directories containing a collection of either. If there were one or more errors while bootstrapping or
removing a collection of services, the problematic paths will be printed with the errors that occurred.
If no paths or service target are specified, these commands can either bootstrap or remove a domain specified as a domain target. Some domains will implicitly bootstrap pre-defined paths as part of
their creation.
Shuzheng
(1681 rep)
Aug 8, 2019, 09:51 AM
• Last activity: Oct 7, 2023, 04:24 AM
1
votes
1
answers
388
views
How to register some program "at login" for all users on macOS
I know I can use "Service Management" (SMAppManager) for the current user [or do the equivalent action via setup], but it only registers at login for the current user, but I need my app to register at login for the current user and for all other users. ``` do { try SMAppService.mainApp.register() }...
I know I can use "Service Management" (SMAppManager) for the current user [or do the equivalent action via setup], but it only registers at login for the current user, but I need my app to register at login for the current user and for all other users.
do {
try SMAppService.mainApp.register()
}
catch {
print(error)
}
I know that you can use "RunAlLoad" in the launchd config, but it doesn't work quite the way I want it to because it actually starts when the program is loaded when loaded via launchctl or only after a reboot.
Label
com.companyname.application
ProgramArguments
/path/to/application
RunAtLoad
I also tried using the "OnDemand" option with the value "false", but then the application just starts all time:
Label
com.companyname.application
ProgramArguments
/path/to/application
OnDemand
Which launchd config file can be used for this or how can I do it with "Service Management" ?
Aleksandr
(51 rep)
Sep 8, 2023, 12:36 AM
• Last activity: Sep 8, 2023, 03:48 PM
0
votes
2
answers
1216
views
Leave SSH daemon running permanently
I, for some reason, cannot seem to find a google search which actually answers this question. I have a mac, and I would like to have the ssh daemon running in the background at all times, so I can ssh in from other machines whenever I need to. Currently, I can enable ssh by going to System Preferenc...
I, for some reason, cannot seem to find a google search which actually answers this question. I have a mac, and I would like to have the ssh daemon running in the background at all times, so I can ssh in from other machines whenever I need to. Currently, I can enable ssh by going to System Preferences > Sharing > Remote Login, and checking the box to turn on the service. I am able to ssh in successfully. *However,* after enabling it, the ssh service automatically disables itself after I disconnect from my ssh session. I enable the service through mac, connect via ssh from another machine, disconnect, and then check the mac settings to find ssh disabled. Additionally, I believe my mac will automatically terminate ssh after a period of time, either from the machine going to sleep, or from a timeout, I haven't figured out the trigger yet.
How can I make it so the ssh daemon is PERMANENTLY enabled? I want the equivalent of
systemctl enable sshd
for mac. I want the ssh daemon to start on boot, and remain running while the machine is on without timing out or shutting down when a user disconnects.
I am currently running MacOS Monterey 12.6
**EDIT:** To clarify based on comments received, I *can* login via ssh if I enable Remote Login in system preferences. This is the default ssh that was installed when I received the Mac, and I do not believe there is any MDM software installed on the Mac other than Computrace. My account is an admin, as Remote Login is restricted to only allow Administrators, and I have sudo access as well.
I have done some more testing and I cannot seem to reliably reproduce the issue where Remote Login disables itself after I connect and disconnect over ssh, but it *has* for a fact happened. Just prior to posting this question, I enabled Remote Login via system preferences, connected to the mac via ssh, closed that connection, and then checked via system preferences again to find Remote Login no longer checked.
It seems in addition to randomly turning off the Remote Login service is disabled when the Mac goes to sleep. I have had an ssh session get disconnected before, but I wonder if perhaps that was a separate issue, perhaps a wifi mishap as I was just now able to connect over ssh, and then while connected, disable Remote Login without terminating the existing ssh connection.
Thank you for the tip about launchctl. I can see via launchctl now that sshd creates a new process when a connection is attempted. However, when Remote Login is disabled, or becomes disabled of it's own accord, the com.openssh.sshd process is not existant, and therefore does not create a subprocess to handle the connection.
% sudo launchctl list | grep ssh
- 0 com.openssh.sshd
90388 0 com.openssh.sshd.43C47EF8-F4FF-49E2-BBD9-96D87190B91B
ExecutionByFork
(163 rep)
Apr 17, 2023, 05:05 PM
• Last activity: May 18, 2023, 09:41 PM
1
votes
0
answers
92
views
Associate another filename extension with existing UTI
The macOS system recognizes various files as JavaScript. If the filename extension is `.js`, `.jscript`, `.javascript` or `.mjs`, the file's Uniform Type Identifier (UTI) is `com.netscape.javascript-source` and the file is considered to be JavaScript. This list of filename extensions is 'hard-coded'...
The macOS system recognizes various files as JavaScript. If the filename extension is
.js
, .jscript
, .javascript
or .mjs
, the file's Uniform Type Identifier (UTI) is com.netscape.javascript-source
and the file is considered to be JavaScript. This list of filename extensions is 'hard-coded' in /System/Library/CoreServices/CoreTypes.bundle/Contents/Info.plist
, where that UTI is defined in a dictionary entry with this subkey:
UTTypeTagSpecification
public.filename-extension
js
jscript
javascript
mjs
public.mime-type
text/javascript
I would like to add another filename extension to the set that identifies JavaScript files on my Mac. The extension .jsm
is often used with the same meaning as .mjs
, a JavaScript module. For example, the source code of Firefox has 484 jsm
files and the source code of Thunderbird has 429. If they could have that same UTI, it would become easier to work with them – for example, they'd be treated the same by Quicklook.
Is this possible? Can you override the built-in UTI definition, or somehow add something to it? Editing this system file seems unwise (and will have to be repeated after every OS update). I tried doing it in the Info.plist
of an ad-hoc Automator application, and then importing that app with lsregister
, but have so far had no luck. My question is similar to [this one](https://apple.stackexchange.com/questions/24373/how-can-i-associate-a-file-extension-with-a-content-type) , but more specific.
Jim Danner
(146 rep)
Apr 14, 2023, 01:01 PM
4
votes
3
answers
1259
views
Anyway to obtain list of Application that can open a file via Terminal?
In the finder you can control click on a document to get the contextual menu, this has 'open with..' with a submenu of all apps that can open that document. Is there a way to get this list via Terminal? Many thanks.
In the finder you can control click on a document to get the contextual menu, this has 'open with..' with a submenu of all apps that can open that document. Is there a way to get this list via Terminal? Many thanks.
Dave Yeaman
(91 rep)
Nov 10, 2018, 02:47 PM
• Last activity: Feb 27, 2023, 02:00 AM
2
votes
1
answers
2420
views
Why do I see “ln” listed in the login items?
I'm currently using macOS Ventura 13.1 on my i5 Macbook Pro 2020. After updating to this version, some unexpected behavior has arose, such as ["Steam" added items that can run in the background][1]. I was able to fix that issue by removing Steam related file from `/User/user_name/Library/LaunchAgent...
I'm currently using macOS Ventura 13.1 on my i5 Macbook Pro 2020. After updating to this version, some unexpected behavior has arose, such as "Steam" added items that can run in the background . I was able to fix that issue by removing Steam related file from
/User/user_name/Library/LaunchAgents
.
Now, I realized something interesting. I have ln
on the “Allow in the Background” list. Although it says “item from unidentified developer”, the source directory is directly /bin/ln
. If there's no such reverse engineering or similar, I believe it's most likely safe. It's literally the ln
command to link files. After surfing a bit through other people's problems with the same page, I figured that I'm the only one with the ln
listed.
My question is simple: Why do I see ln
listed here meanwhile other people don't have it?

Berkay
(121 rep)
Jan 17, 2023, 01:03 PM
• Last activity: Jan 17, 2023, 11:08 PM
3
votes
3
answers
2115
views
Find specific apps by name, getting their version, via command line
For a support information gathering tool, I like to be able to look up several apps by name (or rather by their bundle ID) and fetch their versions. I don't like to use the `find` command for this as that's not going to find all possible apps, or it'll take forever. There's `lsregister -dump`, which...
For a support information gathering tool, I like to be able to look up several apps by name (or rather by their bundle ID) and fetch their versions.
I don't like to use the
find
command for this as that's not going to find all possible apps, or it'll take forever.
There's lsregister -dump
, which knows about all those apps that interest me, but that command seems to offer no option to look up information only about specific apps. I'd have to filter the result with grep, but can't figure out how to filter it so that I can look for an app's bundle ID but also get the version (which appears in a different line).
There's also mdfind
, which might be suitable for my purpose.
Let's, for instance, say I want to know about all installed "Word" apps, such as the 2008, 2011 and 365 versions.
With lsregister -dump | grep 'com\.microsoft\.Word'
, I'd get these lines:
identifier: com.microsoft.Word (0x800460c2)
activityTypes: NOTIFICATION#:com.microsoft.Word, pv-e851f8544284d1
That's not helpful to inquire the version, is it?
With mdfind "kMDItemCFBundleIdentifier == com.microsoft.Word"
I'd get the paths:
/Applications/Microsoft Office 2008/Microsoft Word.app
/Applications/Microsoft Office 2011/Microsoft Word.app
But how would I get the version from that? I thought I'd filter the resulting paths with xargs
but that doesn't work with the spaces in the paths.
Thomas Tempelmann
(1972 rep)
Nov 14, 2016, 03:22 PM
• Last activity: Dec 29, 2022, 02:04 AM
0
votes
1
answers
2489
views
What’s com.apple.iomfb_bics_daemon in macOS Monterey?
I noticed in my boot logs that this service fails to start because the executable is missing. So, what is it supposed to do? I can’t find much about it on the internet besides that it was introduced in macOS Monterey and also exists on iOS. What is it supposed to do?
I noticed in my boot logs that this service fails to start because the executable is missing. So, what is it supposed to do? I can’t find much about it on the internet besides that it was introduced in macOS Monterey and also exists on iOS.
What is it supposed to do?
Florian Wendelborn
(451 rep)
Oct 2, 2022, 01:24 PM
• Last activity: Oct 2, 2022, 02:37 PM
143
votes
11
answers
135072
views
Replace Text Edit as the default text editor
I've seen questions [like this][1] which don't quite solve my problem. I'd like to make Sublime Text 3 the default file viewer/editor for all files that currently use textedit. Most of these files can be command + i 'd, but the ones that **have no extension** cannot. They give all sorts of permissio...
I've seen questions like this which don't quite solve my problem.
I'd like to make Sublime Text 3 the default file viewer/editor for all files that currently use textedit.
Most of these files can be command+i'd, but the ones that **have no extension** cannot. They give all sorts of permissions errors such as the ones in this image
Is there any way to just never use textedit, and instead **set sublime as the default editor for all files**?

wrossmck
(2446 rep)
Mar 10, 2014, 06:18 PM
• Last activity: Aug 29, 2022, 05:43 AM
Showing page 1 of 20 total questions