<issue_start>username_0: When I was going to reinstall a fresh copy of macOS Catalina on my [MacBook Pro (16-inch, 2019)](https://support.apple.com/kb/SP809), unfortunately I deleted all partitions instead of erasing them. As my internet connection is so unstable as much as I repeated installing the OS from the net, it was failing with different errors usually related to the network errors or usually it says `can't decode raw data.`

I created a bootable media flash drive by these steps <https://support.apple.com/en-au/HT201372>.

Now when I want to boot the device from the USB drive,
[![Choose startup disk](https://i.stack.imgur.com/aSqIe.png)](https://i.stack.imgur.com/aSqIe.png)

it says "Security settings do not allow this Mac to use an external startup disk".
[![Security settings do not allow this Mac to use an external startup disk](https://i.stack.imgur.com/IxzAt.jpg)](https://i.stack.imgur.com/IxzAt.jpg)

I waned to allow my Mac booting from external media (as this link <https://support.apple.com/en-au/HT208198>) but It shows me the error: "Authentication Needed - You will need to authenticate as an Administrator to change the boot security settings."

[![ou will need to authenticate as an Administrator to change the boot security settings.](https://i.stack.imgur.com/N9uMw.png)](https://i.stack.imgur.com/N9uMw.png)

And when I click on Enter macOS Password I see this error : "Recovery is trying to change system settings. No administrator was found."

[![Recovery is trying to change system settings. No administrator was found.](https://i.stack.imgur.com/eQGdf.jpg)](https://i.stack.imgur.com/eQGdf.jpg)

Notes:

* I had never set a password for my mac T2 security
* I had forgotten to sign out my apple id from the MacBook Pro but I've removed my device from my apple account after that.
* The MacBook Pro doesn't have any operating system now, so I can't use solutions like `rm /var/db/.AppleSetupDone`

I've searched a lot and watched lots of youtube videos but didn't succeed anything yet. How can I fix my issue to allow me boot from the flash drive?<issue_comment>username_1: I am going to guess you ended up with a firmware password and aren’t seeing the images here due to some removals of OS that the system expected.

* <https://support.apple.com/en-us/HT204455>

If so, you will need to get Apple to unlock the device by providing original proof of purchase if you can’t recall and enter the passwords that were entered into the T2 / Secure Enclave. The T2 encrypts the storage with a device key and as you add admin accounts, their password and identity is asssociated with the key to unlock the storage so you would normally provide that admin password to retrieve the key to make a change. This doesn’t really need an admin user - just one authorized to perform the storage unlock and change the boot sequence. Typically that’s an admin since typically only one account is on a Mac out of the box.

The good news is your hardware is fully capable of internet boot, so I would try recovery from the internet to drop on macOS and see if you can unlock and configure things with a new OS from Apple being trusted and installed.

* <https://support.apple.com/en-us/HT201314>

Supporting Macs at work, we override [all three of the items in the KB you reference](https://support.apple.com/en-au/HT208198) with Internet Recovery and an erase. For firmware passwords, unless we have an MDM unlock, we do go to Apple service for that just like consumers do in the end, but it’s rare we lose control of most devices in that manner. Hopefully you get a trusted install from the internet and can reinstall Catalina without using USB.
Upvotes: 0 <issue_comment>username_2: You can try to run the installer on your USB directly in Recovery mode.

Open up terminal and run `ls /volumes`. Identify your USB, and then run `/volumes//Install\ macOS\ Catalina.app/Contents/MacOS/InstallAssistant`. The macOS installer should appear.

If it did not launch, you can copy your installation partition on the USB over to your internal drive. In Disk Utility, you can create a new partition on the internal drive and "restore" the USB drive to the new partition you just created. Then, select your internal installation partition as a boot drive and proceed to standard installation.
Upvotes: 4 <issue_comment>username_3: The disk (that you erased) contains a 'Secure Token' for the admin user. You need to recreate it before you can change the settings.

First, reinstall the OS using Internet Recovery. Or install over Target Disk mode from another Mac.

The Setup Assistant on first boot will provide the Secure Token for the admin user created. Otherwise, you'll have to manually create the token for the admin user once you've got a working system.

```
sysadminctl interactive -secureTokenOn [admin user shortname] -password -

```

(you will be asked to authenticate).

```
diskutil apfs updatePreboot /

```

See this answer, which covers much of the same ground.

["No administrator was found" in Startup Security Utility](https://apple.stackexchange.com/questions/364310/no-administrator-was-found-in-startup-security-utility)
Upvotes: 1


<issue_start>username_0: Consider [this PDF file](http://www.dspguide.com/CH1.PDF) for example. The text in this file appears scrambled when opened with Safari or Preview. However, the PDF is formatted fine when opened with Adobe Acrobat Reader DC or most 3rd party web browsers including but not limited to Gecko-based Firefox and Chromium-based Google Chrome, Microsoft Edge and Opera.

I wondered if it is because of some of the embedded fonts in the PDF file which perhaps I needed to install on my mac. So, I searched for these fonts and installed them on my system but to no avail. Perhaps it is a bug?

How would you deal with such PDF files when you want to primarily use Preview?

---

**EDIT:**
I am using macOS Catalina 10.15.6 and Preview 11.0. In the attached screenshot, the left rendering is by Preview and the right one is by Adobe Acrobat Reader DC.

[![Comparison of Preview and Acrobat Reader DC](https://i.stack.imgur.com/Av4Gi.jpg)](https://i.stack.imgur.com/Av4Gi.jpg)<issue_comment>username_1: The PDF does seem to display incorrectly on Catalina, but not on other versions of macOS.

Preflighting the PDF in Acrobat flags several instances of fonts that are not embedded. Acrobat and other versions of macOS seem to be able to substitute the system Arial and Times New Roman, but Catalina does not. I'd suggest that is the bug.

Exporting from Acrobat as PostScript and re-distilling will produce a PDF that works in Catalina.

Exporting from Preview in another version of macOS will also produce a version that works in Catalina. (Exporting, not just Save As..)

Ghostscript produces a single blank page when trying to process the PDF.

The file was originally created using Acrobat 3, in 2001 on some Windows OS. While such systems should have been creating perfectly decent PDFs, something seems to have gone wrong here.
Upvotes: 3 [selected_answer]<issue_comment>username_2: Would like to propose a solution or at least an idea to give it a try:

If your issue is that **text doesn't show when using the quick look preview of a pdf** (the one that shows documents by pressing *spacebar on a selected file* no matter where in the system: emails, file browser, etc), make sure to check if there's anything weird on your **'Font Book'**. Open that, go to all fonts, select them all, make sure to click on 'Download' if the option appears on the right side and it could also say that there are duplicates. I did it all in one shot but I think the duplicate fonts warning is what might have been the culprit.

**Summary:**

1. Open Font Book app.
2. Go to all fonts and select them all.
3. Click Download if that option visibly appears on the UI (around the top right of the font book frame). Wait for it to finish.
4. Resolve Duplicates (bottom right of the window frame). I chose the "resolve automatically" option.

This fixed it for me.
Hope it helps.

**EDIT:** forgot to mention, regarding the question. That maybe this font fix might also help with the scrambling issue found. In my case the text was invisible but it was there, I could select it, copy it and paste it somewhere else to finally see it. The text scrambling sounds dangerously close to be fixable by the same steps.

**Opinion:**
I know it's old but that's why it's great to not close threads (like Reddit does), I just managed to find a solution and had passed by this very same thread before (and many others some of which are sadly now closed).
Upvotes: 0


<issue_start>username_0: I can't remember why, but a long time ago, I found that for some reason, I needed to set both of these variables. It caused no problems in bash, but now in zsh, when I put

```
export PATH=~/bin:/opt/local/bin:/opt/local/sbin:$PATH
export path=$PATH

```

(the same thing I used in .bashrc) in my initialization, I get

```
/Users/…/.zshenv:export:7: path: inconsistent type for assignment

```

**What do they mean by "type," and what is $path used for?**<issue_comment>username_1: PATH is a scalar value- a continuous string of search paths separated by colons and path is an array of search paths. `zsh` will sync both path and PATH. There is no need for you to do so.
Upvotes: 2 <issue_comment>username_2: The error mentioning ‘type’ refers to the data type of the variable, such as string or array.

`$PATH` is a string, `$path` is an array. You cannot assign a string, whether by variable or by literal, to a variable typed to contain an array, since the types do not match.

As for what the difference between the two variables are: they are meant to represent the same list of folders, but in different formats. `$PATH` containing `/path/to/one:/path/to/two` would mean that `$path`’s first element is `/path/to/one` and the second one is `/path/to/two`.

You shouldn’t need to manage the two variables (and assigning one to the other won’t work since the types do not match) — the shell should handle it for you. Simply append to the `$PATH` string and the path you add should exist as an element of `$path`.

This only applies in `zsh`, inherited from `*csh`. You can see the ‘binding’ between the two variables with `typeset -p PATH`.

`$path` being an array is really convenient:

* appending and altering the path can be done with array operations like append rather than string manipulation (requiring splitting and joining in the case of editing somewhere in the middle).
* looping through is just `for i ($path) { … }` without needing to deal with the setting of the right split character.
Upvotes: 4 [selected_answer]<issue_comment>username_3: Here's a nice tip

`print -l $path`

because the type of this variable is an array, more operations are available
Upvotes: -1


<issue_start>username_0: My 1st generation Apple Pencil (bought newly) is not showing in 7th generation iPad (bought newly) under Bluetooth devices. This is happening since after iPadOS was updated. The other devices gets easily recognised and shows pairing pop-up but this doesn't happens with Apple Pencil.

I tried all sorts of troubleshooting listed in article, suggested by Apple Support documents etc. but the issue is still unresolved. Before iPadOS updated it was working fine.

What could be going wrong and how do I resolve it?<issue_comment>username_1: Good to know that I'm not the only one who thinks this is a problem. I ran into it while writing a Python script for monitoring parts of my macOS (10.15.7) filesystem, which also involved coping files. [The script sometimes behaved erratic and produced unpredictable output](https://stackoverflow.com/questions/63983742/why-does-shutil-copy2-sometimes-modify-the-files-st-mtime). After some poking around I found out that the incapability of `cp -p` to preserve nanoseconds is the core of the problem.

One workaround for your problem (but not for mine) could be [`coreutils`](https://formulae.brew.sh/formula/coreutils): `gcp -p` behaves as intended.
Upvotes: 2 <issue_comment>username_2: I thought this was fixed in 10.15, but I just didn't repro the problem correctly. To save others the same embarrassment, here's a repro that shows the problem:

```
% python3 -c 'open("file1", "w")'
% stat -f %Fm file1
1609301645.481666557
% cp -p file1 file2
% stat -f %Fm file2
1609301645.481666000

```
Upvotes: 2


<issue_start>username_0: Why would my "Show Safari Develop menu" option be grayed out and not clickable? I've tried to find steps to enable it, but they all simply say click on the checkbox. Do I need to log in and change permission settings somewhere?

Safari Version 13.1.2 (14609.3.5.1.5) running on a Macbook Air
macOS Mojave version 10.14.6 (18G6020)

[![enter image description here](https://i.stack.imgur.com/hJjd5.png)](https://i.stack.imgur.com/hJjd5.png)<issue_comment>username_1: Testing under a fully updated **macOS Mojave 10.14.6** with **Safari 13.1.2** when toggling the **Show Develop menu in menu bar** *checkbox* at **Safari** > **Preferences…** > **Advanced**, there are two **PLIST** *files* that get modified. One *file* having one *key* modified and the other *file* having three *keys* modified, i.e.:

* **~/Library/Preferences/com.apple.Safari.SandboxBroker.plist**
	+ **ShowDevelopMenu**
* **~/Library/Containers/com.apple.Safari/Data/Library/Preferences/com.apple.Safari.plist**
	+ **IncludeDevelopMenu**
	+ **WebKitDeveloperExtrasEnabledPreferenceKey**
	+ **WebKitPreferences.developerExtrasEnabled**

The *value* of all four of these *keys* are a *boolean*, and when the **Show Develop menu in menu bar** *checkbox* is checked, the *value* is *yes*, *true* or *1* depending on how one is reading the settings.

In **Terminal** the `defaults read ...` *command* will return `1` or `0`, or if the *key* isn't present it errors out with a message.

The *example* **shell script** *code*, further below, was tested and works under normal circumstances, however, it may not work on an inactive **Show Develop menu in menu bar** *checkbox*. That said, you really have nothing to loose but a few minutes of time giving it a try.

**Notes:**

* **Important!** In order for this *example* **shell script** to work you'll need to, at least temporarily, add **Terminal** to **System Preferences** > **Security & Privacy** > **Privacy** > **Full Disk Access**, and **Terminal** should be closed when you do.
* When the *example* **shell script** is run, **Safari** should be closed as well, however, *as coded* it will close it if it's open. It will also open it after the changes have been made.
* Because of other **OS** security measures, (*sandboxing*), the **com.apple.Safari.plist** *file* needs be copied to `/tmp/`, modified there, and then moved back. The **shell script**, *as coded*, handles this. The **com.apple.Safari.SandboxBroker.plist** *file* is modified in place.
* As coded, the two **PLIST** *files* get backed up with a **.bak** *extension*, however the **shell script** can only be run one time unless the `n` is removed from `cp -avn` for both *files*, which will then **overwrite the original backups**!
* As coded, it will output debugging information (`set -x`) and this is in case you have an issue you can copy and paste the *output* from **Terminal** for troubleshooting if need be. So, if there is an issue, do not close the *window* until it's copied and pasted elsewhere so I can see it.

To use the *example* **shell script** *code*:

1. Open **Terminal** and run the following *compound command*:

```
touch sdmcb; chmod u+x sdmcb; open -e sdmcb

```
2. Copy and paste the *example* **shell script** *code* into the opened **sdmcb** *document*, then save and close it.
3. Back in **Terminal** use the following *command* to run the **shell script**:

```
./sdmcb

```

That's it, this will either work or it won't, it's the only thing I can think of trying, sans booting to **macOS Recovery** and deleting the two **PLIST** *files* which may remove a setting that's causing it to be inactive to begin with, if it's even in those two *files*.

---

*Example* **shell script** *code*:

```bash
#!/bin/bash

set -e
set -x

[[ $(ps x | grep '[S]afari.app') == ""  ]] || killall Safari; sleep 2
cd "$HOME/Library/Containers/com.apple.Safari/Data/Library/Preferences/" || exit
cp -v 'com.apple.Safari.plist' '/tmp/' || exit
cp -avn 'com.apple.Safari.plist' 'com.apple.Safari.plist.bak' || exit
defaults write '/tmp/com.apple.Safari.plist' "IncludeDevelopMenu" -bool 'yes'
defaults write '/tmp/com.apple.Safari.plist' "WebKitDeveloperExtrasEnabledPreferenceKey" -bool 'yes'
defaults write '/tmp/com.apple.Safari.plist' "WebKitPreferences.developerExtrasEnabled" -bool 'yes'
mv -v '/tmp/com.apple.Safari.plist' .
cd "$HOME/Library/Preferences/" || exit
cp -avn 'com.apple.Safari.SandboxBroker.plist' 'com.apple.Safari.SandboxBroker.plist.bak' || exit
defaults write "$HOME/Library/Preferences/com.apple.Safari.SandboxBroker.plist" "ShowDevelopMenu" -bool 'yes'
killall cfprefsd
sleep 3
open -a "/Applications/Safari.app"

```
Upvotes: 2 <issue_comment>username_2: Same issue here - in Big Sur

No terminal use / shell script use

I manually removed all safari settings / cache / preference files

<https://macissues.com/2015/06/22/how-to-fully-reset-safari-on-your-mac/>

Reinstalled Mac OS .

can now check "Show Develop "
Upvotes: 1


<issue_start>username_0: Now that iOS 14 has added the feature to remember the song and not clear the queue(play next) when the app is closed, how are we supposed to clear the queue?

Previously, when we used to close the app, the queue used to get cleared. Also there is no option to clear queue in the three dot menu.

[![enter image description here](https://i.stack.imgur.com/UzSvF.jpg)](https://i.stack.imgur.com/UzSvF.jpg)

**Update**

Using iOS 15.2, and the app now clears the queue everytime you close the app.

**Update**

Using iOS 15.3 or 15.4, and the app doesn’t clear the queue everytime you close the app.<issue_comment>username_1: This top portion is something like a rant so you can skip to the next bolded text...

So to kinda summarize my thoughts in the comments on the native music app... If you clear the queue by closing the app, it's probably not a feature, but rather default software behavior and therefore probably just something they neglected until now. If a dev doesn't write a feature where the application remembers where you left off, why would it. So they didn't exactly remove a feature, they added a feature, that removed what I would call an exploit for the lack of a better word. Not saying OP claimed it was a feature, just saying they probably never thought anyone would use the music app that way and they didn't see it as replacing one feature with another one, so I wouldn't expect them adding a "clear queue" button anytime soon.

I've always been a big fan of 3rd party apps in general, but talking about music apps specifically, I also had never even considered that the native app could be used that way because 3rd party apps had faaaaar superior queue systems long before Apple added it to the native music player. Pretty much from the beginning 3rd party apps have been innovating and Apple has been slowly implementing the good features, like music queue for instance. And my understanding is that Apple has made some things regarding music apps more strict over the years and that's why many players nowadays have various compromises and in some cases have died away.

**Solution #1 - Native music app**

>
> First of all the way you clear the queue is by clicking a song and then it asks if you want to clear the queue, in which case it does clear the queue but it also adds all the songs in the context of that song to the queue. If the song you clicked was in the album view, it would add all of the songs in the album to the queue and place the clicked song first. So you can't clear the queue just to make it empty. Perhaps if the app crashes, it might clear it.
>
>
>

So, the only way to get around it, that I see, is by making a playlist with just one song and then clicking the song in that playlist to clear the queue. *Don't click the `play` or the `shuffle` buttons at the top, just click the song.* The only kinda big downside is that you can't remove this song from the queue, which isn't much of an issue as long as that song is something you always feel like listening. Of course you can always skip it too.

>
> I can imagine that you could probably get around that by basically making an empty 2 second audio clip, adding it to the Music app through Itunes and making a playlist out of it. But it might be too much trouble for what it's worth.
>
>
>

**Solution #2 - 3rd party apps**

I didn't test every single 3rd party player, so there could still be better options out there.

1. [Picky Music Player](https://apps.apple.com/app/picky-music-player/id497110916) - ($2.99)
	* This player plays the songs through the native app...
	* My first pick and really the only solid player I found that fits the bill
	* This is actually something I already owned and it has in app purchases... I'm not sure about this `Picky Deluxe` because I can't see it in the app. Maybe I already bought that... but all the other in app purchases are basically just donations. Which is to say, I'm not sure if this `Picky Deluxe` in app purchase is something that gives you more features or something.
	* [Picky's FAQ](https://cjoseph.com/picky/support)
	* **Pros**
		+ Works with apple music: cloud and downloaded songs.
		+ Swipe left on a song to add to the queue
		+ In the top right of the "now playing" screen there's the typical horizontal 3 dot menu where you have a "Clear song queue" option.
		+ In the top right corner of every song list there's a `picklist` menu that lets you add multiple songs to the queue or you can choose to play them next, which clears the queue.
		+ You can swipe the album cover in the "now playing" screen left and right to go to the previous or next song.
		+ I'm not sure if this counts as a pro, but it syncs the queue with the native Music app. You clear the queue in it, it clears the queue in the native app. If you add songs to the queue, they get added to the native app. If you add songs to the queue in the native app, they show up in Picky. If you remove songs from the queue it gets removed in Picky... etc..
	* **Cons**
		+ The interface overall is pretty good, but now that I've gotten used to the native music player, I'm not a big fan of how the song lists are these very compact lists, without album art in the front.
		+ Can't edit individual songs in the queue, like say move or remove them. Of course you can add more to the top of the queue or clear the whole queue.
			- You can however edit individual songs in the queue in the native music app. Picky manipulates the native queue every time you make changes to it and it stays in sync both ways.

**Honorable mentions:**

2. [MusiQ Player - Queue Music](https://apps.apple.com/app/musiq-player-queue-music/id788290967) - Free

	* This app plays song independently from the native music app
	* This is like the wet dream of anyone who is into making playlists on the fly... Like wow! (With a huge caveat\*)
	* **Cons**
		+ *\*Only works with downloaded apple music songs :(* Don't read the pro's if this is a deal breaker because it'll just make you sad.
	* **Pros**
		+ Swipe right to add song to the bottom of a queue
		+ Swipe left to add song to the top of the queue
		+ Clicking a song actually brings it to the top of the queue and starts playing it immediately.
		+ Long click(press) gives you the option to `Play now & Replace Queue`
		+ Queue has it's own tab, which I'm totally into
		+ There's also a tab for "Queues", which is where you can manage or start playing any queues that you have saved.
			- This is really a con: you can add, remove and rename saves queues, but you can't edit the songs in them in any way. You have to starts playing the saved queue, then make edits in the "Queue" tab and save it again :/
		+ The queue tab has 2 icons at the top right:
			- (1st icon) Clears queue - Or if you started playing a saved queue, it resets it to the saved queue... Which is kinda cool, but also I think I should be able to then click the icon again to empty out the queue, but no, the icon gets grayed out :/
			- (2nd icon) Saves the current queue into the "Queues" tab with the current date as a placeholder name.
		+ Also has a swipe left and right over the now playing screen's album art.
		+ In the "Queues" tab you can use the same swipe gestures to add the whole saved queue into the current queue... Awesome...
		+ You can export saved queues to the native app. Would assume it is imported as a playlist.
3. [AuxBox](https://apps.apple.com/app/auxbox/id1439952652) - Free

	* This app plays song independently from the native music app
	* This was an interesting find. I don't think I'd ever had any use for this but sure enough you can queue up songs and play them... Sort of...
	* I'm a little surprised it works with Apple music and Apple hasn't take it down... Well it's not like you can use it as a full on music server because it's on your phone, but still.
	* It's sort of like you make a "radio station", though they call them "channels", where you can add songs from the Music app. And then it just plays that queue...
	* Interestingly as soon as a song finishes, it's removed from the queue but the last song sticks around and plays on repeat until you stop or add other songs.
	* You can share these channels with friends and when you start a channel it has 2 options: party mode or radio mode.
		+ Party mode: At a quick glance it seems party mode is one where you play music through the phone speakers or to bluetooth speakers or whatever and I guess your friends can... affect the queue somehow? I'm not really sure how that would work but it is called "party mode". Maybe they have full control of what's playing now or next, I don't know..
		+ Radio mode: Again, quick glance says it would be otherwise kinda similar but your friends would be hearing it from their phone speakers.
	* Apparently your friends can add songs to their apple music, if they like the song or whatever.
	* Also works with Spotify.
Upvotes: 3 [selected_answer]<issue_comment>username_2: I'm not sure if this was available before iOS 14, but now at least Apple Music provides a Shortcuts action that clears the up next queue. So you can easily create a shortcut to make clearing more convenient.

* Go into the Shortcuts App and tap + to add a new shortcut.
* Search for "Music" and select the Music app icon to see a list of the actions it provides.
* Select the "Clear Up Next" action to add it to the new shortcut.
* As desired, use the short-cut properties via "..." to set the shortcut name, show it in the share sheet, create a home screen icon, or even show it on your watch.

This solution is not as nice as a dedicated button in Apple Music would be, but it's much more convenient than the other options.
Upvotes: 2


<issue_start>username_0: How do I check the active audio codec for a bluetooth connection in Bug Sur?

In Catalina, you used to be able to option-click on the Bluetooth item in the menubar, and then it would show more detail about every item including the codecs for audio devices. Now it still shows the additional detail but not the audio codec.

How do I see the audio codec being used now -- for instance, to ensure that my headphones are using AAC and not SBC?<issue_comment>username_1: Download Bluetooth Explorer, open it, then navigate to Tools > Audio Graphs. You can see at the bottom the active codec - in this example I'm using AAC.

[![Audio Graphs screenshot](https://i.stack.imgur.com/HTDT8.png)](https://i.stack.imgur.com/HTDT8.png)

Note that Bluetooth Explorer is no longer included in the latest Xcode Additional Tools bundle. The last version I could find was for Xcode 11, and it now crashes sometimes on Big Sur, but still does the trick. Download it here: <https://developer.apple.com/download/more/?=additional%20tools>
Upvotes: 5 [selected_answer]<issue_comment>username_2: Pasting a solution I found from a [GitHub gist comment](https://gist.github.com/dvf/3771e58085568559c429d05ccc339219?permalink_comment_id=4167439#gistcomment-4167439). This works from me on Monterey.

1. Disconnect your headphones.
2. Open the "Console" app (Under "Applications/Utilities").
3. In the "Search" field, in the upper-right corner, type "Codec", and hit "Enter".
4. Hit the "Start" button.
5. Re-connect your headphones while looking at the Console output.
6. After a few seconds, you should see a bunch of lines appear, including one starting with "A2DP", like this:

>
> 00:48:15.750396-0400 bluetoothd A2DP configured at 44.1 KHz. Codec: AAC-LC, VBR max: 256 kbps. 1 frames \* (12+744) bytes = 756 per RTP (max=879) every 23.22 ms
>
>
>
Upvotes: 1


<issue_start>username_0: I'm trying to empty my trash on my iMac. When I do, I can detete everything but 1 folder. The one folder seems to reference itself infinitely. Each time I click on the expander chevron, I get another folder of the same name with the same date. When I created \_ImageItems, there was only one level.

I've attached some screen clips[![Too Long Error](https://i.stack.imgur.com/JvCJG.png)](https://i.stack.imgur.com/JvCJG.png).

[![Apparently infinitely recursive folders](https://i.stack.imgur.com/8juty.png)](https://i.stack.imgur.com/8juty.png)<issue_comment>username_1: You can use the command line in the terminal.

```
rm -rvf ~/.Trash/*

```

For completeness sake the options here from the **rm** man page:

```
-f  Attempt to remove the files without prompting for confirmation,
     regardless of the file's permissions.  If the file does not exist,
     do not display a diagnostic message or modify the exit status to
     reflect an error.  The -f option overrides any previous -i
     options.

-R[-r]  Attempt to remove the file hierarchy rooted in each file argument.
         The -R option implies the -d option.  If the -i option is speci-
         fied, the user is prompted for confirmation before each direc-
         tory's contents are processed (as well as before the attempt is
         made to remove the directory).  If the user does not respond
         affirmatively, the file hierarchy rooted in that directory is
         skipped.

 -v   Be verbose when deleting files, showing them as they are removed.

```
Upvotes: 3 <issue_comment>username_2: This worked for me after making sure terminal has full access on the disk :

```
rm -rvf ~/.Trash

```
Upvotes: -1 <issue_comment>username_3: Sudo‘ing worked for me, after giving full hard disc access to Terminal in Settings/Security:

```
sudo rm -rvf ~/.Trash

```
Upvotes: 1 <issue_comment>username_4: Just move the folder out of trash and then use rm -rf on the folder.
Upvotes: 2 <issue_comment>username_5: For those who're using El Capitan or later version of macOS - simply using the command given in previous answers will return a warning that there were no matches found.

What you need to do instead is to pass paths of items in the Bin **explicitly** to the command. You can do that like this;

1. Open the Terminal.
2. Type in `sudo rm -rfv`  (don't forget the space!)
3. Open the Bin.
4. Select all items from the Bin and move them to the Terminal.
5. Run the command and enter your password.
Upvotes: 4


<issue_start>username_0: I have a MacBook with 1TB SSD.

I want to have two separate partitions with two independent macOS installations.

I want to make sure that none of the partitions have any kind of possibility to interact with the other, I want them to be as separated as if they were physically separate.

Is this achievable with, for example, FileVault for each of them?

Edit: My question is neither "how can I install two different macOS versions on two different partitions on one SDD", neither "how do I use FileVault", etc. I know how to do all of that.

**I want to make sure that there is no interaction between the partitions possible. Can this be made sure with the above approach? Is it sufficient?**<issue_comment>username_1: No, since Apple designs the OS to be able to erase itself and undo any logical partition you make - anyone with moderate amount of time or technical ability can access the drive.

Your only play with shared storage is to trust encryption and separation of secrets. But that is flimsy protection if system B can always read, erase and modify system A storage. You don’t gain any data or interaction protection with two OS, you only gain complexity and two code bases and [less protection overall](https://apple.stackexchange.com/a/414725/5472).

The OS is always aware of the entire storage chain for all attached drives. You need external drives, two of them, to guarantee your “there is no interaction between the partitions possible” clause.

But, as long as you are on Catalina or higher, there’s never been a better time to dual boot two macOS systems on the same SSD. You can try it out and see if you can live with two OS and experiment if spotlight will find files and apps on the other system based on how you set things up. But this won’t make things more secure, it makes things less secure in several ways.
Upvotes: 2 <issue_comment>username_2: The answer is no. Assume I install some software with admin rights on partition B. It can not be made sure, that the program installed on B has no possibility to ask the `diskutil` to remove entirely partition A.

Update
------

Maybe this explanation will make more sense to you. Originally with OS X, many problems could be fixed by booting to the OS X installation DVD. Security existed by storing the DVD somewhere safe. After Snow Leopard, Apple stopped issuing DVDs and instead opted for software downloads. A recovery volume was added to take the place of using the DVD to fix problems. The recovery volume contain limited functionality compared to a full OS X operating system. However, when booted to the recovery volume, changes could be made that are not normally possible when booted to OS X. This concept of recovery has been refined with each new release up to and including the release of macOS Big Sur. Along the way, Apple has taken many steps to prevent booting to recovery without first requiring user validation.

Installing a second macOS in a different partition creates in effect an extremely powerful version of recovery. So when booted to the second macOS, you are going to be able to mess with the first macOS, just as if you had booted to recovery. For example, SIP only applies to the partition of the currently booted macOS. The files in the other macOS are no longer protected by SIP. The same is true, if you were to install, then boot to Windows or Linux on your Mac.

The best way to protect your Mac is to only have one operation system installed. Once you install a second operating system, you open up security vulnerabilities that Apple has not begun to address.
Upvotes: 1


<issue_start>username_0: When creating a screenshot with Cmd+Shift+3 or Cmd+Shift+4, a smaller version of the screenshot image appears at the corner of the screen.

When clicking the image, the full-sized screenshot image pop on the screen in an annotation kind of app.

[![enter image description here](https://i.stack.imgur.com/QljYo.png)](https://i.stack.imgur.com/QljYo.png)

This app allows to draw, circle or outlines and it will interpolate the drawing to the closest geometrical shape.

What is this app?

Is there any way to load any image through it instead of Preview?<issue_comment>username_1: that's the Preview app indeed.

When you try to preview an image by pressing space, or when you open an image with Preview you then have a button (pen icon) on the top right corner to open the edit mode. See image below:

[![enter image description here](https://i.stack.imgur.com/pFo2Z.png)](https://i.stack.imgur.com/pFo2Z.png)
Upvotes: 1 [selected_answer]<issue_comment>username_2: The editor is part of the QuickLook functionality. You can also start it by activiting QuickLook on any image (usually by pressing `Space`) and then clicking on the Pencil tip icon at top right.
Upvotes: 1


<issue_start>username_0: My understanding is that resetting an iOS device by using `Erase all Content and Settings` is considered secure deleting, as the key for the encryption is obliterated and no data can be recovered.

Just to be sure: is that still the case if I set up the device with the same Apple ID afterwards? Will iOS generate a new key, or will the system somehow recognize my Account and use the same key all over again?<issue_comment>username_1: The encryption key is created from the passcode you create to lock the iDevice. The longer and more complex the passcode, the more difficult it will be to decrypt the iDevice disk. I would doubt very highly that the passcode for your device is in any way linked with your Apple ID. Using the same passcode on your iDevice as for your Apple ID is probably not recommended.

A wealth of information is found on this page at [Operational Security](https://www.operational-security.com/ios-full-disk-encryption/), with some pertinent info I've copy/pasted here.

>
> If you own an up-to-date iPhone, iPad, or iPod, you are already running full disk encryption. iOS devices ship from the factory with non-user configurable encryption – “non-user configurable” means you can’t turn it off even if you want to.
>
>
>

>
> **Custom Alphanumeric Code:** This passcode option provides the strongest security of all. This option should be considered if security is your primary goal. It should also be considered for some other scenarios: if you leave your device unattended, or if your device is at high risk of loss, theft, or capture. A custom alphanumeric passcode should also be used if you use Touch ID to unlock your iOS device and only rarely enter the passcode. This option has one significant downside: it requires the passcode to be entered on the full alphanumeric keyboard. This tiny keyboard offers the most complexity, but is incredibly tedious to work with, especially when you are in a hurry.
>
>
>

>
> You can make a custom alphanumeric passcode even more secure by using some special characters on the iOS keyboard. The letters A, C, E, I, L, N, O, S, U, Y, and Z all contain special characters. For instance, the letter “a” contains the following special characters: à, á, â, ä, æ, ã, å, and ā. To access them, press the desired letter and hold. A pop-up menu will appear. Slide your finger to the desired character and release. Because of the immensity of the iOS keyboard’s character set, incredibly complex passcodes are possible.
>
>
>

>
> iOS full disk encryption is only as strong as the passcode you use to protect it, so choose a good one. I recommend a six-digit numeric, but only if you can’t tolerate anything longer. If you can, I say go with a 10 to 12-digit numeric.
>
>
>
Upvotes: 3 <issue_comment>username_2: You are set since Apple only uses the passphrase to help generate entropy on the actual key that's used to unlock the data. Apple wrote a very clear white paper that covers the protections and goes into some technical detail.

* <https://support.apple.com/guide/security/passcodes-and-passwords-sec20230a10d/1/web/1>

If you set up a device with the same passcode 5 times in a row - none of the keys would be the same and no one could get at the data from the device even if you told them your passcode.

You are correct - they key is destroyed instantaneously and the data is cryptographically erased. You don't need any [special tool to overwrite any of the data](https://apple.stackexchange.com/q/326/5472) since it was previously encrypted and that encryption exists at rest. When you erase the device, the key that unlocks the data was destroyed and no passphrase will get that key back since it never left the Secure Enclave.

---

iCloud is more complicated, since your data lives in Apple’s servers and can be seen on the web, via API on official and unofficial apps, on Windows and on macOS and other devices in addition to your phone.

The encryption keys used to encrypt this data when it leaves your device are not the same keys as the ones used to lock the files at rest on the iPhone hardware.

So, you buy a new phone and take a picture of your pet. That pet photo is encrypted at rest with a key that’s entangled with your device passphrase, not actually encrypted with that passphrase alone.

Now - when you sign up for an AppleID or iCloud account - a different password generates a different set of key pairs both in the cloud and on device. Now things are much more complicated than just a device encrypting data at rest, since we have multiple key pairs and signing certificates and multiple computers involved just to get data to iCloud from your phone.

The process to sync the data to the cloud doesn’t need to know how to decrypt the data from storage to show it to you or send it to the cloud since iOS and iPhone hardware handle that encryption transparently to the apps. The running OS isn’t necessarily aware the data is encrypted like a fish doesn’t need to know it’s in the water to swim.

A different encryption is added before that data backs up or syncs to iCloud servers. In the case with the wiped device, when you sign in to iCloud, new key pairs are generated from that sign in event and used to decrypt the pet photo that comes down from the iCloud backup to your wiped phone (or new phone). The iCloud “app” decrypts the data and then the iOS stores it using the new local encryption key from the Secure Enclave (since your passphrase unlocked the device). Once sync is done and the file written to local storage, it is encrypted at rest with a different key than the key used to encrypt the data when it moved to cloud from old device and back to the new device from the cloud.

To wrap up, the pet photo can be encrypted many times, using different keys based on where it’s heading. The same file gets transformed (in a reversible manner) so that when it’s decrypted, the data is the same file so it looks to us like your pet each time we look at that photo.

The hardware encryption is different than the software decryption and pulling this off in a way that people can use and not make mistakes in security is a very hard problem to solve.
Upvotes: 4


<issue_start>username_0: Anecdotally, files called `.` and `..` seem to often (always?) be present inside otherwise 'empty' directories on macOS.

### Example

Create a new directory (with nothing in it)

```sh
mkdir test

```

`cd` into it

```sh
cd test

```

and list its contents

```sh
ls -a
.   ..

```

What exactly are these files `.` and `..`?<issue_comment>username_1: Technically and practically, they represent directory entries for the current directory (`.`) and the parent directory (`..`), respectively.

So `cd .` always keeps you in the current directory (useful mainly in scripts when a directory is assigned to a variable and the value should represent just the current directory), whereas `cd ..` always takes you one level up (unless you are already at `/`, in which case `..` is the same as `.`).
Upvotes: 6 [selected_answer]<issue_comment>username_2: In practical terms, the folders named `.` and `..` refer to the current folder and its parent folder respectively. For the root directory (referred to as `/`) the `..` name simply refers to itself.

The "." and ".." names are special in that they do not necessarily represent something actually stored in the file system on the disk, like other names. In some file systems there are actually hard links named "." and "..", but other file systems do not store them as such.

Similarly on modern operating systems, like macOS, it is possible to mount several file systems onto the same folder structure. At the boundaries of such intersections, the ".." doesn't refer to a link stored inside that file system, but rather refers to a folder in a completely different file system.

In those case these names are purely virtual, while still providing the same functionality.

The presence of these names are actually dictated by the POSIX standard for operating systems, which macOS has been certified against since 10.5. In particular the standard specifies that:

>
> The special filename dot shall refer to the directory specified by its predecessor. The special filename dot-dot shall refer to the parent directory of its predecessor directory. As a special case, in the root directory, dot-dot may refer to the root directory itself.
>
>
>

When using the command line interface, you'll quickly become used to the `..` name, as you often use commands like `cd ..` to go the parent folder.

The `.` name serves an important function in terms of security, as it is used to indicate to the shell (the command line interface) that you want to run a program located in the current folder instead of a system supplied command in another location. Imagine that we did not have the `.` name, and the system simply started the program in the current folder without having it explicitly stated - then a malicious user could add programs with names of common commands to folders on the computer, and when another user came across this folder and intended to run a common command (such as `ls` for listing files or `cd` for changing directory) they would instead be starting a malicious program.

Historically these names `.` and `..` have been used on many different operating systems, including for example Windows and Linux. It originates from the Multics operating system (originally from 1969), which was the first operating system to feature a hierarchical file system. Multics was one of the main inspirations behind what eventually became Unix, and in the development process they places files according to a "directory" (current folder) and to "directory's directory" (parent folder). These terms were abbreviated 'd' and 'dd', and were eventually pronounced 'dot' and 'dot-dot' - making way for their current representation
Upvotes: 4


<issue_start>username_0: After downloading brew from this command

```
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

```

I am running these two commands

```
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/alibaig/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"

```

I am getting this

```
zsh: no such file or directory: /opt/homebrew/bin/brew

```

Output of cat ~/.zprofile

```
eval "$(/opt/homebrew/bin/brew shellenv)"
eval "$(/opt/homebrew/bin/brew shellenv)"

```<issue_comment>username_1: Maybe you need to install [Homebrew](https://brew.sh/)? To do so, open the Terminal and paste in the command that is provided on the Homebrew website.

Homebrew is a package manager for Mac, and apparently something in your `~/.zprofile` file is invoking it. This file contains some configuration for your shell.

If you already have Homebrew and this does not solve it, please update your question with the output of the following command: `cat ~/.zprofile`. Thanks.
Upvotes: 1 <issue_comment>username_2: Setting `PATH` for Python 3.8 - The original version is saved in `.zprofile.pysave`

```
PATH="/Library/Frameworks/Python.framework/Versions/3.8/bin:${PATH}"
export PATH

```

Setting `PATH` for Python 3.9 - The original version is saved in `.zprofile.pysave`

```
PATH="/Library/Frameworks/Python.framework/Versions/3.9/bin:${PATH}"
export PATH
eval "$(/opt/homebrew/bin/brew shellenv)"

```

This is my output of `cat ~/.zprofile`.
Upvotes: 0 <issue_comment>username_3: Actually, it seems like you may be running the installation from some other account on your device, like it was in my case.

If that is so, then running the line

```
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

```

would lead to the installation of brew to some other folder.

**What to do?**

When running the installation, before the acceptance of installing (requirement to press Enter), observe the first line proposed, for me it was

```
/usr/local/bin/brew

```

If that is so, you should modify the second line you execute to:

```
eval "$(/usr/local/bin/brew shellenv)"

```

Hope this helps.
Upvotes: 2


<issue_start>username_0: I use HighSierra 10.13.6 on my Mac.

When trying to upgrade youtube-dl, the process also tries to update ffmpeg which fails because of a library called "nettle". As a result of this, ffmpeg was removed from my macOS and I cannot install it again.

Is this library important to "normal" use of ffmpeg? Where normal means converting downloaded videos from YouTube and/or between formats such as mp4, mp3.

Is there a way to pass options to homebrew to tell not to use this nettle library?

If not possible, is there a way to tell homebrew that for ffmpeg library use a locally built nettle installation directory?<issue_comment>username_1: Homebrew [release notes for 2.6.0](https://brew.sh/2020/12/01/homebrew-2.6.0/) say that High Sierra is unsupported.

If you are stuck on old versions of OSX then I would look at [Macports](https://www.macports.org/) which does provide ports for many cases going back to Tiger. [nettle](https://ports.macports.org/port/nettle/summary) and [ffmpeg](https://ports.macports.org/port/ffmpeg/summary) seem to have a built version available for Leopard to BigSur. Although I would note that due to all the possible variants of ffmpeg (all the different libraries it can use) Macports might have to compile that or your machine.
Upvotes: 1 <issue_comment>username_2: As other answers have noted, Homebrew no longer supports High Sierra.

While I suspect you will eventually want to switch to MacPorts, you could also download a static build of ffmpeg from <https://evermeet.cx/ffmpeg/> and drop it in `/usr/local/bin`. These self-contained "static" binaries include all of the library code they need to run.
Upvotes: 3 [selected_answer]


<issue_start>username_0: I have an early 2015 Macbook pro with 8GB RAM and i7 dual core processor. It runs Mojave smoothly, and I haven't upgraded to Catalina nor Big Sur. I read that Catalina won't slow things down compared to Catalina, but what about Big Sur?<issue_comment>username_1: If you have enough free disk space, the best thing to do is:

1. reduce disk space for Mojave.
2. create a Catalina or Big Sur test environment and so you will see for yourself.

The other option is to install the new system on DDE USB-3 and, despite the loss of performance compared to the internal SSD, you can also test without touching in Mojave.

What is important to know is that Catalina or Big Sur no longer support 32-bit applications.
Upvotes: 1 <issue_comment>username_2: If a Mac is within the included range of supported models for an OS, then it should run without problem.

One of the reasons for Apple excluding a Mac from a new OS is that the 'experience' is not good enough, in terms of speed.

I've run all three OSes on a 2014 MBP, and performance was fine. I didn't notice any discernible difference.
Upvotes: 0


<issue_start>username_0: This disk that used to work isn't recognized at all now.

My Mac (mactel) got *bricked* because I was fiddling with triple boot setups, and at one point I made Mac unbootable. (Will describe what happened later in this question if interested.)

For several reasons, I used `fdisk` on Linux (Ubuntu on flash drive) to wipe everything off from that internal disk by applying the GPT scheme to the disk. The disk is totally visible as `/dev/nvme0n1` on Ubuntu. However it's not on macOS's recovery mode.

When I go into recovery mode (did both `Command` + `R` and `Option` + `Command` + `R` but it's always El Capitan for some reasons), Disk Utility GUI won't show anything besides "Apple disk image Media". (It will show USB flash drive if I plugged them in.) If I move onto CLI version of it, `diskutil list` will return something like this:

```
/dev/disk0 (disk image):
    #:                      TYPE NAME                      SIZE       IDENTIFIER
    0:     GUID_partition_scheme                          +2.1 GB     disk0
    1:                 Apple_HFS OS X Base System          2.0 GB     disk0s
/dev/disk1 (disk image):
    #:                      TYPE NAME                      SIZE       IDENTIFIER
    0:                           untitled                 +5.2 MB     disk1
# ..
# other 11 disks with similar stuff sized in between 524.3KB (half of those) to 6.3MB
# ..
/dev/disk13 (disk image):
    #:                      TYPE NAME                      SIZE       IDENTIFIER
    0:                           untitled                 +6.3 MB     disk13

```

Whereas I expect something as follows:

```
/dev/disk0 (internal, physical):
    #:                      TYPE NAME                      SIZE       IDENTIFIER
    0:     GUID_partition_scheme                          +1.0 TB     disk0
/dev/disk1 (disk image):
    #:                      TYPE NAME                      SIZE       IDENTIFIER
    0:     GUID_partition_scheme                          +2.1 GB     disk1
    1:                 Apple_HFS OS X Base System          2.0 GB     disk1s

```

`ls /dev` would not show much interesting output, and there certainly are nothing like `nvme0`.

Are there more cleaning up to do on the disk (such as removing snapshots from APFS? Are these 13 disk images those snapshots from the disk somehow)??

---

And here is it for post mortem, more specifics for what this is and how it's got bricked.

### Hardware

* MacBook Pro [Intel, No T2 chip] [(Retina, 13-inch, Early 2015)](https://support.apple.com/kb/sp715?locale=en_US)
* [NVMe SSD that I swapped with original.](https://rads.stackoverflow.com/amzn/click/com/B07XG3PD42) Although it is not the original SSD, installation (BigSur)
worked successfully once, with zero hiccups. So I believe hardware isn't the problem.

### How it got *bricked*

**Short version**:

I was trying triple boot setup, which was unsuccessful and tried to start it over by undoing it by asking macOS Boot Camp Assistant to wipe them off, which returned the error, leaving Linux partitions un-wiped. Now it won't boot up.

**Long version**:

Physical upgrade (Successful)

1. Swapped with new 1TB SSD, formatted with APFS (I think), installed macOS from Time Machine backup. No hiccups, perfect experience.

Dual-boot (Successful)

2. Installed Windows 10 with Boot Camp Assistant, just as Apple recommends. Left 500GB for Mac and the rest 500GB for Windows. Again, works like a charm as expected, no hiccups.

Triple-boot (Failed)

3. Boot into Windows and use Disk Management to shrink the Windows partition. Now it's [500GB: macOS] + [250GB: Windows] + [250GB: unallocated]. So far it boots to both OS with no problem (although Mac's Disk Utility GUI might have not be happy with this, but I don't remember.)
4. Installed rEFInd, so now it boots into rEFInd menu, and shows both Mac/Windows options, as expected. So far so good.
5. (Try installing Fedora and I couldn't see no success, so I gave up. Wiped off new partition - and everything works just like before.)
6. Installed Ubuntu but it didn't boot into Ubuntu although the rEFInd menu shows the Ubuntu icon (as it did install `/boot/efi` into existing EFI partition). Now Windows won't boot.
7. Reinstalled rEFInd, and now Ubuntu works, but Windows does not.
8. Now it boots into rEFInd menu, and macOS and Ubuntu works, but Windows does not. I couldn't figure the fix so I decided to start over with simple dual boot setup the way Apple supports.

Starting over (Failed)

9. Asked Boot Camp Assistant to wipe current Boot Camp. Took a few minutes doing this and that, and it threw some error (which I didn't take memo regrettably). Disk Utility GUI was showing something glitchy (which I didn't take memo neither), and it didn't wipe Linux partitions.
10. Booted into Linux (Ubuntu) from USB flashdrive, and used `fdisk` to apply new GPT to the disk.

And now `diskutil list` won't recognize the physical disk.<issue_comment>username_1: Welcome to the site.

First of all, I can very much empathize with this situation. For years we lived behind a slow satellite connection which had a quota of *20GB per month*.

Unfortunately, the bad news is that `softwareupdate` is no longer supported by Apple for system updates in Big Sur. I am not even sure that it is possible to do what you are trying to do. Apple *used to* post ‘combo updaters’ to their website, but they have also ceased to do that.

One of Apple’s perpetual blindspots is that not everyone has access to fast and unlimited Internet access.

Your best bet is to set up “Content Caching” on your local network:

[What is content caching on Mac? - Apple Support](https://support.apple.com/guide/mac-help/what-is-content-caching-on-mac-mchl9388ba1b/mac)

[Set up content cache clients, peers, or parents on Mac - Apple Support](https://support.apple.com/guide/mac-help/set-content-cache-clients-peers-parents-mac-mchl9b56e1cf/11.0/mac/11.0)

*(Note: I have had some trouble loading some pages on Apple’s support page in Safari. It works sometimes and other times says that the page does not exist. If that happens, try another browser. Yeah, I know, absurd.)*

Content Caching is not as easy or as precise as combo updaters were (for one thing, I don’t know of any way to *force* a Mac to only use a content cache… it’s just supposed to happen “automagically” and we know how that goes.

I wish I had a better answer for you. Unfortunately, Apple has chosen to deprecate `softwareupdate` and discontinue Combo Updaters, which makes this situation extremely difficult to manage, especially with bandwidth restrictions.
Upvotes: 2 <issue_comment>username_2: As this is one of the firsts results in search engines, it deserves an answer:
Big Sur updates are downloaded in /System/Library/AssetsV2/, more precisely in /System/Library/AssetsV2/com\_apple\_MobileAsset\_MacSoftwareUpdate/
Upvotes: 2 <issue_comment>username_3: **macOS Ventura**

I was able to get pretty far by first looking for the right process while the installer / updater was downloading:

```
prompt>  ps -e | grep Update
...
  326 ??         3:41.81 /System/Library/CoreServices/Software Update.app/Contents/Resources/softwareupdated
...

```

In this case, the update had been downloading a while, so it was the hit with some significant CPU time attached to it.

Then I looked at the list of open file descriptors for that process:

```
prompt> sudo lsof -p 326
Password:
COMMAND   PID            USER   FD      TYPE             DEVICE    SIZE/OFF                NODE NAME
softwareu 326 _softwareupdate  cwd       DIR               1,18         640                   2 /
softwareu 326 _softwareupdate  txt       REG               1,18      173792 1152921500312087005 /System/Library/CoreServices/Software Update.app/Contents/Resources/softwareupdated
softwareu 326 _softwareupdate  txt       REG               1,18       51064            32762149 /Library/Preferences/Logging/.plist-cache.KNXNdKum
softwareu 326 _softwareupdate  txt       REG               1,18         110 1152921500312087734 /System/Library/CoreServices/SystemVersion.bundle/English.lproj/SystemVersion.strings
softwareu 326 _softwareupdate  txt       REG               1,18        8597 1152921500312086721 /System/Library/CoreServices/Software Update.app/Contents/Resources/InfoPlist.loctable
softwareu 326 _softwareupdate  txt       REG               1,18       32768            15737817 /private/var/db/softwareupdate/Library/HTTPStorages/softwareupdated/httpstorages.sqlite-shm
softwareu 326 _softwareupdate  txt       REG               1,18      584564 1152921500312337928 /System/Library/PrivateFrameworks/SoftwareUpdateMacController.framework/Versions/A/Resources/SUMacControllerError.loctable
softwareu 326 _softwareupdate  txt       REG               1,18       70162 1152921500312266704 /System/Library/PrivateFrameworks/Install.framework/Frameworks/DistributionKit.framework/Versions/A/Resources/PKDistributionController.loctable
softwareu 326 _softwareupdate  txt       REG               1,18         141            32830714 /private/var/folders/<KEY>00000s0000068/T/012-92138_FBE5CBE6-C508-489D-8455-657ADD88F0F3/Payload/System/Library/CoreServices/MajorOSInfo.bundle/Contents/Resources/en.lproj/Localizable.strings
softwareu 326 _softwareupdate  txt       REG               1,18      275381 1152921500312119194 /System/Library/Frameworks/CFNetwork.framework/Versions/A/Resources/Localizable.loctable
softwareu 326 _softwareupdate  txt       REG               1,18       74659 1152921500312121443 /System/Library/Frameworks/CoreFoundation.framework/Versions/A/Resources/Error.loctable
softwareu 326 _softwareupdate  txt       REG               1,18      136152 1152921500312087441 /System/Library/CoreServices/SystemAppearance.bundle/Contents/Resources/SystemAppearance.car
softwareu 326 _softwareupdate  txt       REG               1,18      460384 1152921500312170430 /System/Library/Frameworks/Security.framework/Versions/A/PlugIns/csparser.bundle/Contents/MacOS/csparser
softwareu 326 _softwareupdate  txt       REG               1,18    30407360 1152921500312435095 /usr/share/icu/icudt70l.dat
softwareu 326 _softwareupdate  txt       REG               1,18     1192256 1152921500312119190 /System/Library/Frameworks/CFNetwork.framework/Versions/A/Resources/DafsaData.bin
softwareu 326 _softwareupdate  txt       REG               1,18     2369592 1152921500312111296 /System/Library/Fonts/Helvetica.ttc
softwareu 326 _softwareupdate  txt       REG               1,18     4472724 1152921500312111298 /System/Library/Fonts/HelveticaNeue.ttc
softwareu 326 _softwareupdate  txt       REG               1,18     7851656 1152921500312087402 /System/Library/CoreServices/SystemAppearance.bundle/Contents/Resources/Aqua.car
softwareu 326 _softwareupdate  txt       REG               1,18     2979064 1152921500312087430 /System/Library/CoreServices/SystemAppearance.bundle/Contents/Resources/FauxVibrantLight.car
softwareu 326 _softwareupdate  txt       REG               1,18     5932296 1152921500312087455 /System/Library/CoreServices/SystemAppearance.bundle/Contents/Resources/VibrantLight.car
softwareu 326 _softwareupdate  txt       REG               1,18      130617            32762626 /private/var/db/analyticsd/events.allowlist
softwareu 326 _softwareupdate  txt       REG               1,18      397296 1152921500312080012 /System/Library/CoreServices/ManagedClient.app/Contents/PlugIns/MCXToolsInterface.bundle/Contents/MacOS/MCXToolsInterface
softwareu 326 _softwareupdate  txt       REG               1,18       32768            32762305 /private/var/db/mds/messages/se_SecurityMessages
softwareu 326 _softwareupdate  txt       REG               1,18      297536 1152921500312424156 /usr/lib/libobjc-trampolines.dylib
softwareu 326 _softwareupdate  txt       REG               1,18      257028 1152921500312337763 /System/Library/PrivateFrameworks/SoftwareUpdate.framework/Versions/A/Resources/SUErrorDomain.loctable
softwareu 326 _softwareupdate  txt       REG               1,18       54716 1152921500312337759 /System/Library/PrivateFrameworks/SoftwareUpdate.framework/Versions/A/Resources/Localizable.loctable
softwareu 326 _softwareupdate  txt       REG               1,18      189576 1152921500312266698 /System/Library/PrivateFrameworks/Install.framework/Frameworks/DistributionKit.framework/Versions/A/Resources/Distribution.loctable
softwareu 326 _softwareupdate  txt       REG               1,18      919104 1152921500312111955 /System/Library/Fonts/Times.ttc
softwareu 326 _softwareupdate  txt       REG               1,18     3202372 1152921500312111314 /System/Library/Fonts/LucidaGrande.ttc
softwareu 326 _softwareupdate    0r      CHR                3,2         0t0                 340 /dev/null
softwareu 326 _softwareupdate    1u      CHR                3,2         0t0                 340 /dev/null
softwareu 326 _softwareupdate    2u      CHR                3,2        0t85                 340 /dev/null
softwareu 326 _softwareupdate    3u     unix 0x831adb066ac3e3b9         0t0                     ->0x831adb066ac3f339
softwareu 326 _softwareupdate    4u      REG               1,18 10989076480            32830863 /<KEY>com.apple.SoftwareUpdate/swcdn.apple.com/content/downloads/25/16/012-92138-A_KGGGN26YQB/d0kr042ixfvkboeft8qt2i3aclr5bx1e6p/InstallAssistant.pkg.partial

```

The hit in this case is the one with the very large size at bottom in private/var/folders/... (The download had been going a while.) So, that is how to find them as they are being downloaded.

In my case, once the download finished, this file disappeared. This is to be expected. .partial files are auto renamed when the download finishes. What it is unpacked to and where that ends up probably very much depends on what it is. With any luck it will be in the same place.

In my case, since I was doing an OS update, a very obvious /Applications/Install macOS Ventura.app appeared when the OS installer launched. If you are doing something else, then while it is installing, my bet is lsof will spot the file for you, though I'm not sure which process it will be that is doing the installing. The ps or top commands might be your friend spotting it. Work fast! Otherwise, the usual convention is that the non-partial file will be in the same place as the partial file with ".partial" removed.

Assuming like me, what you really want is a bootable OS install disk image, you can follow the Apple directions for making a bootable installer image as long as the update app in Applications is still there: <https://support.apple.com/en-us/HT201372>

This mostly boils down to:

0. Without closing or disturbing the OS installer app (leave it running)...
1. Find a thumb drive that is big enough
2. Using Disk Utility, erase the thumb drive and reformat as MacOS Extended
3. Make the installer on the new thumb drive. In my case, the thumb drive is mounted at /Volumes/Install:

Making the installer:

```
 prompt> sudo /Applications/Install\ macOS\ Ventura.app/Contents/Resources/createinstallmedia --volume /Volumes/Install
 Password:
 Ready to start.
 To continue we need to erase the volume at /Volumes/Install.
 If you wish to continue type (Y) then press return: Y
 Erasing disk: 0%... 10%... 20%... 30%... 100%
 Making disk bootable...
 Copying to disk: 0%... 10%... 20%... 30%... 40%... 50%... 60%... 70%... 80%... 90%... 100%
 Install media now available at "/Volumes/Install macOS Ventura"

```

With any luck you should be able to boot off that. You may need to use csrutil to disable system integrity protection before the Mac will find it at boot time.
Upvotes: 2


<issue_start>username_0: I am using BigSur for the first time today, after unboxing a new iMac M1.

I migrated all my stuff from an old iMac with Catalina, to this one, using a time machine backup.

The new machine is working well but everything related to passwords is a mess.

I have been using macOS for 15 years. I have billions of passwords for websites on keychain.

Now, on this new machine, when I visit a site that requires username/password, the field username appears filled but when I click on the password field, I am offered the option to unlock the passwords using touchID. This feature fails 100% of the time. If instead of using TouchID I type my mac password I see only the passwords stored inside safari, not those on Keychain. But the keychain passwords are there.

Any way to make this work as before?<issue_comment>username_1: Possibly in `~/Library/Saved Application State/com.apple.Safari.savedState` but I don't want to delete mine to test.

Confirmed as working, by the OP in comments.
Upvotes: 4 [selected_answer]<issue_comment>username_2: When you do have `~/Library/Safari` there's a file `LastSession.plist` in it that is exactly what it's name says. I often save sessions that I want to come back to by taking copies of that file & copying them back when I want to revisit a given session.
Upvotes: 0


<issue_start>username_0: I am struggling to create a Mac OS X 10.6 (Snow Leopard) virtual machine on macOS 10.15 (Catalina). How can I use Snow Leopard in VirtualBox on macOS Catalina?

Here is what I have:

* macOS 10.15.7 (19H1217)
	+ Running on a MacBook Pro (Retina, 15-inch, Mid 2014)
* VirtualBox version 6.1.22 r144080 (Qt5.6.3)
* Max OS X 10.6 install ISO file

After initial setup, VirtualBox gets here and no further:
[![enter image description here](https://i.stack.imgur.com/KWCQG.png)](https://i.stack.imgur.com/KWCQG.png)<issue_comment>username_1: I remember doing something similar to this a while back and ran into the same issues. I see the virtualbox people have not fixed that issue yet.

The best way to do this is to create a VM in VMWare Fusion. You can download it and use it for this for free. And as long as you are virtualizing macOS on an actual, physical, Apple branded Macintosh it should work.

VMWare will boot and install macOS on a VM on a Mac running macOS out of the box with no complaints or problems. I did this with macOS Mojave but it should be simpler with an earlier version of macOS as long as you have the installer from Apple.

If you follow the instructions [here](http://www.huibdijkstra.nl/how-to-set-up-a-osx-mojave-vm-in-vmware-fusion/), that should get you a working install of a macOS that you can use. These instructions involve Mojave but should work for earlier versions of macOS.

I'm not going to quote the whole blog post here but you set up a VM in Fusion for the version of macOS you want and then create an ISO/DMG using a a few easy terminal commands then select that image as your bootable install media in VMWare Fusion and away you go with the standard macOS install procedure.

The trick here is that Virtualbox can directly use a VM created in Fusion, so when you are done with the install and have a bootable macOS VM in Fusion, you can delete Fusion and use Virtualbox.

There are a number of tutorials out there that can help with this. the one on my blog linked to the blog post linked above but there are others. Google is your friend. The trick is using VMWare Fusion to create the VM and then you can run it in Virtualbox.
Upvotes: 0 <issue_comment>username_2: You are correct. I am using an iMac (21.5 inch, Late 2013) with Catalina 10.15.7 and the same version of Virtual Box. I solved your problem by have the firmware boot from z file. I chose to boot from `FS1:\System\Library\CoreServices\boot.efi`.

The simple solution is to enter the following at the `Shell>` prompt.

```
FS1:\System\Library\CoreServices\boot.efi

```

I used a Snow Leopard ISO file created from a Snow Leopard OS X 10.6 DVD purchased from Apple. For more information, see [this answer](https://apple.stackexchange.com/questions/363738/os-x-snow-leopard-wont-boot-into-recovery-mode-need-to-reset-admin-password/363745#363745).

I needed to set the "Audio Controller" to `ICH AC97`, otherwise Snow Leopard would not boot after the installation completed. This change results in a Snow Leopard without sound.

After installing, I immediately upgraded to OS X 10.6.8 by downloading [Mac OS X 10.6.8 Update Combo v1.1](https://support.apple.com/kb/dl1399?locale=en_US) to the host, transferring to the virtual machine and installing.

I [enabled the 64 bit kernel](https://macperformanceguide.com/SnowLeopard-64bit.html) by entering the following command, then restarting.

```
sudo systemsetup -setkernelbootarchitecture x86_64

```

Guest Additions failed to install with the following popup message.

[![](https://i.stack.imgur.com/UfBne.png)](https://i.stack.imgur.com/UfBne.png)

---

I had no problems installing Snow Leopard on a iMac (21.5-inch, Mid 2011) with High Sierra 10.13.6 and Virtual Box version 6.1.12 r139181 (Qt5.6.3). In other words, I did not need to change the "Audio Controller". I was able to upgrade to OS X 10.6.8 and enable the 64 bit kernel. However, Guest Additions failed to install with the following popup message.

[![](https://i.stack.imgur.com/bnUdF.png)](https://i.stack.imgur.com/bnUdF.png)

I assume Guest Additions would have installed, if an older version of VirtualBox was being used.
Upvotes: 2


<issue_start>username_0: I need to write a very simple shell script that will check if the system is configured to enforce multi-factor authentication.

To verify that the system is configured to enforce multi-factor authentication, run the following commands:

```
/usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep enforceSmartCard

```

If the results do not show "**enforceSmartCard=1**", this is a finding.

I created this very simple script, but I am pretty sure there is a more effective, elegant and efficient way to achieve the same result.

Basically if it was you, what kind of modifications would you apply to the script below to achieve the same results?

Thank you so much in advance for your help.

```
#!/bin/zsh

myVAR=`/usr/sbin/system_profiler SPConfigurationProfileDataType | /usr/bin/grep enforceSmartCard`

if [ $myVAR = "enforceSmartCard=1" ]
then
    echo "The system is configured to enforce multi-factor authentication"
else
    echo "The system is not configured to enforce multi-factor authentication"
fi

```<issue_comment>username_1: This might be a little more elegant, not necessarily *simpler*: I'm wrapping the parts of the pipeline in their own functions

```bsh
profile () { /usr/sbin/system_profiler SPConfigurationProfileDataType; }
enforces2fa () { /usr/bin/grep -F -q 'enforceSmartCard=1'; }

if profile | enforces2fa; then
    echo "The system is configured to enforce multi-factor authentication"
else
    echo "The system is not configured to enforce multi-factor authentication"
fi

```

Some notes

* prefer `$(...)` over ``...`` for command substitution: it's easier to read.
* `if` takes a *command* and branches based on the command's *exit status*. At a bash prompt, enter `help if` for more details.
	+ `[` is a bash builtin command, not just syntax.
* if "enforceSmartCard=1" is the only text on the line, add `-x` to the grep options.

Additionally, you can modify the PATH in your script to streamline the functions

```bsh
PATH=$(getconf PATH)      # /usr/bin:/bin:/usr/sbin:/sbin

profile () { system_profiler SPConfigurationProfileDataType; }
enforces2fa () { grep -F -q 'enforceSmartCard=1'; }

```

This is only in effect for the duration of the running script, and will not affect your interactive shell.
Upvotes: 2 <issue_comment>username_2: I'd be inclined to read the value of the **`enforceSmartCard`** key directly from the *`com.apple.security.smartcard.plist`* file located in the *`/Library/Preferences`* folder.

This can be done using the `defaults` command-line tool, which will be significantly faster than the `system_profiler`, and you won't need to `grep` its output:

**```
defaults read /Library/Preferences/com.apple.security.smartcard enforceSmartCard

```**

Here are the possible outputs for the `system_profiler | grep` and `defaults` commands, together with their meaning:

| `system_profiler | grep` | `defaults` |  |
| --- | --- | --- |
| `enforceSmartCard=0` | 0 | The `enforceSmartCard` key is set,and its value is `false` |
| `enforceSmartCard=1` | 1 | The `enforceSmartCard` key is set,and its value is `true` |
| *non-zero exit status* | *Error message* and*non-zero exit status* | The `enforceSmartCard` key is *not*set, **or** (`defaults` only) the propertylist does not exist |

The default value for `enforceSmartCard` is `false`, therefore a non-zero exit status is essentially equivalent in meaning—for our purposes—to `enforceSmartCard=0`. In the case of the `defaults` command, an error message is also printed that looks something like this:

```
The domain/default pair of (/Library/Preferences/com.apple.security.smartcard, enforceSmartCard) does not exist

```

so, provided there isn't a typographical error when you issue the command, then either the file */Library/Preferences/com.apple.security.smartcard.plist* does not exist, or it does and the `enforceSmartCard` key is not set. Either way, the error message is of little value, so this can be suppressed by redirecting *`stderr`* into the void:

```
defaults read /Library/Preferences/com.apple.security.smartcard enforceSmartCard 2>/dev/null

```

Thus, the predicate we discriminate upon will be whether or not this command outputs `"1"` (without quotes): if it does, then a user must authenticate using their smart card (in addition to whatever other form of authentication would be required); any other result (either an output of `"0"`, or a non-zero exit status with no output) infers that a user may authenticate without using a smart card.

Here's the final script that should be equivalent to yours:

```
#!/usr/bin/env zsh

plist=/Library/Preferences/com.apple.security.smartcard

(( $( defaults read "$plist" \
enforceSmartCard 2>/dev/null )
)) && i=1 _not= ||
      i=2 _not=not

printf '%s ' The system is ${_not} configured to \
             enforce multi-factor authentication \
             >/dev/fd/$i

```
Upvotes: 1


<issue_start>username_0: I noticed WacomTabletDriver in my Activity Monitor.

I have a Wacom Tablet, which I used on a 2011 MacBookPro, but it is no longer supported.

I found [instructions to remove on Wacom's website](https://support.wacom.com/hc/en-us/articles/1500006264581-How-do-I-uninstall-and-re-install-the-Wacom-driver-on-Mac-OS-for-a-Pen-Tablet-Pen-Display-or-Pen-Computer-), but I don't have any of the apps suggested.

This is presumably a hangover from when I migrated to an iMac a couple of years ago.

How can I remove it?<issue_comment>username_1: I'd be inclined to start digging manually. If your driver setup is old & unsupported, it might also have 32-bit components you can't even run to allow them to self-uninstall. You can't install a new version for an unsupported tablet which would allow you to uninstall using the same app...

Get hold of [EasyFind](https://www.devontechnologies.com/apps/freeware) (freeware), set the search criteria in the left column to Files & Folders, Name, Phrase, Ignore Case & Invisible. Set the Location to your boot volume & the search term to `wacom`. Hit Go.

Use a bit of 'skill & judgement' to determine which really belongs to Wacom & which is provided by other apps in support of it…

[![enter image description here](https://i.stack.imgur.com/Y4RkB.png)](https://i.stack.imgur.com/Y4RkB.png)

For instance above, the entries for Studio Artist belong to that app not to the generic Wacom support. Items in `frameworks` may not allow simple removal, so trash what you can & either come back for those or if SIP stops you… ignore them. They won't ever get called if nothing needs them & they're so tiny they take up negligible space.

Reboot afterwards.

Make sure your backup is up to date before you start, but I doubt anything else in that list would hurt to remove.
Upvotes: 0 <issue_comment>username_2: After some further searching I came across a link suggesting removing files and folders that start “com.wacom” in the following:-

```
~/Library/Caches

~/Library/Container

~/Library/Preferences

```

This appeared to work, and in the process I removed a lot of dead references to 32 bit Microsoft Office files.
Upvotes: 2 [selected_answer]


<issue_start>username_0: I have a 13 inch MacBook Pro 2015 model. The Mac had Big Sur installed on the internal SSD. This internal SSD died and thanks to [macOS Recovery over the internet](https://support.apple.com/guide/mac-help/use-macos-recovery-on-an-intel-based-mac-mchl338cf9a8/11.0/mac/11.0#mchl69906860) (Option-Command-R), I managed to install El Captain on an external SSD drive.

I am trying to upgrade to Big Sur, but the option to choose my external SSD during installation is greyed out with the message

>
> "You may not install to this volume because the computer is missing a
> firmware partition".
>
>
>

Is it possible to install any macOS higher than Catalina on an external SSD?

Below is the output from the command `diskutil list`.

[![enter image description here](https://i.stack.imgur.com/wRaxv.png)](https://i.stack.imgur.com/wRaxv.png)<issue_comment>username_1: After installing El Capitan on your external SSD, you have to restart and run macOS Recovery over the internet AGAIN.

This time it will show you an option to re-install Big Sur. But before that, make sure you reformat your external SSD as APFS in disk utility first!

APFS option is available now since it was missing the first time you formatted your hard drive to install El Capitan.

You can now install Big Sur on your external SSD!
Upvotes: 2 [selected_answer]<issue_comment>username_2: **I had the same problem** when I tried to reinstall Mac OS using bootable drive ,

My external drive had two partitions :

* partition containing "installed Mac OS image". [partition type : Mac OS Extended (journaled)].
* partition two , empty one , which will be used for installing the Mac OS image . [partition type : **Mac OS Extended (journaled)**].

**what I did is:**

1. took out hard drive from device
2. connected it with Mac device
3. opened disk utility, chose external hard drive
4. Erased the empty partition and changed its' type from **Mac OS Extended (journaled)** to **APFS**

now when I returned the bootable drive to reinstall Mac OS , this message is no longer showing .
Upvotes: 2


<issue_start>username_0: I am beginning to learn to use the shell via macOS's Terminal running Zsh, and I'm finding it difficult to process all of the very tightly packed information in the commands and results.

What are the most common ways to maximize intelligibility in the shell/Terminal?

Two specific customizations I know I'd like to try:

1. How would I set up the shell to always include an extra line or a horizontal rule after each command has finished, to visually separate each command from the previous?

	* [From this answer](https://stackoverflow.com/a/49945262/10516570), I ran `PS0="\n"`, which did nothing.
	* [From this answer](https://stackoverflow.com/a/49945179/10516570), which [took me here](https://mattmazur.com/2012/01/27/how-to-change-your-default-terminal-prompt-in-mac-os-x-lion/), I ran `vi .bash_profile` from the home directory, which caused my Terminal to freak out with a bunch of lines of just `~` over and over again, so I aborted that.
2. Is there a way to customize the way paths are displayed? e.g. Instead of `path/name/example`, perhaps `path > name > example`? For very long paths with spaces in directory names, this would increase legibility to include space between each level.<issue_comment>username_1: You can customize the shell prompts in almost arbitrary ways, add newlines, format the path in different ways, print additional informations like the Git status, etc. pp.

But it's a *vast* topic that can fill a book.

Since you mentioned zsh, a popular package for that shell is [oh my zsh](https://github.com/ohmyzsh/ohmyzsh) which provides a lot of plugins for different tasks. And there are a lot of [themes with screenshots](https://github.com/ohmyzsh/ohmyzsh) available, some of them do format the path in a different way by default, similar to what you have in mind. Be aware that some of these themes require to have a [Powerline font](https://github.com/powerline/fonts) installed and selected in your terminal to render correctly.
Upvotes: 0 <issue_comment>username_2: First off, prefer `nano` or your favourite GUI text editor instead of `vi`. `nano ~/.zprofile` or `open ~/.zprofile -a TextEdit`. [Sublime Text](https://www.sublimetext.com/docs/command_line.html) and [VSCode](https://code.visualstudio.com/docs/setup/mac#_launching-from-the-command-line) have command line tools which you can add to your `PATH` and `subl ~/.zshrc` becomes less scary.

<https://stackoverflow.com/questions/11828270/how-do-i-exit-the-vim-editor>

>
> From this answer, I ran PS0="\n", which did nothing.
>
>
>

With ohmyzsh, I kept changing themes (in `~/.zshrc`) until I found the right one: `ZSH_THEME="garyblessington"`. Then got the current `PROMPT`: `echo ${PROMPT}`. And modified it to suit my liking and added it to `~/.zshrc`:

```
export PROMPT='%{$fg[cyan]%}%c%{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%}% %{$reset_color%} $'

```

There are some online PROMPT editors too that can help you visualize it or tell you which pattern to use to get, say current time.

For readability, try changing colors, font size and contrast in the Terminal Preferences.
Upvotes: 1 <issue_comment>username_3: As noted this are many things to follow.

For the default shell in recent macOS, zsh, the authors supply good documentation.

See <https://zsh.sourceforge.io/> for all of it.

Start with the User guide <https://zsh.sourceforge.io/Guide/zshguide.html>

Note however for $PATH Apple have not read the documents and have made a change so that you need to edit $PATH in .zshrc not .zshenv as stated in the zsh manual and user guide (path\_helper is called in /etc/zshrc after .zshenv is called)
Upvotes: 1 <issue_comment>username_4: This is really in addition to the other answers, which have great info, and not a perfect answer in itself.

Try Starship - <https://starship.rs/>

It's a new prompt tool that the shell calls, and has some great options, including good defaults.

One of the first config examples they give is adding new lines - FYI. The following entroies are the the configuration file for starship - usually ~/.config/starship.toml You will first need to edit your zsh startup files as noted in the installation instructions.

```
# Inserts a blank line between shell prompts
add_newline = true

```

And, the direction option allows for automatic truncation: <https://starship.rs/config/#directory>

```
[directory]
truncation_length = 8
truncation_symbol = "…/"

```

You'll also want to follow some other advice and do things like get some nice powerline fonts, get a nice color scheme (personally I like [Solarized](https://ethanschoonover.com/solarized/)), and maybe try [iTerm](https://iterm2.com/) as well.
Upvotes: 1 <issue_comment>username_5: Note that zsh is different from bash. Their scripting languages are similar (but they do have a few important differences), but the way most interaction features are configured (initialization files, prompt, command history, key bindings, etc.) is very different. Generally speaking, if you're using zsh, ignore configuration advice about bash (and vice versa).

The [main configuration file for zsh](https://zsh.sourceforge.io/Doc/Release/Files.html#Startup_002fShutdown-Files) is `.zshrc` in your home directory. Zsh reads it when it starts (only when it's running interactively in a terminal, not when it's running a script). This is the place to configure prompts, completion, aliases, key bindings, etc.

>
> I ran `vi .bash_profile`
>
>
>

`vi` is a text editor which is absolutely not newbie-friendly. Whenever you see instructions to use `vi`, take it as “edit this text file”, and feel free to use any text editor you like.

---

>
> How would I set up the shell to always include an extra line or a horizontal rule after each command has finished, to visually separate each command from the previous?
>
>
>

The text that the shell displays before the command that you type is called the *prompt*. The basic way to configure the prompt is through the variable [`PS1`](https://zsh.sourceforge.io/Doc/Release/Parameters.html#index-PS1). The content can be very complex, taking advantage of [prompt escape sequences](https://zsh.sourceforge.io/Doc/Release/Prompt-Expansion.html#Prompt-Expansion) and more. There are whole frameworks that make it easier to customize the prompt, including a built-in [prompt theme facility](https://zsh.sourceforge.io/Doc/Release/User-Contributions.html#Prompt-Themes) as well as many third-party frameworks.

For something simple like displaying a blank line before each prompt, it's easy to do manually. Put this line in your `.zshrc`:

```
PS1=$'\n'$PS1

```

What this means:

* `PS1=…` is an [assignment](https://zsh.sourceforge.io/Doc/Release/Parameters.html#Parameters). It changes the value of the variable `PS1` to what's on the right of the equal sign.
* `$'…'` is one of several forms of [quoting](https://zsh.sourceforge.io/Doc/Release/Shell-Grammar.html#Quoting). Inside `$'…'`, the backslash character allows you to specify non-printing characters, like with [`echo`](https://zsh.sourceforge.io/Doc/Release/Shell-Builtin-Commands.html#index-echo). `\n` stands for a newline character.
* `$PS1` takes the current value of the variable `PS1`.

Note that this adds a blank line each time you run the command, so if you run it twice, you'll get two blank lines.

>
> Is there a way to customize the way paths are displayed?
>
>
>

If you mean changing the way the current directory is typeset in the prompt, then yes, because you can run arbitrary code to choose what goes into the prompt. I wouldn't recommend it, however, because you can't customize the way paths are presented in other places, and you can't type paths in another way. Note also that anything you do there is likely to interfere with other prompt customizations.

I'm going to assume that you've customized your prompt manually, by setting `PS1`, and that you use the `%~` [prompt escape sequence](https://zsh.sourceforge.io/Doc/Release/Prompt-Expansion.html#Shell-state) to have the current directory in the prompt with `~` standing for your home directory.

Enable the [`prompt_subst`](https://zsh.sourceforge.io/Doc/Release/Options.html#index-PROMPT_005fSUBST) option. This lets you use variables inside the prompt specification. For example, the following snippet in `.zshrc` causes the prompt to display the current directory and `%` (or `#` for the root user), similar to `PS1='%~ %# '`:

```
setopt prompt_subst
PS1='${(D)PWD//\%/%%} %# '

```

* We assign to the prompt with `PS1='…'`. Everything inside single quotes is interpreted literally: no expansion takes place, so the value of `PS1` is the 13-character string `${PWD//\%/%%}`. We do this so that `${PWD//\%/%%}` is evaluated each time the prompt is displayed (in contrast, `PS1=${PWD//\%/%%}` would set `PS1` once and for all based on the current directory at the time of the assignment).
* The [`PWD`](https://zsh.sourceforge.io/Doc/Release/Parameters.html#index-PWD) variable contains the full path to the current directory. Zsh updates it automatically whenever the current directory changes. `$PWD` or `${PWD}` is the value of the `PWD` variable.
* `${(D)PWD}` applies the [parameter expansion flag](https://zsh.sourceforge.io/Doc/Release/Expansion.html#Parameter-Expansion-Flags) `D` to the value of `PWD`. The effect of this flag is that if the path starts with your home directory, it's replaced by `~`. This is similar to what `%~` does.
* `${VARIABLE//…/…}` is a form of [parameter expansion](https://zsh.sourceforge.io/Doc/Release/Expansion.html#Parameter-Expansion) that replaces one string by another in the value. Specifically, we use `${(D)PWD//\%/%%}` which replaces every `%` by `%%`. The backslash before the left-hand `%` is necessary because a bare `%` in this position would have a special meaning. We do this because with `prompt_subst` enabled, the values of variables used in the prompt are themselves subject to prompt expansion, i.e. if they contain a `%` character, it starts a prompt escape sequence. So `PS1='$PWD'` would do strange things if the path to the current directory happens to contain `%`.

Now we can build on this to change how the path is displayed. The following snippet uses the `%B` and `%b` [prompt expansion flags](https://zsh.sourceforge.io/Doc/Release/Prompt-Expansion.html#Visual-effects) to cause slashes in the path to appear in bold. We use another `${…//…/…}` replacement, this time to replace `/` by `%B/%b` (start bold, `/`, stop bold).

```
setopt prompt_subst
PS1='${${(D)PWD//\%/%%}//\//%B/%b} %# '

```
Upvotes: 2 <issue_comment>username_6: There are some great general answers, but here's a specific suggestion: **use reverse video for the prompt**.

For zsh, add something like this in your .zlogin file:

```
export PS1="%S%~>%s "

```

`PS1` is the shell variable used to generate the prompt.  `%S` and `%s` set and clear reverse video.  (They should work for all terminal types.)  The part between shows the current directory, followed by `>`; tweak that if you want the hostname, name of the shell, and/or anything else; see some of the other answers and their links.  (The format is specific to zsh; there are equivalents for other shells.)

That makes prompt lines stand out very clearly to me — without taking any more screen space, or adding too much visual ‘noise’.  (And it's easy to tweak — for example, you can change the colour as a visual reminder when you're root or on a production server.)

I've used this sort of prompt on many different machines for decades — I can't see why it's not standard :-)
Upvotes: 1


<issue_start>username_0: I started using tab groups in Safari on Mac but now every time I click a link in another app it opens a completely new Safari window. Is it possible to get it to use the same window?

Edit: Just to clarify, if I click a link in some app it opens a new window with a single tab in it. If I click a new link it will open a tab in that window. What I want is the first link to open in any already open Safari windows.<issue_comment>username_1: Workaround: drag the link from the external application onto the "new tab" (+ icon) at the top of the preferred Safari window. The link will open in a new tab in this (tab group or other) window.
Upvotes: 3 <issue_comment>username_2: **Safari** > **Preferences** > **Tabs**

**Open pages in tabs instead of windows:** Always

[![Preference](https://i.stack.imgur.com/Oh6Tb.png)](https://i.stack.imgur.com/Oh6Tb.png)

I also searched for a long time how to solve the problem.

It works for me!
Upvotes: 0 <issue_comment>username_3: I managed to improve the situation slightly by using Keyboard Maestro. I made a macro that move the newly opened window to my already opened tab group.

[![enter image description here](https://i.stack.imgur.com/AVJiv.png)](https://i.stack.imgur.com/AVJiv.png)

[![enter image description here](https://i.stack.imgur.com/U11wD.png)](https://i.stack.imgur.com/U11wD.png)
Upvotes: 2 <issue_comment>username_4: The focus mode filter in macOS 14 allows opening external links in selected Focus Tab Group or Profile in Safari.

```
System Settings > Focus > SELECTED_FOCUS_MODE > Focus Filters > Safari > Allow opening external links in your Focus Tab Group - On

```

[![enter image description here](https://i.stack.imgur.com/yS2t6.png)](https://i.stack.imgur.com/yS2t6.png)

It could be better, such as opening in the same tab group on default, but it's Apple.
Upvotes: 2


<issue_start>username_0: I have my phone set up to use large text to reduce eye strain.

Most apps work fine but Screen Time daily graph is unreadable because the numbers on the X-axis overlap:

[![Screen Time screenshot](https://i.stack.imgur.com/bUdpU.jpg)](https://i.stack.imgur.com/bUdpU.jpg)

(My morning alarm was going off when I took the screenshot, that's why it says "Rise and shine" at the top.)

How can I find out what time I stopped using the phone last night?

I don't want to fiddle around with making the text small / large every time I want to go into Screen Time. What are my options for getting this fixed? Seems like an accessibility issue...

I just want to find out what time I put down the phone last night.<issue_comment>username_1: As @anki suggested, I can find out what time I stopped using my phone by checking battery level history:

[![screenshot of battery level history](https://i.stack.imgur.com/WXG7nm.jpg)](https://i.stack.imgur.com/WXG7nm.jpg)

Yesterday I didn't use my phone after 10 PM.

The activity graph is completely readable.
Upvotes: 1 [selected_answer]<issue_comment>username_2: As a workaround until Apple fixes this bug you can change the text sIte more easily by going to Settings > Control Center and enable "Text Size".

This way you can control the text size from Control Center (and also change it only for the Settings App).
Upvotes: 1


<issue_start>username_0: **Edit:** macOS Monterey have issues with USB Hubs. You can watch topic from here: <https://developer.apple.com/forums/thread/683409>

I’m using macOS Monterey 12.0.1 with Apple Silicon M1 iMac 24".

I bought Hama USB-C Hub, Multiport, 5 Ports, 2 x USB-A, USB-C, HDMI™, LAN/Ethernet (GTIN: 4047443436818) from Turkey at last month. As I read on both technical specifications and user manual, the USB-C port on device is bi- directional; it both supports PD and data transfer.

[![enter image description here](https://i.stack.imgur.com/d4CmA.jpg)](https://i.stack.imgur.com/d4CmA.jpg)

I tested this functionality both Windows 10 & 11 and macOS with M1 (Apple Silicon) chip. On Windows , the port works bi-directional perfectly. However, Apple Silicon device not support data transfer from port, supports only power delivery. If I connect a USB-C device from mac port directly, it runs perfectly.

How can I tell if the fault is with my Apple silicon Mac or or caused a broken hub ?<issue_comment>username_1: I use several USB-C and Thunderbolt 3 and Thunderbolt 4 hubs and they work for data transfer like you report with windows. The hubs work on macOS and windows and it doesn’t matter M1 or Intel cpu for our hubs. I don’t have a Hama to test, though.

I’m using Anker and CalDigit hubs mostly for work.

Not all USB cables and ports are certified, so I would start with trying a different hub or cable if you have them. If not, you will need some extra skills to read the system logs and/or reach out to vendor support.

* Apple will likely ask you to update your Apple software and check with the vendor.
* The vendor will likely ask you to check with Apple.

Keeping good notes on the OS version and open system profiler to get details on the USB device will help if you end up crowd sourcing if your specific vendor, device firmware work with specific macOS version.
Upvotes: -1 <issue_comment>username_2: I realized that I attached the hub to USB & ThunderBolt 4 port. Due to my M1 iMac cannot charged with PD, USB controller closes this port I think. After connecting the hub to USB-C 3.2 port, USB-C port on the hub was started working. This is not an issue, it causes from misunderstanding how the iMac ports behave. **After few days, USB-C port on Hub disabled again. Changing the port of Hub a few days apart is the the only solution right now.**
Upvotes: 1 [selected_answer]