macOS 디렉토리를 돌아다니다 보면, 어느순간 .DS_Store 파일이 생성되어 소스트리가 변경된 것으로 인식한다. 우리가 관리하는 소스트리는 .gitignore에 .DS_Store 파일을 등록하면 되지만, 오픈소스를 서브모듈로 등록할 경우 .DS_Store 파일 생성으로 변경된 것으로 인식된다. 이것이 은근히 눈에 거슬려 macOS에서 .DS_Store 파일을 무엇인지 찾아보니, macOS 파인더를 통해 디렉토리를 접근하면 자동으로 생성되는 파일로 디렉토리 구조와 특성(크기, 아이콘 보기 방식)등의 디렉토리 정보들을 인덱싱하는데 사용하는 파일 같다. 난 이런 파일이 생성되는 것이 거슬리기 때문에 비활성 시키는 방법을 찾아보니, 간단한 명령어로 비활성 시킬 수 있는 것을 확인했다. 네트워크 드라이브나 ..
STM32CubeIDE는 다양한 플랫폼을 지원하고 있어, 설치 및 사용에는 큰 문제가 없으나 이클립스 자체가 무겁기 때문에 CLI 환경으로 GDB 및 이미지 다운로드를 하려고 한다. 최신 버전의 STM32CubeIDE(v1.15.x) 버전을 업데이트하고 STM32CubeIDE에 포함된 컴파일러, ST-Link 및 ST GDB 서버를 CLI 환경으로 사용하기 위해 아래 경로에 각 플러그인의 실행경로를 링크 파일로 생성하여 실행 경로를 설정하였다. 기존 nRF가 사용하는 arm-compiler 버전이 있어, STM32CubeIDE에서 사용하는 arm-compiler 버전을 명시하여 링크파일을 생성하였고, 이 경로를 cmake에서 컴파일 경로로 설정하면 된다. 따라서 이번 프로젝트를 진행하는 사람도 가능하면 ..
우분투를 사용할 때는 프로그램을 전환하여도 현재 입력소스 상태가 아닌 프로그램에서 사용한 입력소스를 유지하고 있는 것이 당연한 것이라 이것이 이렇게 중요한지 요즘 새삼 느끼고 있다. macOS는 입력소스는 모든 앱에 동일하게 적용되기 때문에 특정 앱에서 한글로 입력소스를 설정한 상태라면 다른 앱으로 전환하여도 한글 상태가 유지된다. 이것은 큰 문제가 아니지만 요즘 개발하는 제품의 UART가 LPUART를 사용하기 때문에 한글 입력이 들어오면 타겟보드의 UART Rx가 먹통 되는 현상 때문에 정신이 피폐해지고 있었다. 처음에는 내가 사용하는 시리얼 프로그램인 Tiny Serial에 버그가 있는줄 알고 원인을 찾았지만 딱히 문제 되는 부분이 없어 고민하고 있던 중 SecureCRT나 Serial IOIO 앱..
Alua F87는 공식적으로 macOS 키배열을 지원하지만, 기능 키인 F1 ~ F12는 macOS에서 기능키를 아래 이미지와 같이 기본 값으로 설정하여도 여전히 미디어 키로 동작한다. 맥북은 위 설정과 같이 내가 원하는 방식으로 동작하나 외부 키보드는 전혀 동작하지 않았다. Alua 앱을 설치하여 설정할 수 있을 것 같으나, 중국 제품의 소프트웨어 설치는 백도어가 없다는 것을 믿을 수가 없기 때문에... 궁여지책으로 Aula F87 키맵을 윈도우 키 배열로 설정하고 카라비너 앱을 사용하여 Alt(⌥) 키를 Command(⌘) 키로 설정하고 Window 키를 Alt(⌥)로 변경하였다. 그 이외의 키 배열은 거의 동일하기 때문에 큰 문제없이 사용 가능할 것 같다. 우축 Alt(⌥) 키를 한/영 전환 키로 ..
우분투를 오랜 시간 사용하다 보니 터미널을 실행하는 단축키(⌃ + ⌥ + T)가 몸에 베어 습관적으로 누르는 버릇이 있어, 단축키를 등록하는 방법을 찾다 꽤 괜찮은 앱을 무료로 받을 수 있어 설치하여 사용해보니 대만족하여 블로그에 정리해 둔다. 앱스토어를 통해 무료로 설치가 가능하며, 자주 사용하는 터미널 프로그램인 iTerm2와 헥사 변환 도구 및 계산기인 SpeedCrunch를 일단 등록하여 사용하였는데, 매번 독을 통해 실행했던 불편함이 말끔이 사라졌다. 자주 사용하는 앱은 단축키로 등록하면 아주 편하게 사용할 수 있다. 요즘은 맥북을 주로 사용하다보니 집에서 우분투를 사용할 때 마다 macOS 단축키로 입력하는 경우가 발생하는 거 보면, 정말 사람은 적응에 동물이라는 새삼 느끼며 집에서도 맥북을 ..
Tiny Serial은 매우 심플한 터미널 프로그램이다. Tiny Serial은 미니컴이 불편해서 우분투(리눅스)에서 단순히 터미널 확인 용도로 심플한 터미널 프로그램을 찾다 발견하여 2012년부터 계속 사용했던 프로그램이며, 미니컴 같이 여러 기능을 포함한 것이 아니라 시리얼 Rx/Tx 확인 용도 만들어진 소스이다. 이직한 회사의 개발환경이 macOS로 구성되어 있어, Tiny Serial이 동작하지 않아 구글링하여 급하게 수정하여 사용하였으나, macOS가 업데이트 되면서 Rx는 문제가 없으나 Tx가 동작하지 않아 이것을 수정하여 블로그에 정리해둔다. 기존에 코드 이해없이 구글링하여 급하게 수정한 것이라, 이번에 발생한 문제를 수정하기 위해 termios를 살펴보고 기존 코드의 불필요한 내용은 삭제하..
우분투를 사용할 때는 그냥저냥 기본 계산기를 사용하여도 불편함이 없었는데, 맥북을 사용하면서 기본 계산기는 불편해서 사용할 수 없었다. 인터페이스를 떠나서 Hex / Binary 값을 확인하는데 너무 너무 불편해서 대안할 수 있는 계산기를 찾아도 썩 맘에 들지 않았는데, 동료가 SpeedCrunch라는 공학용 계산기(?)를 사용하는 것을 보고 바로 설치하였다. 진짜 내가 원하는 기능뿐만 아니라 가독성도 좋고 쓰기도 너무 편해서 블로그에 정리해 둔다. F2 ~ F8 키를 이용하여 변환되는 값을 설정할 수 있으며, 이전 계산된 내용도 기록되어 너무 편하다. 더욱이 macOS 뿐만 아니라 우분투, 윈도우 버전도 제공하고 있어, 어떤 플랫폼에서도 사용이 가능하다. SpeedCrunch를 사용해보니, 그동안 우분..
우분투에서 사용한 시리얼 프로그램인 Tiny Serial이 macOS에선 동작하지 않는 문제가 있었다. 컴파일할 때 Baud Rate 말고는 큰 문제가 없는데, 왜 안되는지 확인을 하려고 하였으나 macOS의 screen 커맨드로 당장 시리얼을 사용 못하는 것이 아니여서 그냥저냥 쓰고 있었다. 하지만, screen 명령어로 시리얼을 확인할 경우 몇몇 캐랙터가 이빨 빠지는 현상이 은근히 신경이 쓰여, TinySerial을 macOS에서 동작시키는 것이 정신 건강에 좋을 것 같아 오늘 잠깐 짬을 내어 수정하였다. GitHub - highgon2/TinySerial: Tiny Serial on Ubuntu Tiny Serial on Ubuntu. Contribute to highgon2/TinySerial d..
nRF 이미지의 무결성 검사를 sha256sum 커맨드를 사용하여 digest를 생성하는데 macOS는 sha256sum 커맨드가 xcode 개발도구에 포함되어 있지 않다. coreutils 패키지를 따로 설치해야 한다. % brew install coreutils 위 패키지를 설치하고 sha256sum 같은 필요한 커맨드를 실행하기 위해 아래와 같이 .zshrc 파일에 실행경로를 PATH 환경변수로 등록해야 한다. % vi ~/.zshrc ... export PATH="/opt/homebrew/opt/coreutils/libexec/gnubin:$PATH" ... 하지만, 위와 같이 gnubin 디렉토리를 환경변수로 등록할 경우 iterm2 color schema와 충돌이 발생하여 iterm2 colo..
arm-developer에서 arm-none-eabi 컴파일러를 다운받아 실행할 경우 아래와 같은 메시지가 출력되며 실행이 불가하다. 아무 생각없이 클릭하여 휴지통으로 이동시키는 불상사가 발생하는 경우가 생긴다. 어쨌든 이것을 해결하려면 시스템 설정 -> 개인정보 보호 및 보안 하목에서 특정 터미널 커맨드를 실행할 수 있도록 허용해야 한다. 실행 불가한 터미널 커맨드가 실행때 최소 한번은 위와 같이 설정해줘야 하는 불편함 때문에 아래 명령어로 보안에는 다소 취약하지만 이런 메시지 없이 바로 실행시킬 수 있다. % sudo spctl --master-disable 시스템 설정 -> 개인정보 보호 및 보안 메뉴에서 다운로드한 응용 프로그램 허용이 모든곳이 추가된 것을 확인할 수 있다. 다시 원래대로 복구하려..
연휴동안 맥북만 사용하면서 어느정도 macOS에 익숙해졌지만, 윈도우 계열의 키보드 단축키가 달라서 여전히 불편하다. 집에서는 우분투 & 윈도우를 쓰고 있고, 회사에선 맥북을 쓰고 있으니 여전히 헷갈리수 밖에... 어쨌든 회사에선 레오폴드를 연결하여 사용중에 있는데, 맥북 자판 배열과 동일하게 사용하는 것이 정신 건강에 좋기 때문에 왼쪽 하단의 윈도우 키와 ALT 키를 스왑하여 ALT키를 Command 키로 변경하여 사용하려고 한다. karabiner를 이용할 수 있지만, 인터넷의 숨은 고수가 아주 잘 정리한 것이 있어, 이것을 그대로 적용하였다. 이 블로거는 같이 레오폴드 FC750R 키맵핑을 아래 이미지와 같이 변경하여 사용하고 있다. 이렇게 배치되면 거의 맥북의 키보드 배열과 유사하여 맥을 사용할 ..
macOS에서 가장 마음에 들지 않는 앱이 윈도우의 탐색기, 우분투의 노틸러스 또는 네모격인 바로 Finder이다. 이건 뭐 사용자 커스텀마이징은 거의 불가하고 애플에서 약간 강제성을 띄는 앱처럼 느껴진 파일 관리자이다. 이건 정말 못쓸 것 같았지만, 한달 정도 사용해보니 불편하지만 하나씩 적응 중에 있다. 하지만 여전히 다른 앱이 있다면 설치하고 싶은 욕망은 있지만 어차피 애플에서 강제적으로 쓰도록 한다면 내가 적응하는 것이 앞으로도 정신 건강에 좋을 것 같아, 그냥저냥 쓰고 있다. 최근항목은 우분투를 사용할 때부터 절대 사용하지 않았다. 그 이유는 문서 작업을 위주로 컴퓨터를 사용하는 것이 아니고 개인정보 관련 문서가 최근항목 탭에 남아 있는 것이 상당히 거슬렸기 때문에 최근항목을 사용하지 않는 것을..
대부분의 사람들이 macOS에서 제공하는 기본 터미널 앱을 사용하기 보다는 iterm2 사용하는 것 같다. 그래서 iterm2 다운받아 설치하도록 한다. 그리고 macOS 패키지 매니저인 HomeBrew도 설치해야 하며, 패키지 매니저를 설치하면 CLI환경에서 brew 명령어를 사용하여 앱 또는 패키지 설치가 가능하다. % /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" HomeBrew를 설치하기 위해 Command Line for xcode가 함께 설치되며, 설치가 완료되면 아래의 스크립트를 실행하여 brew 실행 파일을 생성해야 한다. % (echo; echo 'eval "$(/..
masOS Dock 설정은 특별한 설정없이 아이콘 크기, 애니메이션 효과 및 Dock 자동 숨김 등의 기본적인 설정이 가능하다. 시스템 설정 -> 데스크탑 및 Dock 설정 하거나, 아래 이미지와 같이 Dock 구분선에서 보조 클릭을 선택하면 설정으로 들어갈 수 있다. Dock에 아이콘을 많이 넣을 경우 기본 아이콘 사이즈는 큰 편이라 크기를 줄이고 커서 이동에 따른 애니메이션 효과를 주는 것이 좀 더 이쁜 것 같아 확대 기능을 설정하고, Dock이 항상 보여질 경우 작업 환경이 줄어들기 때문에 자동 숨기기 기능을 활성화 하도록 한다. Dock에서 최근 사용한 앱과 제안하는 앱을 표시할 경우 실행되지 아이콘이 표시되므로 이것은 끄도록 한다. 스테이지 매니저는 데스크탑에 실행된 앱을 그대로 바탕화면에 있는..
macOS의 기본 한영 전환키는 ⇪(caps lock)로 설정되어 있다. 맥북은 오른쪽 하단의 한영 전환키는 존재하지 않으며, 맥북의 전용 키인 ⌘(command), ⌥(alt)만 존재할 뿐이다. 수 십년간 오른쪽 하단의 한영키로 입력소스를 변경하였는데, 이것이 ⇪로 변경되니 적응이 안될 뿐만 아니라 대소문 전환키와 같이 사용하니 약간의 딜레이가 생기는 것도 은근히 신경쓰이게 한다. 이것을 해결하기 위해 키맵핑인 karabiner를 설치하여 이 불편함을 해소 하고자 한다. karabiner는 내장 키보드와 외장 키보드 별로 각각 프로파일을 생성할 수 있어 상당히 마음에 드는 앱이다. 블로그 포스팅을 하면서 적응하려고 했지만, 정말 한글 입력 전환을 할 때마다 이것부터 바로 수정해야겠다는 생각에 최우선적으..