# 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