[DEV] 아무도 물어보지 않은 개발용 맥 사용자 계정 분리의 단점

2021. 11. 16. 00:24Develop

제목이…

네, 사실 아무도 안물어볼 것 같다고 생각하고 그냥 제가 답답해져서 쓰고 싶어서 씁니다.

맥 사용자 계정 분리 이유

작성자는 별거 아니지만 여러가지 프로젝트를 참여하고, 대학원을 거치면서 이런 생각을 했다.
PC 사용자 분리 기능을 활용하면 개인 목적 / 개발 목적 (경우에 따라 프로젝트 별로)을 분리하여 사용할 수 있을 것이다!

여기에는 몇가지 세부적인 이유들이 있다.

  • github 등에 내 개인 이메일이나 연락처를 노출시키지 않고싶다.
    • 로컬 디바이스에서 commit을 올리게 될 시, 디바이스 계정의 이름 및 E-mail 정보 (계정 정보)가 author로서 올라가게 된다.
  • 평소 다수의 앱, 브라우저의 탭을 많이 띄우는 편인데, 이를 각 목적에 맞춰 분리 시키고자 하였다.
  • 목적에 맞게 파일들을 나누어 관리하고자 하였다.

추가로, 왜 하필 맥이였는가에 대해서는 아래의 이유가 있다.

  1. 작성자는 평생 윈도우를 쓰다가 대학에 가면서 맥북을 계속 사용해왔기에 맥이 친숙하였다.
  2. 맥을 개발용도로 많이 경험하지는 못하였으나, 다양한 개발 작업에 적합한 맥을 개발용도로 활용하는데 익숙해지고자 하였다.

이러한 이유들로, 작성자는 기존에 사용하던 사용자 외에 개발용 사용자를 추가하고, 해당 사용자 계정에 개발용 자료나 브라우저 등을 분리하였다.

사용자 분리의 방법과 장점

분리 작업 및 방법

  • 맥의 설정에 들어가 신규 사용자를 생성하였다.
    • 개발자용 계정으로, 관리자 권한을 자주 필요로 할 수 있기에, 관리자 권한을 갖는 계정으로 만들었다.
  • 브라우저 분리 작업
    • 사파리는 아이클라우드 계정을 사용하기도 하여 계정의 분리가 편하지 않다고 생각하였으며, 크롬을 적극 활용하였다. (사파리는 개인 목적/ 공용 목적 브라우징으로 사용)
    • 구글 계정은 필요에 따라 복수의 계정을 만들 수 있으므로, 개발자용 계정으로 사용하기 위한 신규 구글 계정을 생성하여 이를 주로 사용하였다.
      • 이 때, 크롬의 탭을 유지시켜, 해당 사용자에 접속할 때 마다 보고있던 브라우저를 볼 수 있었다. (이는 개인 사용자와 개인 크롬 계정에도 동일하다)
  • 파일 분리
    • 기존 사용자 계정에 있던 git repository 등을 finder 혹은 github를 통한 clone으로 옮겼다.
  • 맥용 앱
    • 맥용 앱의 경우 일반적으로 관리자 계정에 설치해두면, 앱 사용을 제한하지 않는다면 다른 사용자도 사용 가능하다. 다만 이에 관한 단점이 있다.

이러한 과정은 신규 PC에 개발환경을 구축하는데에도 활용 가능할 것이다.

장점

  • 일상과 개발 작업의 분리
    • 평소에는 일반 사용자 계정을 통해 원하는 작업을 뭐든 할 수 있고, 이 때 개발 관련 작업이 거의 영향을 주지 않는다.
    • 혹시나 개발 관련 연락을 받기 싫다면 좋은 방법이다.
  • ….

단점 (다소 개인적인 사유일 수 있음)

그렇다. 이 글은 단점을 말하려고 쓴 글이다.
단점은 아래와 같다.

앱 활용도 저하

편의 관련 앱

Logitech Options

  • 작성자는 Logitech Options 프로그램으로 맥용 커스텀 키 등을 활용한다.
  • 작성자가, 중간에 타임머신 복원 등의 과정을 거친 이유도 있겠지만, 개발자용 사용자에서는 앱이 정상적으로 작동하고, 개인용 사용자에서는 앱이 무한로딩 후 종료되었다.
  • 여기서 앱이 다중 사용자 지원에 한계가 있고, 편의성이 저하 될 수 있음을 확인할 수 있다.
  • 심지어 지금 상하 마우스 스크롤이 안된다... 스크롤바 클릭해서 이동한다... 답답하다...

AlDente Pro

  • 작성자는 M1 맥북프로를 사용중이고, 이전에도 그렇지만 디스플레이를 연결하여 작업하는 경우가 많았다. 특히 최근에는 자리에 충전시킨채로 놔두는 경우도 많았다
  • 해당앱은 배터리를 완전충전되지 않도록 관리해주면서 배터리 관리를 최적화 할 수 있도록 도와준다.
    • 다만, 이 앱은 배터리 충전량을 제한하면 해당 앱을 이용하지 않고는 변경할 수 없다.
    • 예를 들면, 외출 전에 100%를 채우려면 설정을 바꿔줘야 한다.
  • 다중 사용자를 사용할 때에는 이 값이 꼬인다.
    • 이에 대한 해결책을 아시는 분이 있다면 의견을 주면 큰 도움이 될 것 같습니다.

