# macOS tips
## default font: Sans-serif typeface Helvetica
$ brew tap beeftornado/rmtree && brew install brew-rmtree
$ brew rmtree
vmnet1 private 192.168.56.1
vmnet8 private with NAT 192.168.57.1
## To Remove default folder view settings
sudo find / -name ".DS_Store" -exec rm {} \;
## To restart bonjour service
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
## Flush DNS
sudo killall -HUP mDNSResponder
## enable ip forwarding
sudo sysctl -w net.inet.ip.forwarding=1
## Change default gateway
route delete default
route add default 192.168.0.1
route -n get default
## set gateway for network
route add -net 192.168.42.0 192.168.1.101 255.255.255.0
route get 192.168.1.0
route delete 192.168.1.0
## to add persistently
networksetup -listallnetworkservices
networksetup -setadditionalroutes "Thunderbolt Bridge" 192.168.13.0 255.255.255.0 192.168.2.2
## to delete route persistently
networksetup -setadditionalroutes "Thunderbolt Bridge"
## list static routes
netstat -rn
## port forwarding
sudo autossh -M 20000 -f -L 192.168.0.101:80:192.168.2.4:80 -N gowtham@127.0.0.1
## Add new key to
ssh-keygen
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa_harvey
## Prevent Mac from sleep
pmset noidle
caffeinate -i
## Special chars Ctrl+Cmd+Space
⌠∞
|x dx = x^2
⌡-∞
route.get("/static/*", responder: FileResponder("/path/to/public")
## To open an item/folder/program in finder
cmd-O, cmd-downArrow
## Alt + Key
Γο το Συστεμ Πρεφερενψεσ/Λανγθαγε & Τεχτ/Ινπθτ Σοθρψεσ, σεαρψη φορ Γρεεκ, αδδ ιτ. Νος υοθ μαυ τυπε θ φρομ κευβοαρδ.
## To print special chars alt+shift+key or alt+key
Press ⌘+⌃+Space bar
sysctl -n machdep.cpu.brand_string
## minimise all windows except the one in front
Cmd+opt+H
## Xcode build from command line
xcodebuild
sudo lsof -i -P | grep -i "listen"
netstat -atp tcp | grep -i "listen"
vmware macos install
smc.version = "0"
## create rawdisk
diskutil list
/Applications/VMware\ Fusion.app/Contents/Library/vmware-rawdiskCreator print /dev/disk#
/Applications/VMware\ Fusion.app/Contents/Library/vmware-rawdiskCreator create /dev/disk# ide
## add the lines to the end of vmx file
ide0:0.present = "TRUE"
ide0:0.fileName = "BlueBerry.vmdk"
ide0:0.deviceType = "rawDisk"
suspend.disabled = "TRUE"
smc.version = "0"
## Networking
sudo vi /Library/Preferences/VMware\ Fusion/networking
sudo vi /Library/Preferences/VMware\ Fusion/vmnet8/dhcpd.conf
#Now, after where it says End of "DO NOT MODIFY SECTION" enter the following lines:
host Windows8x64 {
hardware ethernet 00:0C:29:B6:22:3E;
fixed-address 192.168.167.80;
}
host Orange {
hardware ethernet 00:0C:29:F6:17:4B;
fixed-address 192.168.57.3;
}
sudo /Applications/VMware\ Fusion.app/Contents/Library/vmnet-cli --stop
sudo /Applications/VMware\ Fusion.app/Contents/Library/vmnet-cli --configure
sudo /Applications/VMware\ Fusion.app/Contents/Library/vmnet-cli --start
## running dhcp server
sudo vi /etc/bootpd.plist
```
Subnets
_creator
com.apple.NetworkSharing
allocate
dhcp_router
192.168.2.1
interface
bridge100
lease_max
86400
lease_min
86400
name
192.168.2/24
net_address
192.168.2.0
net_mask
255.255.255.0
dhcp_domain_name_server
8.8.8.8
1.1.1.1
net_range
192.168.2.2
192.168.2.254
bootp_enabled
detect_other_dhcp_server
bridge100
dhcp_enabled
bridge100
dhcp_ignore_client_identifier
ignore_allow_deny
bridge100
use_server_config_for_dhcp_options
```
sudo vi /etc/bootptab
```
%%
# machine entries have the following format:
#
# hostname hwtype hwaddr ipaddr bootfile
BLR-L-SKUDUPUD 1 08:3A:88:61:70:23 192.168.2.3
```
sudo /bin/launchctl unload -w /System/Library/LaunchDaemons/bootps.plist
sudo /bin/launchctl load -w /System/Library/LaunchDaemons/bootps.plist
## samba network share
/etc/nsmb.conf
# to install command line tools
xcode-select --install
##
clang++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk -framework OpenGLES -arch arm64 -stdlib=libc++ -std=gnu++11 -fembed-bitcode -c nautical.cpp
ar r libnauticalcpp.a nautical.o
## try it when operation not permitted
sudo chflags nouchg /usr/bin/php
## Set Xcode app
sudo xcode-select --switch /Applications/Xcode.app
brew install ffmpeg --with-fdk-aac --with-tools --with-freetype --with-libass --with-libvorbis --with-libvpx --with-x265
nameserver 202.88.174.6
nameserver 202.88.174.8
## telnet for mac
nc 192.168.2.1 23
## Password protect files
zip -e [new file name].zip [file path]
## All options print menu
defaults write -g PMPrintingExpandedStateForPrint -bool TRUE
defaults write -g PMPrintingExpandedStateForPrint -bool FALSE
## Disable dashboard
defaults write com.apple.dashboard mcx-disabled -boolean TRUE; killall Dock
defaults write com.apple.dashboard mcx-disabled -boolean FALSE; killall Dock
## autohide Dock delay
defaults write com.apple.dock autohide-delay -float 0; killall Dock
defaults write com.apple.dock autohide-delay -float 1; killall Dock
## hide unhide hidden file
Cmd + Shift + .
## Dock pop delay
defaults write com.apple.dock autohide-time-modifier -float 0; killall Dock
defaults delete com.apple.dock autohide-time-modifier; killall Dock
## screenshot
cmd + shift + 3 - capture entire screen
cmd + shift + 4 - capture portion
cmd + shift + 4 & space & click window - capture window
# saved on desktop
# Screenshot shadow disable
defaults write com.apple.screencapture disable-shadow -bool TRUE; killall SystemUIServer
defaults write com.apple.screencapture disable-shadow -bool FALSE; killall SystemUIServer
## Show Desktop
Command–Mission Control
F11
## nproc - number of cores
sysctl -n hw.physicalcpu
## macOS UDF
## soft remount
sudo kextunload -b com.apple.driver.AppleSDXC
sudo kextload -b com.apple.driver.AppleSDXC
## restart nfs server
nfsd restart
## set default shell to bash
chsh -s /bin/bash
## change uid of a user
sudo dscl . -change /Users/YourUserName UniqueID 501 1001
sudo find / -uid 501 -exec chown 1001 {} \;
echo "XAuthLocation /opt/X11/bin/xauth" >> /etc/ssh/ssh_config
## startup apps
Preferences->Users&Groups->LoginItems
or
sudo vi /Library/LaunchAgents/synergyc.plist
```
Label
com.synergy.client
OnDemand
UserName
Gowtham
GroupName
staff
ProgramArguments
/usr/local/bin/synergyc
--restart
-n
TwinkleMoss
-f
192.168.2.3
```
sudo launchctl load /Library/LaunchAgents/synergyc.plist
sudo launchctl unload /Library/LaunchAgents/synergyc.plist
## terminal won't support xterm-24Mcolor.terminfo
## sshfs
sshfs user@host:/somewhere/on/the/Y /Z -o volname=Z
## mDNSResponder is the in built DNS server
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
#if SIP doesn't allow it
sudo killall -STOP mDNSResponder
sudo killall -CONT mDNSResponder
## SIP System Integration Protection
### Disable
1. restart in recovery mode
2. launch terminal from the utilities menu
3. run `csrutil disable`
4. reboot
### Enable
3. run `csrutil enable`
## gdb codesign for Unable to find Mach task port for process-id
- https://sourceware.org/gdb/wiki/PermissionsDarwin
- In keyChain access create codesign certificate gdb_codesign in system
keychain.
- create file `~/Desktop/gdb-entitlement.xml`
```
com.apple.security.cs.debugger
```
- `codesign --entitlements ~/Desktop/gdb-entitlement.xml -fs \ gdb_codesign $(which gdb)`
- reboot
## iterm
### clear history i.e back scroll
Cmd + K