Mac: Difference between revisions

From 太極
Jump to navigation Jump to search
 
Line 2,125: Line 2,125:
<ul>
<ul>
<li>https://mac.getutm.app/
<li>https://mac.getutm.app/
* We can use pre-configured VMs from https://mac.getutm.app/gallery/. To do that, click the "Open in UTM" button, not "Download".
* We can use pre-configured VMs from the [https://mac.getutm.app/gallery/ Gallery] page. After we pick an OS, click the "Open in UTM" button, not "Download".
* The VM will be saved automatically in the '''~/Library/Containers/com.utmapp.UTM/Data/Documents/''' folder.
* The VM will be saved automatically in the '''~/Library/Containers/com.utmapp.UTM/Data/Documents/''' folder.
* The VM (say Debian 12.utm) is actually a folder, not a file.
* The VM (say Debian 12.utm) is actually a folder, not a file.

Latest revision as of 16:21, 27 February 2025

macOS

https://en.wikipedia.org/wiki/MacOS

Darwin (operating system) and release history (first is September 30, 2015). Check the current machine's build number About this Mac > System Report > Software. I found after I installed the latest updates, the available disk space is increased.

Find OS version by command line

$ sw_vers
ProductName:	Mac OS X
ProductVersion:	10.11.6
BuildVersion:	15G1004

$ sw_vers -productVersion
10.11.6

How to differentiate Linux and Mac

Use uname (unix name) with -s (system name) flag

# Mac
$ uname -s
Darwin

# Linux
$ uname -s
Linux

BSD and Linux

Darwin, MacOS, OpenSource?

http://superuser.com/questions/19492/is-mac-os-x-open-source. Darwin is like Linux, FreeBSD, etc... Mac OS X GUI is like KDE, GNome, etc...

Apple Open Source https://opensource.apple.com/. It includes Kernel, macOS, Developer Tools, etc.

Partition format

fdisk will show it is HFS/ HFS+. Ubuntu OS can read but can't write to it.

/dev/sdb1  *       64 250675199 250675136 119.5G af HFS / HFS+

However, I got a problem when I run cp command.

$ ls -l /media/brb/SamsungUSB/
-rw------- 1 99 99 10592270336 Feb 26 09:45 macSierra.ova
-rw-r--r-- 1 99 99  6922018816 Feb 15 14:40 Sierra10.12.3.iso
$ md5sum '/media/brb/SamsungUSB/macSierra.ova' 
md5sum: /media/brb/SamsungUSB/macSierra.ova: Permission denied

$ sudo chown brb /media/brb/SamsungUSB/macSierra.ova 
chown: changing ownership of '/media/brb/SamsungUSB/macSierra.ova': Read-only file system

Some suggestion is to disable journaled file system as this.

But I found the problem should be resolved in macOS. That is, running 'sudo chmod 644' on the file from an Mac computer.

How to partition

Disk space

Three ways to find out

  1. About this mac (eg 338GB available out of 499.96GB)
  2. Finder -> Macintosh HD -> Get Info (eg Available 338GB, used 159GB)
  3. df -hl command (the sum of the following example is 153GB) ["-l" show local file systems only]

Beta version of macOS

How to get the new version of macOS 10.13

Download macOS installers

How to Download Full MacOS Installers the Easy Way with MDS

The download speed is good when I tried to download Big Sur 11.4. The file <Install_macOS_11.4-20F71.dmg> took 12.45GB.

How to Convert Disk Image Between .DMG and .ISO Format on Mac OS X.

hdiutil makehybrid -iso -joliet -o ~/Desktop/filename.iso ~/Desktop/filename.dmg

Preferences

Set all app windows to close when quitting apps

https://support.apple.com/guide/mac-help/quit-apps-mchl834d18c2/mac. I need this for the Preview app. But it does not work. The command line way 'defaults write com.apple.Preview ApplePersistenceIgnoreState -bool no' does not help either.

Single click to reveal desktop/hide all apps

How to turn off macOS Sonoma 'click to reveal desktop': switch off the most annoying change in Mac update history

Stage manager

Use Stage Manager to organize apps and windows on Mac

Privacy: camera, microphone, share desktop in Webex

Camera location: Roughly 1/2 inch to the right of the camera. You cannot see it because it is covered with a tinted and transparent plate. If you want to experiment and confirm then operate your computer in a bright area and note the screen brightness.

To test the built-in camera on Mac we can use Photo Booth, FaceTime, ...

Catalina / WebEx Cannot share Desktop or Apps or Support for Cisco Webex Meetings for macOS Catalina. Check your Systems Preferences > Security & Privacy > Privacy settings. Click the lock to make changes - and enter your password. Check the box next to Cisco WebEx for all of the following:

  • Camera
  • Microphone
  • Input Monitoring
  • Full Disk Access
  • Screen Recording

Screen Sharing in Cisco Webex Meetings Virtual Desktop App

Share Content in Cisco Webex Meetings and Cisco Webex Events

I'm Hearing an Echo of My Voice in the Audio Conference

Energy Saver

Multiple desktops

Mission Control 101: How to Use Multiple Desktops on a Mac

Dashboard

Finder window relocating to different Space Desktop

Right click on the Finder icon in the dock. Select "Options" then under "Assign to" select "This Desktop". See this.

How to prevent Mac from changing the order of Desktops/Spaces

How to prevent Mac from changing the order of Desktops/Spaces

Universal Control, Sidecar

How to Switch From Universal Control to Sidecar on a Mac and iPad

Second screen: Deskreen (cross platforms)

Split screen

4 Features That Make It Easy to Work With Multiple Apps on a Mac

https://support.apple.com/en-us/HT204948

  1. Hold down the full-screen button in the upper-left corner of a window.
  2. As you hold the button, the window shrinks and you can drag it to the left or right side of the screen.
  3. Release the button, then click another window to begin using both windows side by side.

Click the green button to exit the split mode (and entering the full screen mode).

Black screen with cursor

After I opened the lid to wake it up and type my password, the screen kept black with a cursor only. My solution: hold the power button for a few seconds and the screen will pop us a dialog asked me for a few options. I choose 'restart' and the desktop is back. Later it shows Your Mac hasn't restarted because RStudio failed to quit. To continue restarting, quit RStudio. If I clicked 'Try again', the Mac will re-start.

https://www.cnet.com/news/macbook-pro-blank-screen-on-wake-from-sleep-2-fixes/

Sleep wake failure

Catalina 10.15.3. Screen is black.

Booting problem

How to Repair Your Mac’s Disk Using Safe Mode, fsck, and More

Shut down randomly

Your Mac Keeps Shutting Down Randomly? Here's What You Can Do

Boot keys and backup

WindowServer process takes a lot of memory

When no my own applications are running, macOS already took 6GB RAM 😕

MacOS 10.15.3, WindowServer uses 780MB.

What Is the Process WindowServer, and Why Is It Running on My Mac?

How to Reduce WindowServer's CPU Usage on Mac

docker for mac memory usage in com.docker.hyperkit

docker for mac memory usage in com.docker.hyperkit. the Real Memory usage is much lower than what you see in the "Memory" column in Activity Monitor.

Emoji

  • Click Flag on the toolbar -> Show emoji and symbols
  • Control + command + space bar

Automator

Reset password

How to Reset MacOS Password with Terminal

Uptime

  • For some reason, the output of uptime is not correct at all.
  • (this works) Click the Apple menu icon on the bar at the top of your screen, hold down the Option key, and click System Information. Scroll down in the left pane, select Software, and look for “Time since boot” to see your Mac’s uptime.

Relocated Items folder on your Mac after upgrading macOS

If you see a Relocated Items folder on your Mac after upgrading macOS

/Users/Shared/Relocated Items/

OS X File System

Home directory

/Users/USERNAME

The following is the default directories under $HOME.

$ ls ~/
Applications	Documents	Library		Music		Public	
Desktop		Downloads	Movies		Pictures

See also How to reclaim the /home directory.

/ (root) directory

Some directory may be hidden. See http://www.westwind.com/reference/OS-X/invisibles.html

$ ls -l /
total 45
drwxrwxr-x+ 62 root  admin  2108 Feb 15 12:41 Applications
drwxr-xr-x+ 69 root  wheel  2346 Feb  9 11:02 Library
drwxr-xr-x@  3 root  wheel   102 Feb  9 08:47 Network
drwxr-xr-x@  4 root  wheel   136 Sep 16 17:07 System
drwxr-xr-x   7 root  admin   238 Feb  7 15:32 Users
drwxrwxrwt@  4 root  admin   136 Feb 15 13:32 Volumes
drwxr-xr-x@ 39 root  wheel  1326 Jul  8  2016 bin
drwxrwxr-t@  2 root  admin    68 Sep 16 16:59 cores
dr-xr-xr-x   3 root  wheel  4311 Feb  9 08:47 dev
lrwxr-xr-x@  1 root  wheel    11 Sep 16 16:59 etc -> private/etc
dr-xr-xr-x   2 root  wheel     1 Feb 14 15:31 home
-rw-r--r--@  1 root  wheel   313 Aug  2  2015 installer.failurerequests
dr-xr-xr-x   2 root  wheel     1 Feb 14 15:31 net
drwxr-xr-x@  3 root  wheel   102 Feb  9 14:58 opt
drwxr-xr-x@  6 root  wheel   204 Sep 16 16:59 private
drwxr-xr-x@ 59 root  wheel  2006 Sep 16 16:59 sbin
lrwxr-xr-x@  1 root  wheel    11 Sep 16 16:59 tmp -> private/tmp
drwxr-xr-x@ 12 root  wheel   408 Feb  9 11:02 usr
lrwxr-xr-x@  1 root  wheel    11 Sep 16 16:59 var -> private/var

Library folder & show hidden files/folders

6 macOS Folders You Can Safely Delete to Save Space

https://www.makeuseof.com/tag/macos-folders-delete-save-space/

5 macOS Folders You Should Never Touch

5 macOS Folders You Should Never Touch (And Why)

Tune Up Your Mac for Best Performance

10 Easy Ways to Tune Up Your Mac for Best Performance

  1. Clear Some Free Space
  2. Check Activity Monitor
  3. Reduce Your Login Items
  4. Run A Scan For Malware
  5. Empty The Caches
  6. Run First Aid On Your Disk
  7. Disable System Animations
  8. Speed Up Your Browser
  9. Reindex Spotlight
  10. Update Your Apps

Temp Folder

Where’s the Temp Folder on Mac OS? How to Find & Open the Mac Temporary Directory

  • echo $TMPDIR (/var/folders/XX/RANDOMCHARACTERS/T). Note: R's tempdir() will create a subfolder in OS's $TMPDIR.
  • /tmp (which links to /private/tmp)
  • ~/Library/Caches/TemporaryItems/ (not found on Mojave)

/Volumes and Machintosh HD directory

Macintosh HD is just a symbolic link to / (root) on your system; that is done in /Volumes.

$ ls -l /Volumes/
total 8
lrwxr-xr-x  1 root  admin    1 Feb  9 08:47 Macintosh HD -> /
drwxrwxr-t  8 root  admin  340 Jan 18 14:06 OS X Install ESD

/Users/Shared folder

macOS Sierra: Share files with others who use your Mac

Format SD card as FAT

Use SD Memory Card Formatter (Windows and mac only). See NOOBS.

How to Format an SD Card on Your Mac

rsync

The built-in rsync utility is too old (it does not support multiple files by using curly braces from remote server). Use brew install rsync to get a new one.

Mac File System

Which Mac File System Is Best for an External Drive?

Ext4: macFUSE

ExFat: Best drive/partition format to share data between Mac, Linux and OS X

http://superuser.com/questions/398190/what-is-the-best-drive-format-to-share-data-between-mac-linux-and-os-x

  • Mac OS doesn't support writing to NTFS drives.
  • Mac OS can't find ext3/ext4 partition. See some solutions How can I mount an ext4 file system on OS X?
  • NTFS and REFS are a bad choice because Linux and Mac can't properly decode it
  • Ubuntu does not support exFAT by default. To get exFAT support, run sudo apt-get install exfat-fuse exfat-utils
  • exFAT doesn't support symlinks. So the Illumina igenomes data won't work on exFAT partitioned drive.
  • Fat32 has a 4GB single file limit and 2TB partition size.
  • In one case when my NTFS partition (USB drive) is broken, it becomes a format called 'RAW' shown on Windows Disk Management utility.
  • It is easy to create exfat partition format on Windows 7. When I move the USB drive to a Linux machine, fdisk -l shows
$ sudo fdisk -l /dev/sdc
WARNING: GPT (GUID Partition Table) detected on '/dev/sdc'! The util fdisk doesn't support GPT. Use GNU Parted.

Disk /dev/sdc: 123.6 GB, 123633401856 bytes
255 heads, 63 sectors/track, 15030 cylinders, total 241471488 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x5b508967

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048   241469439   120733696    7  HPFS/NTFS/exFAT

For some reason using Disk Utility to erase/format a 16GB USB drive to ExFat failed (Media kit reports not enough space on device). Fortunately the command line method works (and fast at least for the 16GB space case).

diskutil list     # get the name to the disk you're trying to format
diskutil unmountDisk force disk2
sudo dd if=/dev/zero of=/dev/disk2 bs=1024 count=1024 # use bs=4000000 and skip count for an alternative
diskutil partitionDisk disk2 GPT ExFat "toshiba" 0g

use dd command to burn an ubuntu image

The bs parameter on Mac should be 4m instead of 4M.

The USB drive will not be able to start. It will give an error in GRUB step: illegal numeric value. This is tested on Ubuntu 18.04

Find partition type

df -hT

blkid /dev/sda1

mount

sudo file -sL /dev/sd*

sudo fdisk -l

rsync: mkstemp FILENAME failed: Function not implemented (38)

http://blog.marcelotmelo.com/linux/ubuntu/rsync-to-an-exfat-partition/

# Do not use 'rsync -av SRC DEST'

# Use
rsync -rltDv  --info=progress2 SRC DEST

APFS Volume

Add a volume

What Is a Volume and How Do You Add One to the Drive in a Mac?

Delete an APFS volume

How to Delete an APFS Volume from Mac

Install MacOS Catalina Beta on APFS Volume to Dual Boot with Mojave

How to Install MacOS Catalina Beta on APFS Volume to Dual Boot with Mojave

What is the “wheel” user in OS X?

wheel is the system administrator group in BSD, much like root is the system administrator user. See http://superuser.com/questions/191955/what-is-the-wheel-user-in-os-x

/bin/sh and /bin/bash differences

https://discussions.apple.com/thread/3177477?start=0&tstart=0

How to Auto-Hide the Dock With No Delay

http://www.makeuseof.com/tag/auto-hide-dock-no-delay-mac/

Customize the Time and Date in the Mac Menu Bar

How to Customize the Time and Date in the Mac Menu Bar

Hide username from menu bar

https://apple.stackexchange.com/questions/57712/hide-username-from-menu-bar/57715. The other options are to show full name or icon only.

Menu bar color in macOS 14

MacOS Sonoma Menu bar color. Settings - Wallpaper - Colors.

Move icons in the menu bar

Hold the CMD key and then click and drag the icon.

What Does a Green or Orange Dot in the Menu Bar Mean

macOS Monterey: What Does a Green or Orange Dot in the Menu Bar Mean? Green color means an app is using the camera, and orange color means the mic is used.

Move icons in the Dock

drag and drop QUICKLY. Another trick is to drag the icon out of the Dock and put it back somewhere in the Dock.

Extract icons from Mac apps

How to Extract a High Quality Icon From a Mac App

Move a window when the titlebar is not available

https://apple.stackexchange.com/a/231924 If you move the mouse to the right/left edge until you see the horizontal resize icon, then dragging vertically will allow you to move the window instead of resizing. Same goes for the bottom edge resize cursor + horizontal drag (Tested. It works.)

How do I move a window whose title bar is off-screen?

In the case of P4merge's Preference, we just need to maximize the window to see the Cancel & OK buttons.

Don't show recent applications in Dock in Mojave

macOS Mojave: Turn Off Recent Applications to Remove Extra Dock Icons

Minimize windows into application icon

macOS: Tips on Minimizing Windows into the Dock

Connecting to WiFi but no internet

My case:

  • Forget and reconnect my wifi does not help.
  • ping google.com not working but ping 1.1.1.1 works. Change DNS by Preferences - Network - Advanced - DNS by adding 1.1.1.1. Now Chrome works but Outlook or Webex is still not working?? Reboot. Everything is fine.

How can I list my open network ports with netstat?

http://apple.stackexchange.com/questions/117644/how-can-i-list-my-open-network-ports-with-netstat

The 1st column shows the command/program name.

sudo lsof -i -P | grep -i "listen"

nmap localhost
sudo lsof -P -i TCP -s TCP:LISTEN | grep XXXXX

Ethernet status icon

Consider "Ethernet Status" app. Horizon icon in bright color shows the ethernet is connected and grey color shows the ethernet is not connected. Free version works fine and the full version costs $1.99. See the discussion.

Another way is to open "Network Utility" from Spotlight or /System/Library/CoreServices/Applications.

The third way is just open "Network" from System Preferences.

Root account vs admin account

SMB network file sharing

.DS_Store file

Consequences of deleting .DS_Store. In most cases nothing will happen if you delete them, or at worst custom Finder view settings (icon size, position, background color, etc) will be lost.

@ sign in file attributes

# seqtools-dl is a folder extracted from the SeqTools zip file.

# Case 1. the zip file is downloaded through a browser
brbs-iMac:~ brb$ ls -l@ Documents/seqtools-dl/SeqTools.app/Contents/MacOS/code
total 176
-rwxr-xr-x  1 brb  staff  18229 May 15 09:15 createGeneListSNPEFF.sh
-rwxr-xr-x  1 brb  staff   1550 Oct 24  2016 gdown.pl
-rwxr-xr-x  1 brb  staff   4214 May 15 09:15 gdown_mac.sh
-rwxr-xr-x  1 brb  staff  22264 May 15 09:15 statsVariantGeneAnno_Auto.sh
...

# Case 2. the zip file is obtained through the scp command
brbs-iMac:~ brb$ ls -l@ Downloads/seqtools-dl/SeqTools.app/Contents/MacOS/code
total 176
-rwxr-xr-x@ 1 brb  staff  18229 May 15 09:15 createGeneListSNPEFF.sh
	com.apple.quarantine	   57
-rwxr-xr-x@ 1 brb  staff   1550 Oct 24  2016 gdown.pl
	com.apple.quarantine	   57
-rwxr-xr-x@ 1 brb  staff   4214 May 15 09:15 gdown_mac.sh
	com.apple.quarantine	   57
-rwxr-xr-x@ 1 brb  staff  22264 May 15 09:15 statsVariantGeneAnno_Auto.sh
	com.apple.quarantine	   57
...

"App" is not optimized for your Mac and needs to be updated

32-bit app compatibility with macOS High Sierra 10.13.4 and later

Uninstall a program

How to Uninstall Programs on Mac

Case sensitive

In R, it seems to be case insensitive. load("file.Rdata") or load("file.RData") or load("file.rdata") works fine.

Create a Bootable macOS Installer

Make sure you use a USB flash drive or other removable media that has at least 12GB of available disk space.

sudo /Applications/Install\ macOS\ Sierra.app/Contents/Resources/createinstallmedia \
     --volume /Volumes/usb16g --applicationpath /Applications/Install\ macOS\ Sierra.app

Reboot, holding down the OPTION key and selecting the “Install OS X Sierra” drive upon boot..

免 USB 開機碟,重灌最原始乾淨的 Mac 系統

https://www.kocpc.com.tw/archives/308906. 唯一缺點是必須處於有網路的環境下.

How to Run macOS Mojave in Parallels For Free

https://www.howtogeek.com/364272/how-to-run-macos-mojave-in-parallels-for-free/

Install to a USB drive

To boot from your external Sierra drive, plug it into the Mac in question, press the power button, and hold the Option key until the recovery disk screen appears. From there, you can select your external drive and click the arrow to boot into it for that session.

How to Install and Use macOS Sierra on an External Drive

https://www.howtogeek.com/293476/how-to-install-and-use-macos-sierra-on-an-external-drive/

How to Burn OS X El Capitan to a USB Flash Drive

http://lifehacker.com/how-to-burn-os-x-el-capitan-to-a-usb-flash-drive-1733425133

Install, Boot, and Run Mac OS X From an External Hard Drive

Pressing the Option key on boot displays a list of your Mac’s bootable drives.

Terminal

Where is the terminal

Macintosh HD/Applications/Utilities/Terminal.

Message of the Day

Change the Terminal Message of the Day in Mac OS X. In my case, I just did mv /etc/motd /etc/motd.bak and I will not receive the annoying message.

Mouse pointer

A temporary solution is to hold the 'Alt' key while moving the mouse in the terminal. This strategy also works on RStudio's code panel.

Another solution is to use iTerm2 instead.

Keyboard symbols

Alt key

What Is the Alt Key on Mac? A Complete Guide

Option key

New to Mac? The Option Key Is the Most Important Key You Don't Know About

Keyboard shortcuts

The Mac Terminal Commands Cheat Sheet

  • going to the beginning of the line
    • Cmd + left arrow
    • fn + left arrow
    • Ctrl + a (may conflict with the Prefix key I use for tmux)
  • going to the end of the line
    • Cmd + right arrow
    • fn + right arrow
    • Ctrl + e (may conflict with the Prefix key I use for tmux)
  • fn + Down arrow = page down
  • fn + Up arrow = page up

fn/global key

Shell

Check the current shell and the default shell

echo $0      # current shell

echo $SHELL  # default shell

On my 10.14.X, it returns /bin/sh. On 10.15.X, the default will be zsh; see Apple replaces bash with zsh as the default shell in macOS Catalina.

Change the default shell

http://osxdaily.com/2012/03/21/change-shell-mac-os-x/. Open 'Terminal' and click CMD + ",". Click the tab "Shell". On Startup, check "Run command" and type, for example, /bin/bash. Uncheck "Run inside shell". Quit terminal and open it again. It will go straight to the bash shell.

Note that after the change, iTerm app will also have the new default shell after it has restarted.

How to Change the Default Shell to Bash on macOS Catalina

Change default shell to bash on Macos Catalina

Oh My Zsh

How to Uninstall Oh My Zsh on Mac

Changing Your Shell Temporarily

Changing Your Shell Temporarily

Bash vs Zsh

Rename terminal tabs

Click the “Shell” menu and select “Edit Title” to bring up the Terminal Inspector window

Terminal replacement: iTerm2

iTerm2. GPL2 license. Source code is in github.

  • (Update 5/14/2018) Copy from RStudio to iTerm2 R console may mess up. Don't find a solution yet.
  • Save window/tabs on exit?. Works.
  • The HOME/END keys work when I work in a virtual machine. To change font size, go to Preferences -> Profile -> Text -> Font or just use the keyboard shortcut Command + +/-.
  • Copy won't include the background color.
  • We can change the cursor color from grey to anything (Preferences -> Profile -> Colors -> Cursor Colors).
  • It can display image on its terminal using their own utility imgcat. After downloading it, chmod +x and then move it to /usr/local/bin directory.
  • iTerm2 Leaks Everything You Hover in Your Terminal via DNS Requests (9/20/2017)

How I'm still not using GUIs in 2019: A guide to the terminal by Lucas F. Costa

Keyboard shortcuts

Save/restore tabs

How can I save tabs in iTerm 2 so they restore the next time the app is run?

Difference between Login Shell and Non-Login Shell?

https://unix.stackexchange.com/a/46856

Shell integration

From my testing, right click menu's "Download with scp" has been greyed out for some unknown reason.

But it can remember directories from open tabs when I quit and restart 'iTerm2'.

Change the title to the current directory

For iTerm2, how do I make the working directory appear in the window title?. The first example below will show the current directory on the title and the 2nd example will show the full path.

echo -n -e "\033]0;${PWD##*/}\007"

echo -ne "\033]0;$PWD\007"

This will work one time. If we switch to another directory, we need to run the command again. Besides, it keeps showing the characters "-ne" after each command.

The follow method can change the title dynamically based on the current directory. The problem is if the prompt already contains the current directory why do we worry about the window's title.

export PROMPT_COMMAND='echo "\033]0;${PWD##*/}\007"'

PS1

If I give PS1="\[\w$ " it will change my prompt from

NCI-12345678-ML:bdge USERNAME$

to

~/github/bdge$ 

where the new one is probably better. We can replace \w with \W to get the directory basename instead of the full path.

The default PS1='\h:\W \u\$ ' is defined in /etc/bashrc.

My El Capitan, I need to create a new file ~/.profile (not in ~/.bash_profile) and put the command there.

export PS1="\w (\!)\$ "

The following choice will not show the hostname nor the current directory name. However the current iTerm2 (version 3.3.0) can show the current directory in the status bar. Preferences > Profiles > Session > Configure status bar (at the bottom of the GUI). export PS1='$ '

See

Color

By default "ls" 1) does not distinguish the colors for files and folders, 2) "ls -G" will shows a very dark blue color for folders. The remedy is Changing color of folders, files, execs on iTerm2

  • add alias ls="ls -G" to .zshrc
  • modify the iTerm2 settings - Profiles - Color. I change the "Normal" blue color in ANSI Colors to "0095ff".

