Blog
구형 맥북 운영체제 복구하기
2016 레티나 맥북(Retina Macbook)에 우분투 서버를 깔았는데 applespi spi-APP000D:00: SPI transfer timed out이라는 오류가 나면서 부팅이 제대로 안된다. 키보드, 터치패드, Wi-Fi 모듈이 제대로 작동 안 할때 발생한다고 한다. 드라이버를 설치하라고 하는데 Wi-Fi가 안되니 설치를 할 수가 없다. 랜선으로 연결하고 설치를 하면 되는 것 같은데 포기하고 다시 맥오에스로 돌아가기로 했다. 화면 해상도도 제대로 안잡힌다. 복구 모드로 들어가서 설치를 할 수 있는데 파티션이 다 날 ……
life |2025-02-21 | Comments (0)
맥오에스에서 launchd로 서비스 띄우기
맥오에스에서 systemd와 같은 역할을 하는 기능이 있나 찾아보니 launchd가 있다고 한다. Launchd는 에이전트(agent)와 데몬(daemon) 두가지로 띄울 수 있는데 에이전트는 사용자 계정을 로그인 했을 때 뜨게 되고 데몬은 맥이 부팅되면 뜨게 된다. 에이전트는 ~/Library/LaunchAgents/에 넣고 데몬은 /Library/LaunchDaemons/에 넣는다. 데몬은 root 권한이 필요하다. 형식은 plist XML파일로 한다. <?xml version="1.0" encoding="UTF ……
dev |2025-02-18 | Comments (0)
맥오에스에서 로컬 로그인을 해야만 SSH 연결이 되는 현상
보통은 부팅 후 로컬에서 로그인을 하지 않아도 원격에서 로그인 할 수 있어야 한다. 그런데 어떤 연유로 맥을 재부팅한 후에 그 컴퓨터에서 로그인을 해야만 SSH연결이 됐다. SSH만 그런 것이 아니라 launch deamon도 로그인을 해야 그제서야 작동을 했다. 결론부터 말하자면 파일볼트(FileVault)가 켜져 있으면 꺼야 작동을 한다. 사용자 로그인 화면이 나와서 마치 운영체제가 뜬 것으로 생각할 수 있지만 사실 스토리지가 잠겨 있는 상태이고 사용자 비밀번호가 입력이 되어야 스토리지에 접근이 된다. 재부팅이 엄청 빠르게 ……
dev |2025-02-16 | Comments (0)
오디오엔진 A2+ 와이어리스
오랬동안 눈여겨 보고 있던 오디오엔진 A2+ 와이어리스를 구매했다. 패키지도 성의 있고 작고 아담한 액티브 스피커다. 데스크에 놓고 쓰기에 디자인도 예쁘다. RCA와 3.5mm, USB 입력이 되고 연결하는 전선도 한다발 들어 있다. 발란스 입력은 없다. 그래도 스피커인데 유선 연결을 해야하나 생각했지만 큰 차이 없다는 리뷰들이 있어서 그냥 블루투스로 연결했다. L-R 연결은 전선으로 연결하게 되어 있다. 크기가 작아서 그런지 음량이 부족하다. 고음역대는 실크돔 트위터를 사용한다고 하는데 만족스럽다. 전반적인 음질은 만족스 ……
life |2025-02-15 | Comments (0)
크론탭 명령어의 퍼센트 기호
The "sixth" field (the rest of the line) specifies the command to be run. The entire command portion of the line, up to a newline or % character, will be executed by /bin/sh or by the shell specified in the SHELL variable of the cronfile. Percent-signs (%) in the command, unless escaped with backsla ……
dev |2025-01-11 | Comments (0)
CSS clamp() 함수
width와 height에는 min/max 값을 지정하는 별도의 속성이 있어서 레이아웃 구성에 유용하게 사용할 수 있다. 다른 속성에도 이와 같이 최대/최소값을 적용할 수 있으면 좋겠다는 생각이 드는 경우가 있는데 이럴 때 clamp()를 사용할 수 있다. const css = document.createElement('style'); css.innerHTML = ` .clamp-container { border: 1px solid #00c; padding: 4px; animation: clamp-contia ……
dev |2024-12-08 | Comments (0)
Android 폰에 웹서버 설치하기
철지난 스마트폰을 보면 하드웨어 성능은 나쁘지 않은데 이를 활용할 방법은 없을까 고민해 왔다. 보통은 대체제들도 가격이 워낙 싸서 그다지 유용한 경우는 많지 않았다. 라즈베리 파이 가격이 많아 올라서 작은 서버로 사용할 수 있을지 시도해 봤다. 서버는 리눅스 계열이 익숙해서 살펴보니 하드코어하게 폰을 다 밀고 설치하는 방법도 있는데 설치할 수 있는 폰도 제한적이고 위험도도 높아 보였다. 가장 많이 사용하는 방법은 터먹스(Termux) 앱을 사용하는 방법 같다. 터먹스는 "안드로이드 터미널 에뮬레이터와 리눅스 환경 앱(Andro ……
software |2024-11-03 | Comments (0)
Ubuntu 24에 Puppeteer용 Chromium 설치하기
우분투 24(Ubuntu 24)에 퍼피티어(Puppeteer)를 깔고 크로미움(Chromium)을 깐다. sudo -u www-data npx puppeteer browsers install chrome 다음에 크롬이 사용하는 의존 패키지를 깐다. sudo apt-get install gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgbm1 libgcc1 libgconf-2-4 lib ……
dev |2024-10-26 | Comments (0)
Puppeteer에서 SSH 터널링 프록시 사용하기
한국 공공 사이트들은 해외 접속을 차단한 경우가 참 많다. 해외에 있는 서버에서 접근이 안된다. 외국에 나가 있으면 국민이 아닌건지 세금으로 만든 사이트를 왜 그렇게 운영하는지 모르겠는데, 그래서 국내에 프록시를 두고 접근하게 설정을 해봤다. 프록시 서버를 만드는 방법은 다양하지만 SSH 터널링이 가능하다면 가장 간단한 방법으로 생각된다. SSH 터널링은 SSH 포트 포워딩이라고도 하는데 SSH를 통해 임의의 데이터를 전송하는 방법을 말한다. SSH 서버가 이쪽에 있는지 저쪽에 있는지에 따라서 설정이 달라지고 특정 포트가 아니 ……
dev |2024-10-19 | Comments (0)
리버스 프록시로 HTTP 기본 인증 우회
HTTP 기본 인증(HTTP basic authentication)이 보안에 좋지 않다고 하지만 편리하기 때문에 널리 사용된다. 이름만 대면 모르는 DS가 없을 툴 중에도 인증 기능이 HTTP 기본 인증으로 되어 있는 경우가 있다. location /auth { auth_basic "Authentication required"; auth_basic_user_file /path/to/basic-auth; } 이렇게 /auth에 기본 인증 설정이 되어 있다고 할 때, location /freepass { p ……
dev |2024-10-09 | Comments (0)