커뮤니케이션

Kakao Talk

  • 우선 두 사용자에 각각 카카오톡 PC 연결을 해야한다
  • PC를 바꿀 때 마다, 새로 로그인 해줘야 한다. 이때, 동시접속 문제로 반대쪽은 당연히 로그아웃 된다.
  • 한쪽 사용자를 자주 들어가지 않으면, 위와 같이 메세지가 클라이언트에 다운로드 되지 않아 메세지가 잘리게 됨을 확인할 수 있다.
    • 톡서랍 플러스 등을 활용한다면 기기간 메세지를 복원 가능하지만, 매번 일일이 클릭하여 복원하는 작업은 그리 편하지 않다.

Between

  • 맥용 between은 보통 잘 작동한다
  • 그런데 한 사용자가 사용중일 때, 다른 사용자로 넘어가서 비트윈을 실행하면 위와 같은 이유로 실행이 되지 않는다.
    • 참고로 카카오톡은 사용자별로 따로 앱을 실행할 수 있다 (다만, 한쪽에서 로그인 하면 반대쪽에서 로그아웃 될 뿐…)
    • 이때에 만약 해당 사용자에서 이 앱을 쓰고 싶다면, 다른 사용자로 넘어가서 앱을 종료 후 다시 사용자를 바꾸고 앱을 다시 실행해야 한다…;;

사용자 전환, 유지의 번거로움

  • 위에서 봤던 사용자 목록에서, 바꾸고자 하는 사용자를 클릭하면, 다음과 같이 로그인 창이 뜨게 된다.
    • 사용자 전환 시, 매번 로그인 해줘야 한다. Touch ID가 없으면 매번 비밀번호를 입력해줘야한다.
    • 사용자 모두 Apple Watch로 잠금 해제는 어려운 것 같다. 만약 된다면 의견 주면 좋겠다.
  • 복수의 사용자에 로그인 시 부하 발생
    • 작성자의 맥북은 M1 맥북에어 기본형에 16GB 램 옵션이다.
    • 사용자 1명일 때, 왠만한 상황에서 발열이 없었다. 굳이 따지면 고해상도 모니터 연결 후 오래있으면 허브에서 발열?
    • 다만, 개인 사용자에서 여러 브라우저를 띄우고, 개발용 사용자에서 Vscode나 여러 브라우저 등을 띄우다보니, 맥 자체에 발열이 심해짐을 확인했다.
      • 가벼운 작업에는 발열이 별로 없지만, 헤비유저는 유의해야 할 것이다.

용량 감소

  • 기존에 256 GB 용량으로 사용자 1인은 충분히 사용하였다.(128 GB 전후로 용량 사용)
    • 사용자 추가 후 체감상 약 1.5배 증가
      • 사용자 별 데이터를 별도로 저장하기 때문에 용량을 많이 사용한다
      • 앱별 데이터의 경우 어느정도 공유되기에 완전히 2배는 되지 않지만, 이를 감안하더라도 용량이 많이 부족해짐

개발 접근성 저하

개발 환경을 분리하는 것은 개인 공간과 개발 공간을 분리해주지만, 이는 개발의 접근성을 낮추게 된다.
작성자에게 맥은 개발용으로서 생업과 직결되지 않기에 접근성이 떨어지면 몇일간 들여다보지 않게 된다. 이는 장기적으로 작성자가 바란 개발을 위한 맥과 사용자 분리 목적과 부합하지 않는다.

결론

작성자는 이것저것 정리되면 맥 사용자를 하나로 다시 통합하려 한다.
다만 아래와 같이 합칠 것이다. 현재로서는 작성자에게 이것이 가장 합리적이라고 판단하였다

  • 사용자 계정 자체를 개발자용 계정에 맞출 것이다. (기본 계정에 개발자용 git author를 적용해줌)
  • 특정 목적의 웹서핑 내용은 Chrome 사용자를 분리
    • 추가로 최신 Safari의 탭 그룹 기능 적극 활용 예정 (아이폰, 아이패드는 크롬을 주로 쓰다가 iOS15 부터 사파리를 주로 사용중)
  • 파일의 경우 사용자 내에서 경로 분리 예정

장단점을 따지긴 했지만, 단순히 작성자의 생각 정리고, 다짐의 과정이다.
개발을 위해 여러 환경을 고민하는 이들에게 도움이 되길 바란다. :)

 

 

2021.11.15 -> 2022.02.27

SMALL

'Develop' 카테고리의 다른 글

[macOS] homebrew with arm mac (M1 processor)  (0) 2021.09.11