Meta key and nano

https://stackoverflow.com/a/197092 Go to Preferences -> Profiles -> Keys and choose Left option Key acts as: +Esc. This allows me to use 'Option + n' to toggle line numbering.

Infinite scroll back

Preferences -> Profiles -> Terminal -> check the option of "Unlimited scroll back"

iTerm2 + tmux

Remember to change the preference in order to use mouse/touchpad for copy/paste. See Linux > tmux.

iTerm2 + .bashrc + .profile

.bashrc not sourced in iTerm + Mac OS X. Create/edit the file ".profile" and put "source ~/.bashrc". Quit and open iTerm2.

The same trick can be used for ".zshrc" file. By default there is no ".bashrc" nor ".zshrc" file.

This is useful if I want to have colored man page.

Customize the zsh Prompt in the macOS Terminal

My .zshrc

export LESS_TERMCAP_mb=$'\e[1;32m'
export LESS_TERMCAP_md=$'\e[1;32m'
export LESS_TERMCAP_me=$'\e[0m'
export LESS_TERMCAP_se=$'\e[0m'
export LESS_TERMCAP_so=$'\e[01;33m'
export LESS_TERMCAP_ue=$'\e[0m'
export LESS_TERMCAP_us=$'\e[1;4;31m'
alias ls="ls -G"
alias grep="grep --color"
alias sshnokey='ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no'
alias scp="scp -p"
alias rsync='rsync --exclude=".*"  --exclude="~*"'
# PROMPT='%F{cyan}%n%f:~$ '   # username
# PROMPT='%F{cyan}%d$ '       # current full directory
# PROMPT='%F{cyan}%1~$ '      # current directory (not full)
# main problem with PROMPT is it will affect the color of ALL text 
# PS1="%B%F{034}%~$%f%b "       # green prompt
PS1="%B%F{yellow}%~$%f%b "      # or red, magenta 
PATH=$PATH:~/Library/Python/3.9/bin  # mainly for 'jupyter-lab'

