[Mac] Dock에 앱 관련 아이콘 추가

Launchpad 추가

기본으로 Dock에 Launchpad 아이콘은 추가되어 있다. 없앴을 때 복구하고 싶다면 다음과 같이 한다.

  1. “Finder” 실행
  2. 왼쪽 바의 “응용 프로그램”에서 우클릭 후 “Dock에 추가”

“응용 프로그램” 추가

아래처럼 “응용 프로그램” 전체를 볼 수 있는 아이콘을 추가한다.

  1. “Finder” 실행
  2. 왼쪽 바의 “위치”에서 “XXX의 MacBook Pro” / “Macintosh HD”
  3. “응용 프로그램”을 끌어다 Dock에 갖다 놓기

[Mac] Windows manager Rectangle쓰기

기존에 Windows manager로 Veer를 쓰다가 Rectangle이 더 나은 것 같아 갈아탔다. 설치는 Rectangle 사이트(https://rectangleapp.com/)에서 다운로드 받아 설치하면 된다.

내 Rectangle 설정 (32:9 모니터 기준)
내 Rectangle 설정 (32:9 모니터 기준)

나같은 경우는 아래 절반, 위 절반을 사용하지 않기 때문에 둘 모두 없앴다. 대신 높이 최대화를 Ctrl + Option + 위, 가운데 절반을 Ctrl + Option + 아래로 설정했다.

32:9 울트라 와이드 모니터의 경우 Ctrl + Option + D, F, G가 유용할 것 같다. Ctrl + Option + D만 눌러도 1/3씩 토글되면서 움직인다.

왼쪽 위, 오른쪽 위, 왼쪽 아래, 오른쪽 아래도 사용하지 않을 것 같아서 1/4 쪽으로 U, I, J, K도 바꿨다. 역시 Ctrl + Option + U만 눌러도 1/4씩 토글되면서 움직인다.

창 복원은 항상 Ctrl + Option + BackSpace 이다.

[Mac] 초기 마우스/키보드 설정

마우스

마우스 스크롤 방향 바꾸기

  • “시스템 환경설정” / “마우스” / “스크롤 방향: 자연스럽게” 체크 해제

Logitech Options 설치 (Logitech MX Master 2s, MX Vertical, Craft 키보드 사용 시)

키보드

키보드 지연 시간 설정

  1. “시스템 환경 설정” / “키보드” / “키보드”
  2. “키 반복”을 가장 오른쪽 “빠르게”
  3. “반복 지연 시간”을 가장 오른쪽 “짧게”

Karabiner-Element 설치

  1. Karabiner-Element 사이트에서 다운로드 받아 설치
  2. “시스템 환경 설정” / “보안 및 개인 정보 보호” / “개인 정보 보호” / “입력 모니터링”에 karabiner_grabber와 karabiner_observer 둘 모두 체크

Caps Lock으로 한영 전환 시 지연 없애기

  1. “Karabiner Element Preferences” / “Simple Modifications” / “For all devices” 에서 “Add Item”, 왼쪽 “—-” 를 누른 후, “Modifier keys” / “caps_lock”, 오른쪽 “—-” 를 누른 후, “To key”에 “Function keys” / “f19”
  2. “시스템 환경 설정” / “키보드” / “단축키” / “입력 소스”에서 “입력 메뉴에서 다음 소스 선택”의 오른쪽에 있는 단축키를 선택하고 Caps Lock 키를 눌러 “F19″로 설정.

외부 키보드 사용 시 Command 키와 Option 키 바꾸기

  1. “Karabiner Element Preferences” / “Simple Modifications” 에서 외부 키보드, 예를 들면 “REALFORCE_1 (Topre Coperation)” 을 선택
  2. “From key”에 “Modifier keys” / “left_option”, “To key”에 “Modifier keys” / “left_command”
  3. “From key”에 “Modifier keys” / “left_command”, “To key”에 “Modifier keys” / “left_option”

외부 키보드 사용 시 오른쪽 Alt(Option)키를 한영 전환키로 바꾸기

  1. “Karabiner Element Preferences” / “Simple Modifications” 에서 외부 키보드, 예를 들면 “REALFORCE_1 (Topre Coperation)” 을 선택
  2. “From key”에 “Modifier keys” / “right_option”, “To key”에 “Function keys” / “f19”

외부 키보드에 한영키가 있는 경우

  1. “Karabiner Element Preferences” / “Simple Modifications” 에서 외부 키보드, 예를 들면 “REALFORCE_1 (Topre Coperation)” 을 선택
  2. “From key”에 “International keys” / “lang1”, “To key”에 “Function keys” / “f19”

PC-Style Home / End 키 동작

  1. “Karabiner Element Preferences” / “Complex Modifications” / “Add rule”을 선택
  2. “Import more rules from the Internet (Open a web browser)”
  3. “pc style Shortcuts”를 입력
  4. “PC-Style Shortcuts”의 오른쪽 “Import” 버튼을 누른 후 “Import”
  5. 추가된 “PC-Style Shortcuts”의 rule 중 “Home key to the beginning of the line (Control + a)” 옆 “+ Enable”
  6. 추가된 “PC-Style Shortcuts”의 rule 중 “End key to the end of the line (Control + e)” 옆 “+ Enable”
  7. 추가된 “PC-Style Shortcuts”의 rule 중 “Home key to the beginning of the sentence (Command + Left). Doesnt work in terminal” 옆 “+ Enable”
  8. 추가된 “PC-Style Shortcuts”의 rule 중 “End key to the end of the sentence (Command + Right). Doesnt work in terminal” 옆 “+ Enable”
  9. 추가된 “PC-Style Shortcuts”의 rule 중 “PC-Style Home/End” 옆 “+ Enable”
  10. 위의 Enable 순서가 바뀌지 않도록 한다.

[Linux/Mac] group id 얻기

그룹 이름으로부터 GID 얻기

$ getent group <GROUP_NAME> | cut -d: -f3

예를 들어, docker 그룹의 gid를 얻고 싶다면

$ getent group docker | cut -d: -f3

파일의 소유 그룹의 GID 얻기

어느 파일의 소유 그룹의 gid를 얻고 싶다면.

$ stat -c "%g" <FILE_NAME>

예를 들어, /var/run/docker.sock의 소유자가 root:docker일 때 docker의 gid를 얻고 싶다면

$ stat -c "%g" /var/run/docker.sock

[MacOS] file descriptor와 process limit 늘리기

맥에서 “too many open files” 에러 나면서 안되는 경우가 있다. Linux에 비해 limits이 너무 적기 때문이다.

Big sur 기준

  1. sudo vi /Library/LaunchDaemons/limit.maxfiles.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>Label</key>
    <string>limit.maxfiles</string>
    <key>ProgramArguments</key>
    <array>
      <string>launchctl</string>
      <string>limit</string>
      <string>maxfiles</string>
      <string>524288</string>
      <string>524288</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>ServiceIPC</key>
    <false/>
  </dict>
</plist>

2. sudo launchctl load -w /Library/LaunchDaemons/limit.maxfiles.plist

3. sudo vi /Library/LaunchDaemons/limit.maxproc.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple/DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  <plist version="1.0">
    <dict>
      <key>Label</key>
        <string>limit.maxproc</string>
      <key>ProgramArguments</key>
        <array>
          <string>launchctl</string>
          <string>limit</string>
          <string>maxproc</string>
          <string>2048</string>
          <string>2048</string>
        </array>
      <key>RunAtLoad</key>
        <true />
      <key>ServiceIPC</key>
        <false />
    </dict>
  </plist>

4. sudo launchctl load -w /Library/LaunchDaemons/limit.maxproc.plist

5. sudo sysctl -w kern.maxfiles=5242880

6. sudo sysctl -w kern.maxfilesperproc=524288

7. Reboot

참고: https://wilsonmar.github.io/maximum-limits/