exit does not close a terminal/tab

You can change the setting by Preferences -> Profiles -> Shell. See https://superuser.com/questions/158375/how-do-i-close-the-terminal-in-osx-from-the-command-line.

Mac Terminal’s Hidden Task Manager to See Background Processes

https://www.howtogeek.com/309273/how-to-use-the-mac-terminals-hidden-task-manager-to-see-background-processes/

terminal fun

Recording the terminal

asciinema

paste text from Clipboard to terminal is not complete

I have not found a solution yet:(

The clipboard service is called pboard. Search in Activity Monitor.

The text in the clipboard can be found by using Finder -> Edit -> Show Clipboard.

How to access clipboard (copy-paste) history on a Mac.

Copy Paste Not Working on Mac? Here’s How to Fix a Stuck Clipboard. Type the following command exactly: killall pboard and press Return. This will terminate and relaunch the pboard process, which is the clipboard daemon for Mac OS.

iTerm2 > Preferences > General > Selection > Applications in terminal may access clipboard?

Executable file/command

Keyboard shortcuts

Keyboard mappings using a PC keyboard on a Macintosh

Mac keyboard: Ctrl -> Option/Alt -> Cmd. Windows keyboard: Ctrl -> Windows -> Alt.

Mac-keyboard.jpg Windows-keyboard.jpg

Lock screen

Shift + control + power

Cut and paste files

http://osxdaily.com/2011/07/29/cut-and-paste-mac-os-x-lion/

  1. Cmd + C
  2. Cmd + Opt + V

External keyboard

How to Fix the Home and End Buttons for an External Keyboard in Mac

Minimize all windows

  • Method 1: Cmd + F3 (min apps go to the RHS)
  • Method 2: Opt + Cmd + H + M

Finder

Command + [: move back to the previous folder

See dummies.com or www.webnots.com.

Navigation in a browser or document

  • Command + up = go to the top of the document
  • Command + down = go to the end of the document
  • Command + f = search
  • Fn + Down arrow = page down (or Spacebar in a web browser)
  • Fn + Up arrow = page up (or Shift + Spacebar in a web browser)
  • Fn + Left arrow = Home
  • Fn + Right arrow = End
  • Ctrl + TAB = switch tabs in browser

Text navigation and selection

12 Keyboard Shortcuts for Navigating & Selecting Text in Mac OS X

  • Select text to beginning of a line – Shift+Command+Left Arrow
  • Select text to end of a line – Shift+Command+Right Arrow
  • Select text to beginning of current word – Shift+Option+Right Arrow
  • Select text to end of current word – Shift+Option+Right Arrow
  • Select text to beginning of all text – Shift+Command+Up Arrow
  • Select text to end of all text – Shift+Command+Down Arrow

Switch input sources

Go to System Preferences -> Keyboard -> Shortcuts -> Input Sources. Check 'Select the previous input source ^Space'. Use Ctrl + Space to switch.

Compare to Windows/Linux

  • Use Command + q to close an application instead of "Alt+F4" on Windows/Linux.
  • System Activity tool:
    • Windows: Task Manager
    • Linux: System Monitor
    • Mac: Activity Monitor

Switch between windows of the same application

Cmd + ` (backtick)

Switch desktops

^ (control) + left/right arrow keys

Switch two screens/monitors

How to quickly move mouse cursor between monitors?

Hardware

$ sysctl -n machdep.cpu.brand_string
Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz

9 Essential Details You Must Know About Your Mac

https://www.makeuseof.com/tag/essential-mac-details/

Where to Buy Refurbished MacBooks

Where to Buy Refurbished MacBooks: The 4 Best Sites

Display resolution

2880x1800 (2880/1800=1.6) on my 15-Inch Retina Display MacBook Pro. According to the Retina Display page on Wikipedia, its PPI (pixels per inch) is 220.

I scale the resolution to 1440x900 (1440/900=1.6; 16:10) to get large font size. Other resolutions have the same ratio include 1280*800, 1680*1050, 1920*1200, and 2560*1600.

Unfortunately Virtualbox (5.1.14) can only give 1440x900 (tested on Ubuntu & Windows). See a workout http://tusharm.com/articles/win7-on-retina-display-with-virtual-box/.

Mini-LED

Lid Closed in Clamshell Mode

How to Use Your MacBook With the Lid Closed in Clamshell Mode

Second Monitor

How to set the primary display on macOS.

  • You will notice that one of the displays has a white bar at the top. This white bar indicates which display is the primary display on macOS.
  • The Dock will jump to the display that you’ve just set as the primary display
  • When you select a display in the Arrangement tab, a red border appears around the screen of the one you’ve selected. This is how you identify which display is which.

External monitor

On Dell U2718Q 27-inch 4K monitor, we can get a larger font size for every app by changing the scaling through System Preferences > Display > Resolution > Scaled. The choices are

  • 1920 x 1080
  • 2560 x 1440 (more comfortable)
  • 3008 x 1692
  • 3360 x 1890
  • 3840 x 2160

On the original macbook pro, the choices are

  • 1024 x 640
  • 1280 x 800
  • 1440 x 900 (more comfortable)
  • 1680 x 1050
  • 1920 x 1200

Another Dell 27 inch monitor. Dell U2723QE 4k Monitor. It provides a PD USB-C port. Manual .

Dell Monitors - S vs P vs U series. S is the entry level (mostly tn panel), P is the professional series (for people who do series work on Photoshop type of work). U is ultra, the highest range.

Home HP 22cwa 1080p monitor

Click on "Display Settings" at the bottom on the Display window.

On the macbook pro (15inch 2018, 2880 x 1800, the ratio is 16:10, not 16:9. That's why the screen is taller), I choose it as 'Main display'. Resolution: Scaled. 1440 x 900 (fill the whole screen).

On the 1080p monitor, I choose as 'Extended display'. Resolution: Scaled. 1600 x 900 (fill the whole screen).

Mirroring display/screen

Duet

Duet Display App

Camo Studio

Apple Store

Touchpad

Need to press a little bit (instead of touch) for the left-click effect. If we want to use 'tap' for the click (like other OS), go to the System Preferences to change it.

The right click is called secondary click in OS X. We can enable it by going to System Preferences/Touchpad/Secondary click. Then tapping with two fingers would work. See Change or Disable the Secondary Click in Mac OS X.

Other handy gestures:

  • Scroll: two fingers move up/down. The direction is like moving a paper; i.e. scrolling up will gradually show the next part of the content.
  • Zoom in/out: pinch with two fingers.
  • Smart zoom: double-tap with two fingers.
  • Drag and drop method 1: Use the normal three finger drag, leave two fingers on the trackpad while doing a flicking motion with the third finger (eg thumb). The more momentum you add to your motion, the further it drags.
  • Drag and drop method 2:
    1. highlight the app first
    2. lightly click the app (you should only feel one click. Do not use too much force; if you do, you will hear two click sound and it will pop up a window to show the file information) with your thumb and then use your index to move the app to “Applications” directory.
  • Show desktop: Spread with thumb and three fingers
  • Mission control: Swipe up with three fingers
  • Swipe between full-screen apps: swipe left or right with three fingers
  • Dictionary/Thesaurus: Tap with three fingers

Mouse

Logitech Pebble Wireless Mouse M350. Silent. 18-months battery life.

Scrolling direction for mouse

  • How To Set Different Scroll Direction For Mouse And Trackpad on macOS?.
  • Mos works fine on macOS 14.2 Sonoma. After installing the software (move it to the Application), open its Settings -> Privacy and Security -> Accessibility and Allow Mos to control my computer. Without the software, a PC mouse and trackpad have different scrolling directions. The default options are good and there is no need to change anything.
    • Check the option "Launch on Login" option under the general setting.

Touchbar/touch bar

GPU benchmark

Novabench can benchmark CPU and GPU. The test is quick too. Note watching 4k Youtube videos does not trigger AMD gpu. It only uses a little of Intel Iris Pro gpu.

  • (Novabench ver 4.0.2) The AMD Radeon R9 M370X 2GB (not Intel Iris Pro Graphics) from 2015 macbook pro (2.8Ghz i7, 16GB DDR3) shows usage during the test (Activity monitor -> Window -> GPU History). The overall score is 1620. CPU score=913, RAM score=269, GPU score=323 (Metal 3D: 31 FPS, OpenCL: 842 GFLOPS), Disk score=115 (write speed: 405 MB/s, read speed: 1059 MB/s).

CPU information

sysctl -n machdep.cpu.brand_string

My macbook Pro 2015 shows i7-4980HQ (see GeekBench 4 score) CPU @ 2.80GHz. Quad cores. Eight threads. Base Frequency 2.8GHz. Max Turbo Frequency 4.0GHz. Bus Speed: 5 GT/s DMI2.

CPU temperature and alias

$ gem install iStats
$ istats

# We can make an alias by inserting a line in ~/.bash_profile
$ echo "alias temperature='istats'" >> ~/.bash_profile
$ source ~/.bash_profile

Fan and CPU temperature

When it asks for the admin password for its help tool, no need to enter it (choose 'Cancel') if we don't need to change fan control. See FAQ.

After launching it, it will show an icon on the menubar. It can be configured to show the CPU temperature (CPU Proximity result is close to istats reported) and fan speed.

High CPU usage

How to Fix Xagt.exe High CPU Usage? FireEye EndPoint Agent Security software.

RAM

Can you upgrade the ram in your Mac

Power Adapter

USB-C and Thunderbolt

Keyboard

Terrible keyboard

How to file a claim in the MacBook butterfly keyboard lawsuit

Latest Macbook pro's keyboard layout is terrible. Keys are too crowded and the arrow keys are way too tiny and unusable. The touchbar version of macbook is even worse. 👎

Some alternatives:

Adding a Period after the Double Space

Magic Keyboard Home and End keys acts as Page Up and Page down

[https://apple.stackexchange.com/a/440785. Home doesn't move to the beginning of the line in macOS; that's a Windows thing. On Mac Home is 'scroll to the top', End is 'scroll to the bottom', the cursor doesn't move.

Cmd/left or right arrow moves to the beginning & end of line.

Remap Keys Using a Third-Party Keyboard

How to Use & Customize a Third-Party Keyboard on Your Mac

Keyboard battery level

macOS 10.11.6 shows the battery level is 18%.

macOS 10.12.6 corrected the calibration problem. Now it is showing 58%.

Bluetooth keyboard (AA battery version) battery life

I got a little over 3 months of battery life.

Bluetooth connection

It will ask to enter a few keys shown on the screen before connection.

It is interesting the keyboard will show as "Full Name [E]'s Keyboard" on the macOS's menu bar.

Battery

How to Keep Your MacBook Battery Healthy and Extend Its Life

Charging on hold/Optimized Battery Charging

Plug or unplug

Should I disconnect my MacBook Pro's power cord when the battery is fully charged?. Answer: No.

Battery diagnostic

About this Mac -> Overview -> System report -> Power.

Cycle count limits for my macbook pro 15inch Mid 2015 (shown from About This Mac) is 1000.

  • The current cycle count currently is 175 cycle count (10/20/2017). Full charge capacity (mAh) is 8421.
  • The current cycle count currently is 199 (Feb 7, 2017 -> Nov 29, 2017). Full charge capacity is 8076.
  • The current cycle count is 263 (Mar 2, 2018). Full charge capacity is 8096.
  • The current cycle count is 430 (Oct 10, 2018). Full charge capacity is 7554.
  • The current cycle count is 437 (Oct 19, 2018). Full charge capacity is 7073 (80%).

The Chargeberry app shows the factory capacity is 8755 mAh.

Ambient light sensor

http://osxdaily.com/2010/05/22/where-is-the-ambient-light-sensor-on-a-macbook-pro/

SSD

How to check your Intel and M1 Mac’s SSD health using Terminal and smartmontools.

Too hot: remove the cover, cleaning

How to Clean Dust Out of Your MacBook

Complaints

Macbook Pro 2015 & 2018

  • Even the lid is closed, the fan is turning loud (6000 RPM for both fans, something is running?) parentalcontrolsd uses 248% cpu and the CPU temperature 50+. Router showed the machine's wifi is still on. The battery is drained out fast when I open the lid: Hazard!!
  • After I open the lid, the screen can not be unlocked. I only see the mouse cursor.
  • Wifi cannot automatically connect
  • Freeze (no response after clicking a program) after sleeping.
  • Restart does not work. Force to push the power button to shutdown the machine.

Mac mini

5 Reasons the M2 Mac mini Is the Best Entry-Level Mac You Can Buy

iMac Pro

The new (2017) iMac Pro can be equipped with a 128 GB of memory and 4 TB SSD drive.

Finder - file manager

Quick Look, Preview

Freeze/frozen

It happened when I try to use AirDrop. How to Quickly Restart or Relaunch Finder in macOS.

killall Finder from Terminal

Add to Sidebar / bookmark

File -> 'Add to Sidebar'

Remember all my tabs and reopen them after restarting

Permanently delete files

  • Note that CMD + delete will move files to the Trash
  • Option + CMD + delete OR File + Option -> Delete will permanently delete files
  • To see files in the Trash, click Finder -> Go -> Go to Folder -> enter "~/.Trash/" (no double quotes) and press ENTER.

Change font size

View -> Show View Options -> Text Size

Folder Date Modified

When I open an Excel file or a Word file, even I don't modify anything the Date Modified of this folder containing the file will be changed. Very annoying! I think a more reasonable way is to change its setting. View -> Show View Options. Unselect "Date Modified" and check Date Added.

Show the full file path

How to Show Current Path in Mac OS X Finder. View -> Show Path Bar.

Copy file full path

How to View File Paths in macOS

This is important since RStudio cannot drag and drop a file to insert the file path.

  1. Navigate to the file or folder you wish to copy the path for
  2. Right-click (or Control+Click, or a Two-Finger tap/click on the trackpad) on the file or folder in the Mac Finder
  3. While in the right-click menu, hold down the OPTION/Alt key to reveal the “Copy (item name) as Pathname” option, it replaces the standard Copy option
  4. Once selected, the file or folders path is now in the clipboard, ready to be pasted anywhere

A different way is

  1. View -> Show Path Bar
  2. Right click a file/folder shown in the Path Bar (bottom of Finder) and choose "Copy XXX as Pathname".

Cf. On Ubuntu, it is much simple. Just click Ctrl+C.

Enter key does not open the file

Use Command+Down instead of Enter key to open a file or go into a directory.

Enter key is only used to rename a file. See https://discussions.apple.com/thread/3140356?start=0&tstart=0.

Use Command+Down will immediately uncompress a tar.gz file.

Go to the previous/next folder

  • Cmd + [
  • Cmd + ]

Go to a folder

Use Cmd+Shift+o to go to a specific location by entering its full path. Unfortunately this option is not available in other applications in general.

Permanently mapping a network drive

Users & Groups

In System Preferences -> Users & Groups. Click Login Items tab. You will see all item (e.g. NCIMacDriveScript) that will open automatically when I log in. The item location can be found by right clicking the item.

Tag

How To Tag Files on a Mac, iPhone, or iPad

Alternative: Commander One

(Free & commercial) dual pane file manager for Mac.

  • User Guide
  • The bookmark is called 'Favorites' in Commander One. Click the 'star' icon and a Windows' style of a right click menu will pop up. You can select 'Add to Favorites' to add the current directory to the favorites. This bookmarked location will be shown when you click the 'star' icon next time.
  • The icon (multiple horizontal lines) next to the 'star' shows the recent locations. This is useful too!
  • By default, Commander One will send anonymous usage statistics to Eltima. Go to Preferences -> General to uncheck this option.
  • This Finder replacement solution also provides its users with the various ways of search.
  • Cloud Storage Compatibility

Alternative: Nimble Commander

Right click open with

Remove Duplicates from the “Open With” Right-Click Menu in Mac OS X

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/\     
LaunchServices.framework/Versions/A/Support/\
lsregister -kill -r -domain local -domain user

killall Finder

Find files

The 5 Best Spotlight Alternatives for Searching Mac Files and More

FTP clients

The 5 Best FTP Clients for Mac

Cloud file manager

Cyberduck. Cyberduck is a libre server and cloud storage browser for Mac and Windows with support for FTP, SFTP, WebDAV, Amazon S3, OpenStack Swift, Backblaze B2, Microsoft Azure & OneDrive, Google Drive and Dropbox.

Open rar files

The Unarchive‪r‬ from Mac App Store.

Screenshots

Terminal

Use the screencapture command.

screencapture test.jpg

screencapture -c    # send to the clipboard

screencapture -T 10 timedshot.jpg # timer 

screencapture -w test.jpg
# OR
screencapture -W

screencapture -h     # help

To view an image file, use the open command. See also Shell tricks: the OS X open command.

open test.jpg

To view the metadata of an image file, use the mdls command such as mdls XXX.png. See How to look up file metadata in OS X

Grab

Grab is a utility. Finder -> Go -> Applications -> Utilities -> Grab.

How To Use macOS & Mac OS X Grab Utility To Take Screenshots

Take a Timed Screenshot With the Grab (built-in) Application. Open Grab, select Capture -> Selection/Window/Screen/Timed screen.

Lightshot

Lightshot works like Shutter in Ubuntu - easy to use and can sit on the taskbar.

Note: to view an image resolution in Finder, right click an image and select Get Info -> More Info.

Its icon is a feather.

Feather has an advantage that the screenshot does not need to be saved. It can be copied to a clipboard and then discarded.

Screen cast/recorder

MacOS Big Sur, Catalina, & Mojave

How to Make Screen Recordings in MacOS Big Sur, Catalina, & Mojave. Hint: Shift + CMD + 5. Note audio is not recorded. Note that I did not see the control panel anymore. But luckily I can use the touch bar to stop recording (or Command-Control-Esc). How To Record Screen On Mac With Audio & Without Audio?

How to Record Screen on Mac with Sound using a commercial software like Capto or Screenflick.

iPad/iphone

How to Record iOS Screen with Sound in Simple Clicks. The only problem is the file size could be very large.

Quicktime/QT player

  • We can record the screen (full screen or a selected region). The recorded file will be in a .mov format and saved in the Desktop (no setting to change the default directory).
  • How to record the screen on your Mac
    • Method 1: Shift + Cmd + 5
    • Method 2: Quicktime. File - New Screen Recording. Choose 'Entire screen' or 'Selected portion'. Then click the 'Recording' button to start recording. When finished, click the white circle on the top taskbar to stop recording. By default, the movie files (*.mov) are saved in my home directory.

USB video capture

  • Quicktime player -> New Movie Recording. Next to a circle red recording button, there is an arrow to select the source. Change the "Camera" to "USB 3.0 capture" from "FaceTime HD Camera" will allow to record the screen from USB video capture.

Screenshot utility

  • How to use QuickTime to record screen and audio: Ultimate Guide
    • Tip1: Click Options, and then choose [your Mac name] Microphone if you want to record your voice to add narration to the video. The default is None.
    • Tip2: To stop recording the screen, press the CMD + Control + Esc keys. OR CMD + Shift + 5 to bring up the toolbar and press the STOP button.
    • Note: File size could be very large. For example, 19 seconds video & 2270x1548 will be 85 MB.

recordit

Screen cast o magic

http://screencast-o-matic.com/

LICEcap

LICEcap. See Harmony animation.

Application

/usr/local/bin/ directory

/usr/local/bin is the default installation location when a user or local administrator builds and installs an executable program or app independently, not part of the OS.

$ ls -l /usr/local/bin/
total 376968
lrwxr-xr-x  1 root  wheel         47 Jul  2 16:22 R -> /Library/Frameworks/R.framework/Resources/bin/R
lrwxr-xr-x@ 1 root  wheel         66 May 23  2023 R-4.2-arm64 -> /Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/bin/R
lrwxr-xr-x@ 1 root  wheel         66 May 23  2023 R-4.3-arm64 -> /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/bin/R
lrwxr-xr-x@ 1 root  wheel         66 Apr 26 21:23 R-4.4-arm64 -> /Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/bin/R
lrwxr-xr-x@ 1 root  wheel         66 Apr 26 21:23 R-release -> /Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/bin/R
-rwxr-xr-x  1 root  wheel    5610048 Dec  7  2022 RemoteUpdateManager
lrwxr-xr-x  1 root  wheel         53 Jul  2 16:22 Rscript -> /Library/Frameworks/R.framework/Resources/bin/Rscript
-rwxr-xr-x  1 root  wheel    4944400 Jun 14  2023 mdm-watchdog
-rwxr-xr-x@ 1 root  wheel  175433440 Mar 27  2023 pandoc
lrwxr-xr-x  1 root  wheel          6 Apr 22  2023 pandoc-lua -> pandoc
lrwxr-xr-x  1 root  wheel          6 Apr 22  2023 pandoc-server -> pandoc
-rwxr-xr-x  1 root  wheel    7011568 Apr  7 14:02 rig
...

How to Install Applications

Trouble shooting

XXX can't be opened because Apple cannot check it for malicious software

https://youtu.be/6knyHlUe1cM?t=1205. Open Preferences - Security & Privacy - General. Click 'Open Anyway'.

The binaries are not signed

Consider the yarr(Yet Another RSS Reader) application, to bypass these measures, you can run the command:

xattr -d com.apple.quarantine /Applications/yarr.app

Damaged App Cannot be Opened on MacOS Error

FIX: Damaged App Cannot be Opened on MacOS Error

Gatekeeper

How to Disable Gatekeeper to Allow App Installation from Anywhere in macOS

Keyboard shortcut to launch an application

  • F4 key - LaunchPad
  • Command + Space - Spotlight search

Messages when you launch an application

  • Google Chrome

ChromeMac.png

  • iTerm

Iterm open.png

  • SeqTools

Seqtoos open1.png Seqtoos open2.png Seqtoos open3.png

Install pkg file from command line

http://apple.stackexchange.com/questions/15658/how-can-i-open-a-pkg-file-manually

sudo installer -pkg ~/Downloads/packagename.pkg -target ~/Applications/
# OR
installer -pkg ~/Downloads/packagename.pkg -target ~/Applications/

Close an application

Clicking the red button does close/quit an application/a program. You need to use Command-Q.

Another answer: The red close button just closes the window. It is up to the application whether it quits or not - typically if the application uses documents or it has other windows that can be opened it will not quit. Applications with a single window (System Preferences, for example), will usually quit when the window is closed, since there isn't anything else it does.

Delete/remove an application

AppCleaner

How to Add, Remove, and Delay Startup Apps on a Mac

How to Add, Remove, and Delay Startup Apps on a Mac

Pages

6 Things Apple Pages Does Better Than Microsoft Word

RSS Reader

Need an RSS Reader for iPhone, iPad, or Mac? Get NetNewsWire

Package formats

app directory/Application

In Finder, the attribute of the file is an Application.

Example: App Store.app, Atom editor, SourceTree

http://apple.stackexchange.com/questions/112197/what-does-a-app-file-actually-do

apps are "Package Bundles" is Apple jargon. These are actually Unix directories, in a special format. The actual Unix Executable File is in a subdirectory named MacOS, which you can see using the Show Package Contents menu in Finder.

To deliver the program in an app format, we can zip the app folder. If we use Safari browser, it will automatically decompress the zip file so the app program will appear in the Downloads directory.

For example, in SourceTree, the download file is called 'SourceTree_X.Y.zip'. When we click the zip file, it will be automatically extracted. And when I click SourceTree.app, it will have a dialog to help user to move the program to the application folder.

Sourcetree.png

pkg file

Example: R-cran

PKG files are Mac OS X installation (setup) packages that contain installer scripts ('Scripts' file) and compressed installation files ('Payload' file) that are used to install Mac software applications onto a user's hard drive.

On the case of R-x.y.z.pkg, it contains R framework, R.app GUI, Tcl/Tk X11 and TexInfo.

To install a pkg file from terminal, see this post. It seems there is no option in "installer" to show the full paths of output files.

sudo installer -pkg R-3.3.3.pkg -target / 
sudo installer -pkg gfortran-6.1.pkg -target /

pkgutil

dmg (disk image) file

Example: Google chrome, JDK, FastQC, Sketchup, Commander One.

A DMG file is a disk image, which is sort of like an archive file. When you download one, you can double-click it to “mount” it (under Devices in the Finder), allowing you to extract the application from inside it.

After the app is dragged to your Applications folder, you can run it normally — from the Finder, Launchpad, Spotlight, dock, or anything else.

We can mount or eject a dmg file by

# mount
hdiutil mount fastqc_v0.11.5.dmg
# copy its content
mkdir -p ~/FastQC
cp -r /Volumes/FastQC/FastQC.app/Contents/MacOS/* ~/FastQC/
# eject
hdiutil eject /Volumes/FastQC/

To create a dmg file (see command line or here and GUI)

hdiutil create -volname WhatYouWantTheDiskToBeNamed \
    -srcfolder /path/to/the/folder/you/want/to/create \
    -ov -format UDZO name.dmg

To convert a dmg file to iso

hdiutil convert imagefile.dmg -format UDTO -o imagefile.iso
mv imagefile.iso.cdr imagefile.iso

To install a dmg file from terminal, see this or this

MOUNTDIR=$(echo `hdiutil mount jdk-8u121-macosx-x64.dmg | tail -1 \
| awk '{$1=$2=""; print $0}'` | xargs -0 echo) \
&& sudo installer -pkg "${MOUNTDIR}/"*.pkg -target / \
&& sudo hdiutil detach "${MOUNTDIR}"

Explanation: The first command (hdiutil mount jdk-8u121-macosx-x64.dmg) will output

expected   CRC32 $628D96B6
/dev/disk2          	GUID_partition_scheme          	
/dev/disk2s1        	Apple_HFS                      	/Volumes/JDK 8 Update 121

We like to grab the string "/Volumes/JDK 8 Update 121". This can be achieved by getting the last line of the output and replace the first and 2nd fields with empties and then output the whole line.

Package manage software

http://apple.stackexchange.com/questions/32724/what-are-pros-and-cons-for-macports-fink-and-homebrew & http://apple.stackexchange.com/questions/64690/macports-vs-fink-vs-homebrew

MacPorts

Different versions of Mac OS X has a different macport binary (in .pkg format).

MacPorts Brings the Best Open Source Software to Your Mac

Homebrew

Homebrew installs packages to their own directory and then symlinks their files into /usr/local. Setting up macOS as an R data science rig in 2023

# Install
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# It will ask around 3 times on your administrator password for a variety of questions.

Warning: /opt/homebrew/bin is not in your PATH.
  Instructions on how to configure your shell for Homebrew
  can be found in the 'Next steps' section below.
==> Installation successful!

==> Homebrew has enabled anonymous aggregate formulae and cask analytics.
Read the analytics documentation (and how to opt-out) here:
  https://docs.brew.sh/Analytics
No analytics data has been sent yet (nor will any be during this install run).

==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
  https://github.com/Homebrew/brew#donations

==> Next steps:
- Run these two commands in your terminal to add Homebrew to your PATH:
    (echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> /Users/USER/.zprofile
    eval "$(/opt/homebrew/bin/brew shellenv)"
- Run brew help to get started
- Further documentation:
    https://docs.brew.sh
# Search a package
brew search gedit

# install some package
brew install wget
brew install htop
brew install ruby # install a newer version of ruby & gem; overwrite the pre-installed one 
brew install cvs
brew install gedit # The print to file function works great. need to launch from terminal
                   # https://formulae.brew.sh/formula/gedit
which htop        # /usr/local/bin/htop

# Update brew
brew update  # Not add sudo
# Uninstall homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

brew cask. While Homebrew primarily deals with command line software, Homebrew Cask is used for installing desktop applications. It provides a friendly command-line interface (CLI) workflow for the administration of macOS applications distributed as binaries.

Applications installed via Homebrew Cask are typically placed in the /Applications directory and can be launched like any other Mac application. You can also open the application in Terminal: open -a Firefox where "-a" means to open an application.

brew search calibre
brew search kindlegen
brew search vlc
brew info calibre
brew install --cask calibre
brew uninstall --cask calibre

# https://www.code2bits.com/how-to-update-homebrew-cask-formula-on-macos/
brew update             # Fetch latest version of homebrew and formula.
brew list               # List all the installed formulae.
brew outdated           # Show formulae with an updated version available.
brew upgrade            # Upgrade all outdated and unpinned brews.
brew upgrade [formula]  # Upgrade only the specified brews (but do so even if they are pinned)
brew pin    [formulae]  # Pin the specified formulae (Prevents from being upgraded - 'brew upgrade').
brew info   [formulae]  # Display information about formula.
brew cleanup            # For all installed or specific formulae, remove any older versions from the cellar.

brew tap command.

How to uninstall / remove a Homebrew package including all its dependencies

Homebrew Cast extends Homebrew and brings its elegance, simplicity, and speed to macOS applications and large binaries alike. What is the difference between `brew` and `brew cask`?.

Cork

Why Mac Homebrew GUI Cork Is Worth Your Time (but Not Your Money)

Fink

No binary installer for recent versions of OS X (good to me). You will need to install the proper Command Line Tools for Xcode for your system.

Rudix

# install
curl -s https://raw.githubusercontent.com/rudix-mac/rpm/2016.12.13/rudix.py | sudo python - install rudix
# install some package
sudo rudix install wget
sudo rudix install python-pip
# remove a package
sudo rudix remove python-pip
# uninstall
sudo rudix -R

Extract files (Unzip)

Unarchiver. Mentioned by Raspbian.

Remove __MACOSX directory and .DS_Store files in zip files

zip -d data.zip "__MACOSX/*"
zip -d data.zip "*/.DS_Store"

Preview/edit photos

To remove exif information, use ImageOptim program (open source). See an introduction here.

Exiftool is a command line tool available in Linux/Mac/Windows. See Remove GPS metadata from jpg files - exiftool.

Best Preview Features

https://youtu.be/X5iZTXAg8vs

Shape and filler

  1. Find the icon next to "A" on the toolbar to show Markup Toolbar.
  2. Select a desired Border Color by clicking the 'down' arrow next to the "Border Color" icon (4th one from the right hand side, we need to move mouse over it to show the tooltip).
  3. Now select a shape (e.g. rectangle) by selecting a shape from the Shapes icon (5th from the left hand side, not the 1st one "Selection Tool"). This will draw a rectangle on top of an document.

https://youtu.be/MOnHrtiH2HU?t=222

Markup toolbar*

Combine images

3 Quick Ways to Combine Photos Into a Collage on macOS

Image editor

Note when I use the 'Preview' program, it will automatically save the changes without any warnings when I exit the program.

Pixea

Viewing only.

  • It has an option to show thumbnails (browse the contents of folders and archives w/o extracting them).
  • Including a Slideshow function.
  • But it is not suitable if we just want to open a few image files and toggle between them (GIMP works in this situation).

qView

website. Open source, cross-platform. But it does not do panning.

Paintbrush

https://paintbrush.sourceforge.io/

Works fine. It does prompt to save for any changes when I quit the program.

macSVG

https://macsvg.org/

Convert images to different formats

How to Convert PNG, TIFF, and JPEG Images to a Different Format on Your Mac

Photo collage

3 Quick Ways to Combine Photos Into a Collage on macOS

To stitch them horizontally, use the following (it works when I tested on Mac Ventura 13.5)

brew install imagemagick
convert +append 1.jpg 2.jpeg 3.jpg ~/Desktop/Result.jpg

To combine photos vertically, replace +append with -append.

Text editor

http://beebom.com/best-text-editors-for-mac/

For printing to pdf files with line numbers, I am using GEdit in Ubuntu VM. Some promising editors like BBEdit cannot even let me open rmd files.

Change the default text editor

Just right (or control) click a file of the type you want to change and: "Get Info" -> "Open with:" -> (Select your program) -> "Change All".

The above method can be used to change the default player too (iTune -> VLC).

If you use the open command in a terminal to open a text file, the default program will be used.

Replace nano editor

The default nano editor is too old (2.0.6). It is located at /usr/bin folder.

Using homebrew (brew install nano) we can update it to the latest version. The new nano is located at /usr/local/bin/ folder.

Note that echo $PATH shows /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Tex/texbin:/opt/X11/bin.

$ which nano
/usr/local/bin/nano
$ whereis nano
/usr/bin/nano
$ nano --version      # Still 2.0.6
# Close the terminal and open a new one
$ nano --version      # 4.2

Atom editor from Github

Complains: too frequent updates. It makes multiple instances on the right click menu in Finder on macOS (seems it is only a problem on Mac). See a report here. A solution is

rm -rf ~/Library/Caches/com.github.atom.ShipIt 
killall Finder

and then launch Finder manually.

Atom Flight Manual

  • The atom application requires no installation. So once it is downloaded (we actually download a zip file. After download has finished Safari browser will automatically decompress the zip file), we can drag it to the Application folder.
  • Open atom from a terminal.

Method 1 (GUI). Atom -> Install Shell Commands. Two symbolic links (atom and apm) will be created in /usr/local/bin to point to the currently opened Atom application.

Method 2 (Manual):

ln -s /Applications/Atom.app/Contents/Resources/app/atom.sh /usr/local/bin/atom
  • When you open the Atom the first time, it will split the screen into two panes: on the LHS it has a 'Welcome' and on the RHS it has a 'Welcome Guide'. You can choose to close any one of them by View -> Panes -> Close Pane. You may reopen the Welcome Guide by Help -> Welcome Guide.
  • You can hide the directory on the left hand side by View -> Toggle Tree View.
  • Command Palette: Press Cmd+Shift+P.
  • Settings: Atom -> Preferences.
  • Open a file: Cmd+o. Save a file: Cmd+s.
  • If a file is modified and not saved yet, the changes are saved to a cache. Even we close Atom, the changes are there. The original file is still intact.
  • Open a directory as a project. Open a folder will add a tree view to the editor where you can browse all the files. You can toggle the tree view on the side of the window by Cmd+\.
  • Jump to a specific line: Ctrl+g.
  • Find and replace: Cmd+f. To search the whole project, Cmd+Shift+f.
  • Folding: Alt+Cmd+[ and Alt+Cmd+]
  • Panes splitting: Cmd+K Up/Down/Left/Right
  • Preview a markdown file (toggle): Ctrl+Shift+M
  • R syntax highlight
$ apm install language-r
Installing language-r to /Users/USERNAME/.atom/packages ✓
# Re-start Atom to enable it

Printing. No way!

Visual Studio Code

VS code is based on Electron and Atom shell archive. Repeatedly "trying to add a new helper tool" on each restart for same application(s).

Macdown- markdown editor

If I use macDown to open a text file, macDown will still assume the file is a markdown file and give a preview on the right panel.

Sublime

http://www.sublimetext.com/

How do I open new files in a new tab?

TextMate

http://lifehacker.com/5817833/the-best-programming-text-editor-for-mac

For some reason when I open an old file, TextMate does not open it on a new tab; it opened the file in a new window??

BBEdit

5 年過去了,知名文字檔編輯軟體 BBEdit 回歸 Mac App Store

gedit

http://macappstore.org/gedit/ Does not work. I got the same error.

CotEditor

Jekyll

http://idratherbewriting.com/documentation-theme-jekyll/mydoc_install_jekyll_on_mac.html

Text to speech

Dictionary

Expand Your Mac’s Dictionary App by Adding Additional Languages

I add 'Simplified Chinese - English' dictionary and move it to the top. With the change, when I right click a word and choose 'Look Up' in a browser, the 'Simplified Chinese -English' will be shown up on top.

Videos

How to Trim Videos with Quick Look in macOS Mojave

imovie

Final Cut Pro

Java

Installing OpenJDK 11 on macOS Mojave. The instruction works for Java 12.

ls /Library/Java/JavaVirtualMachines/ # empty but the folder does exist
sudo mv jdk-12.0.1.jdk /Library/Java/JavaVirtualMachines/
java -version
javac -version
cat > hello.java <<EOF
class HelloWorld {
     public static void main(String[] args) {
         System.out.println("Hello World!");
     }
}
EOF
javac hello.java
java HelloWorld

Printer

To print a test page: Mac -> System Preferences > Printers and Scanners. Double click a printer, go to the menu on top and select Print -> Print Test Page.

When installing an office printer (\\nciprint\5W012CAN5560, Canon iR-ADV C5550/5560 UFR II), mac asks for the driver (1. Generic PostScript Printer 2. Generic PCL Printer 3. Select Software). If I choose Generic PostScript Printer, the test page shows the driver name "Generic.ppd" and version 1.0. When I download the driver from Canon website and add the printer using the new driver, the test print page shows driver name CNPZUIRAC5550ZU.ppd.

PDF

Disable autosave

Open System Preferences, Go to "General", Enable "Ask to keep changes when closing documents"

Markup toolbar

How to Circle or Highlight Items with Preview on Mac (video).

Preview Cant Open Multiple PDF in same Window

https://apple.stackexchange.com/a/303731 System Preferences > (Select) Dock > (Go down to 5th option) Prefer open tabs when opening documents: > (Select from option menu) Always.

How to Set All Mac Apps to Prefer Tabs with New Document and Windows

Print to PDF from the print dialog

In the Print dialog, look for the “PDF” button in the lower left corner, click on that pull-down menu, and select “Save as PDF”. Click “Save” in the save dialogue box, and save the file to whatever location you want.

Command line to print a file to pdf

# Suppose we have an R file. We like to print it to PDF with line numbers.
$ cat -n tmp.R > tmp.txt
$ cupsfilter tmp.txt > tmp.pdf

# OK. But how to control the font size? How to deal with indentation for line wrapping. Landscape orientation.
  • text2pdf
  • Use pandoc to convert it to docx (so we can control font size) and convert it again to PDF.

Convert a pptx to pdf

The 'Zoom' function is kind of slow to response with Office 2016. There is no this problem with converted PDF file.

  • Use 'Save As...'
  • Don't use print to PDF. The quality will reduced.

Delete/add/reorder page pages using Preview

http://osxdaily.com/2010/01/20/delete-pages-in-a-pdf-document/

There is no need to save the document. It will be saved automatically.

For some reason, after I join pdf files and export the merged pdf, the exported file contains only 1 page.

A more reliable way is to use a built-in command line program 'join.py' (works on OS X El Capitan)

# Use Cmd + c to copy PDF files relative paths from /home/$USER/Downloads directory

cd /User/$USER/Downloads/
"/System/Library/Automator/Combine PDF Pages.action/Contents/Resources/join.py" \
  -o FILE.pdf \
  file1.pdf file2.pdf /PATH/TO/A/WHOLE/DIR/*.pdf

Print multiple pages per sheet

"Preview" does not have this option. Use Adobe Reader.

Merge/combine several PDF files

How to Use Mojave’s Quick Actions to Quickly Combine PDFs on the Mac

Crop pdf files

Preview. See a demonstration on youtube. This is very good and the crop experience is similar to briss.

  1. View → Thumbnails
  2. Select all pages by Cmd+a. Use Cmd+click to unselect any pages.
  3. Click the Show Markup Toolbar button from the RHS of the toolbar and click the Rectangular Selection button or directly click on Tools → Rectangular Selection
  4. Use mouse to select an area on the first page (or on a specific page). A rectangular area will show up on ALL pages.
  5. Adjust the width/height as you want from the 1st page (or from the specific page).
  6. Close the document and the changes will be automatically saved.

Note that this method cannot save the cropped PDF file permanently. A better way is to use briss. After we install Java runtime library (see #Java here), we can run briss from a terminal

java -jar briss-0.9.jar

Undo cropping of pdf files

How do I uncrop a PDF in Preview? Zoom out so you can have what would be the whole page in view. Use the selection tool to select an area at least as big as the original page. Recrop the image to the new selection, and voilà!

Edit (eg highlight) by Preview

Search woe in Preview

It seems enclosing the phrase in quotation marks does not work. But clicking the magnifying glass icon in the search field and selecting “Exact Phrase” from the drop-down menu.

Preview Keyboard shortcuts

  • Hide sidebar: CMD + Option +1
  • Show sidebar: CMD + Option +2
  • Show Table of Contents: CMD + Option +3

Kill Preview

Using the command line: killall Preview

Open Preview

It seems Preview will remember closed documents after close and re-open.

The volume can't be ejected because it's currently in use

How to fix.

sudo lsof | grep /Volumes/Elements
sudo killall mds
diskutil unmount /Volumes/Elements

Icon/symbol next to opened documents under 'Window' menu

https://developer.apple.com/design/human-interface-guidelines/macos/menus/menu-anatomy/

  • Checkmark: the active document
  • Diamond: document that is currently minimized in the Dock.

Disk

Trash can

See its icon in the Dock.

Using the trash folder

Alternative to WinDirStat

https://alternativeto.net/software/windirstat/?license=free&platform=mac

  • ncdu
brew install ncdu
  • Disk Inventory X. It shows the sizes of files and folders in a special graphical way called "treemaps". The filename is DIX1.0Universal.dmg. It froze my Mac:(
  • QDirStat based on Qt. No binary for macOS
  • DaisyDisk $10.

system taking too much space

It takes over 327GB on my macbook pro. I run sudo mdutil -E /, change spotlight search categories to only 'Applications', 'Mail & Messages' and reboot the computer. Now the system is taking only 83GB (more acceptable). Some cleanup software does little help and ncdu command broke during scanning the root directory.

Outlook took too much space

Message Attachments in Outlook 2016 for Mac

I found out the issue when Druva inSync needs to sync 3.8GB data. Further investigation shows it is backing up lots of files under ~/Library in Home Folder. ncdu shows the folder "~/Library/Group Containers/UBF8T346G9.Office/Outlook/Outlook 15 Profiles/Main Profile/Data/Message Attachments" took 9.3GB space.

Increase space

How to Increase Your MacBook’s Storage

Clean Drive from Parallels

https://kb.parallels.com/en/124591

Browsers

Google Chrome browser

Read articles

Google app for iOS can now read articles aloud with a tap.

For Android users which was powered by Google Assistant, simply asking “Hey Google, read this article (page)” would pull the content of the page into a new interface that plays it word-by-word.

Fix issues with "Hey Google" on a mobile device

Safari

Read out loud

How to Use Spoken Content to Make Your Mac Read Out Loud to You

Developer

Macs (unlike Linux) don’t come with a package manager, but there are a couple of popular package managers you can install. See SciPy.

Install Xcode

http://osxdaily.com/2014/02/12/install-command-line-tools-mac-os-x/

Note:

xcode-select --install

The installed tools (like ar, gcc, g++, git, libtool, make, nm, otool, svn, et al) are located in /Library/Developer/CommandLineTools/usr/bin/ directory. If the command is run again, you will get a message

xcode-select: error: command line tools are already installed, use "Software update" to install updates 

To check the Xcode version (if you have installed a full Xcode)

$ xcodebuild -version  # if you have the full Xcode installed
Xcode 8.2.1
Build version 8C1002  # if you only have the command line tool installed
$ xcodebuild -version
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer 
directory '/Library/Developer/CommandLineTools' is a command line tool instance

To check whether Xcode has been installed

$ xcode-select -p
/Library/Developer/CommandLineTools             # if you have installed the command line tool only
# or
/Applications/Xcode.app/Contents/Developer  # if you have the full Xcode package installed
# or
xcode-select: error: unable to get active developer directory, use `sudo xcode-select --switch path/to/Xcode.app` to set one
(or see `man xcode-select`)

To accept the XCode license through command line, follow the post Debugging macOS Kernel using VirtualBox:

$ sudo xcodebuild -license accept # it seems not working. A dialog is still popped up.

The df command shows installing the command line developer tools takes about 600MB space.

git

The "git" command requires the command line developer tools. Would you like to install? I got this message when I open RStudio.

Uninstall Xcode

http://osxdaily.com/2012/02/20/uninstall-xcode/

Header file location

  • /usr/include (does not exist on my 10.12 Sierra)
  • /usr/local/include (some are over there; e.g. from "sudo make install" command)
  • /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/ (if you have installed a full Xcode)

I get the following error

In file included from init.c:1:
/Library/Frameworks/R.framework/Resources/include/R.h:55:11: fatal error: 'stdlib.h' file not found
# include <stdlib.h> /* Not used by R itself, but widely assumed in packages */
          ^~~~~~~~~~
1 error generated.
make: *** [init.o] Error 1
ERROR: compilation failed for package ‘later’

when I install some package. The stdlib.h file is missing from /usr/local/include. However, a simple C code compiles fine.

#include <stdio.h>
#include <stdlib.h>

int main ()
{
  char str[10] = "3.14";
  printf("The value is %f\n",atof(str));
  return 0;
}

See this post (R-SIG-Mac) 'math.h' file not found

sudo installer -pkg \
  /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg \
  -target /

However, I don't have "Packages" directory.

See Where is my “stdio.h” in Mac? & Simply installing Xcode will not install all of the command line developer tools. Try

  • Run "sudo ln -sf /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include /usr/include". Get a message "Operation not permitted". See this post Unix “ln -s” command not permitted in OSX El Capitan Beta3
  • Run "xcode-select --install". Get a message "Can't install the software because it is not currently available from the Software Update server."

Search within R-SIG-Mac Archives.

System Integrity Protection/SIP

Lib location

  • /usr/lib
  • /usr/local/lib
  • /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/lib/ (if you have installed a full Xcode)

ldd on Mac

otool -L  <exec>

openssl

Method 1: brew

brew doctor
brew update
brew upgrade
brew install openssl  # the opposite operation is 'uninstall'
cd /usr/local/include
ln -s ../opt/openssl/include/openssl .

Method 2: compile yourself

Python packages

http://www.scipy.org/install.html

Install macOS on a PC

http://www.makeuseof.com/tag/how-to-install-mac-os-x-on-a-pc-without-using-a-mac/ (7/17/2017)

KVM

Docker: macOS in Docker

UTM