[카테고리:] 미분류

  • CRT의 동작 원리를.araboja

    https://youtu.be/p6GaNQIi8A0

    CRT(Cathode Ray Tube / 음극선관)는 1897년 독일의 물리학자인 카를 페르디난트 브라운(Karl Ferdinand Braun)이 발명하여 1937년에 상용화되었습니다.

    이렇게 상용화된 CRT TV는 2000년대 중 · 후반까지 주력으로 사용되었습니다.

    이후 기술의 발전으로 LCD 등 대체 기술이 완전한 상위 호환으로 떠오르면서 자연히 퇴역하였으며, 이후로도 장비를 쉽게 바꾸기 어려운 산업 현장, 오락실, 또는 극히 일부 가정 등에서는 아직도 사용되고 있습니다.

    환경이나 안전 등을 이유로 이미 십수년 전에 생산이 종료된 구식 기술이지만, 여전히 그 동작 원리를 상세히 알아보고 싶으신 분들 또한 있는 것도 사실입니다.

    이번 글에서는 CRT가 어떻게 동작하는지, 그리고 CRT 외에는 따라할 수 없는 이점 등에 대하여 소개해 보고자 합니다.

    CRT의 기초 형태

    사실, CRT는 진공관의 형태 중 하나입니다.

    깊게 따지고 들어가면 전구에서 시작되었다고 할 수는 있지만, 생략하겠습니다.

    진공관은 트랜지스터의 발명 이후로 설 자리를 잃은 듯 했으나, 현 시대에도 여전히 살아남고 있는 분야가 분명히 존재하며, 그 중에는 전문 오디오, 전자레인지가 있습니다.

    먼저 CRT의 근간이 되는 진공관 다이오드에 대해 알아보겠습니다.

    https://en.wikipedia.org/wiki/File:Diode_vacuum_tube.png

    내부가 진공인 유리관에는 음극(Cathode)을 담당하는 필라멘트, 그 위에 양극(Anode)을 담당하는 금속판이 있습니다.

    이때 음극의 역할을 하거나, 또는 음극을 가열해주는 필라멘트가 충분히 가열되면, 음극에 있던 전자가 양극으로 이동합니다.

    그렇다면, 여기서 양극판을 원형 고리의 형태로 바꾸면 어떻게 될까요?

    음극에서 양극으로 전자가 흐르는 건 여전하지만, 앞이 뚫려 있으므로 전자가 계속 앞으로 나아가게 됩니다.

    이 상태에서 유리관을 충분히 넓히고, 앞에 화면을 만든 다음 내부면에 인(Phospor)으로 된 형광체를 도포합니다.

    전자총에서 나오는 전자는 가시광선이 아니지만, 이 전자가 앞으로 나아가 형광체를 타격함으로서 가시광선에 해당하는 빛이 발산됩니다.

    이로서 CRT의 기초적인 형태가 만들어집니다.

    전자를 가속시키기, 그리고 CRT의 위험성

    단순히 진공관에 도료만 바른 상태로는 CRT로 활용이 불가능합니다. 이 상태로 전원을 주입하면 그냥 약하게 빛나는 전구가 됩니다.

    전자총에서 곧바로 나온 전자는 방사형으로 느리게 뿌려집니다. 이를 빠르고 정교하게 조작하여 하나의 화면으로 만들기 위해서는 필수 부품이 몇개 더 추가되어야 합니다.

    https://study.madeeasy.in/ee/electrical-electronic-measurements/cathode-ray-tube/

    흔히 “CRT에는 고전압이 흘러 위험하다”는 얘기를 많이 들어보셨을 겁니다.

    CRT TV나 모니터의 메인보드에는 FBT(Fly Back Transformer / 고압 변압기)가 장착됩니다. 이 부품은 최소 수천 V에서 최고 수만V에 달하는 초고전압을 만들어 냅니다.

    이 전압이 전자총의 양극 부분에 공급되면, 음극으로부터 발산된 전자 입자가 빛의 약 30% 정도에 달하는 속도로 가속되며, 또한 올바른 세기와 형태로 가공되어 화면으로 나갑니다.

    https://www.wired.com/story/crt-tube-tv-hot-gaming-tech-retro-games/

    하지만 아무리 전자 빔의 형태가 정교하더라도, 화면까지 도달하는 거리가 일정하지 못하면 흐린 화상이 나타납니다. 이 때문에 어느 위치에 닿아도 그 거리가 일정하게 유지되도록 CRT는 한동안 화면이 볼록했으며, 이후 기술의 발전으로 평면에 가까운 화면이 등장했습니다.

    https://commons.wikimedia.org/wiki/File:CRT_Anode_Cap.jpg

    CRT 회로에서 만들어낸 양극은 분해하기 용이하도록 튜브에 청진기처럼 생긴 고무 캡의 형태로 소켓에 장착됩니다. 설명했듯이 최고 수만V에 달하는 초고전압이 공급되기에 손가락을 가까이 가져만 가도 아크 방전이 일어나는 수준이며, 이를 방지하기 위해 고무 캡이 달려 있습니다.

    이 양극에 걸리는 초고전압은 CRT를 빠르게 켜기 위해 고전압 커패시터에도 적재됩니다.1 이 때문에 꺼진 상태에서도 감전의 위험이 도사리며, 작업할 때는 반드시 양극을 방전시켜야 합니다.

    진공관이 으레 그렇듯이, 전자 빔이 공기 입자와 충돌하여 다시 흩뿌려지면 제대로 된 화상이 만들어지지 않으므로, CRT 내부는 항상 진공 상태를 유지합니다.

    이러한 상태에서 CRT 제조 공정의 불량으로 인한 폭발 사고가 가끔 있었으며, 나중에는 폭발하더라도 인명 피해를 발생시키지 않도록 비산 방지 유리를 하나 더 덧대어 제조하였습니다.

    또한, 전자총에서 발사한 고에너지의 전자 빔이 형광체와 충돌하면서 제동 복사(Bremsstrahlung) 효과로 인해 미량의 X선이 방출됩니다.

    CRT는 두꺼운 납유리로 제조되기에 방출되는 X선을 대부분은 차단하지만, 여전히 미량의 X선은 밖으로 빠져나가기 때문에 가까이에서 바라보았을 때 건강에 유해할 수도 있습니다. 이 때문에 CRT TV를 볼 때는 멀리 떨어져서 봐야 하는 국룰 아닌 국룰이 존재했습니다.

    전자의 방향을 조정하기

    다시 본론으로 돌아와서, 이 상태에서 화면을 키면 단순히 정중앙에 점 하나만이 생깁니다. 이를 사람의 눈으로 봤을 때 하나의 화면으로 보일 수 있게 하려면, 화면의 원하는 곳에 점을 찍게끔 전자 빔을 구부릴 수 있는 부품이 필요합니다.

    https://electronics.stackexchange.com/questions/628701/why-are-the-vertical-deflection-coils-in-a-crt-deflection-yoke-so-different-from

    전자 빔은 자기장으로 방향을 구부릴 수 있습니다. 이러한 특성을 이용하여 전자 빔을 정교하게 조작하기 위해서는 편향 코일(Deflection Coil, Yoke라고도 함)이 필요합니다.

    편향 코일은 구리 코일로 만들어진 전자석으로, CRT의 목 부분에 장착되어 전자 빔이 닿아야 할 위치를 조정합니다.

    CRT는 LCD와 다르게 한번에 하나의 화상을 바로 만들어내지 못합니다. 따라서 육안으로 보기에 화면처럼 느껴지도록 TV의 경우 보통 15KHz, 또는 그 이상 매우 빠른 속도로 편향 코일을 조작하여 화상을 만들어 냅니다.

    가로 주사율과 편향 코일 제조기술의 한계로 인해 코일에서 고주파음이 발생합니다.

    편향 코일이 전자 빔을 찍는 방식에는 크게 두 가지가 있습니다.

    좌에서 우로 전자 빔을 주사한 뒤 바로 다음 줄로 넘어가는 순차 주사(progressive) 방식입니다.

    가로 해상도는 낮지만 또렷한 화상이 표시되고 반응 속도가 빠른 장점이 있습니다. 이로 인해 컴퓨터의 화면 표시, 게임 등에 사용됩니다.

    다른 하나로는 비월 주사(interlaced) 방식입니다. 좌에서 우로 주사하는 방식은 순차 주사와 같지만, 홀수와 짝수 가로줄로 나뉜 것을 번갈아가며 표시하는 방식입니다.

    가로 해상도가 높아지지만, 세로 해상도는 동일하기 때문에 원본 해상도 대비 화상이 약간 흐리며, 반응 속도가 소폭 느려지고, 제품에 따라 화면이 수직으로 약간 흔들리는 경우가 있습니다. 이러한 방식은 TV 및 동영상에 주로 사용됩니다.

    https://shmups.system11.org/viewtopic.php?t=63197

    이 두가지 주사 방식은 좌상단부터 우하단까지 가로줄을 그어가면서 화상을 그려나가는 래스터 스캐닝 방식이라는 공통점이 있습니다.

    하지만 아무리 가로줄을 서로 붙이려고 해도 그 사이에 검은 줄로 된 공백이 남는다는 한계가 있는데, 이를 “스캔 라인“이라고 부릅니다.

    과거 게임들은 이러한 CRT의 특성을 이용해 그래픽을 제작하였기 때문에 스캔라인의 유무에 따른 화질 체감 차이가 큰 편입니다.

    따라서 대다수의 에뮬레이터에는 LCD와 같은 현세대 디스플레이 환경에서 스캔라인을 재현하는 기능이 있습니다.

    컬러는 어떻게 표시하는가?

    CRT는 원래 흑백이었습니다.

    이후 기술의 발달로 1955년에 최초로 컬러 CRT가 발명된 이래로, 한국 내에서는 1980년대에 컬러 TV 방송을 개시하며 본격적인 보급이 시작되었습니다.

    컬러 CRT는 흑백 CRT와 다르게 그 구조가 약간 더 복잡하게 이루어져 있습니다.

    빛의 삼원색(RGB)대로 3개의 전자총이 있고, 여기서 발생한 전자 빔이 섀도우 마스크를 통해 필터링되어 알맞은 형광물질에 도달합니다.

    형광물질은 색상에 따라 일정한 패턴으로 그려져 있습니다.

    3개의 전자총은 각자 다른 각도로 전자 빔을 발사하는데, 전자총 시점에서 일정 각도로 섀도우 마스크를 향할 때 원하는 색상의 형광물질만을 볼 수 있게 합니다.

    https://filthypants.blogspot.com/2020/02/crt-shader-masks.html

    색상을 표시할 수 있다는 장점은 있지만, 가까이에서 봤을 때 선명도가 떨어져 보이는 단점이 있습니다.

    때문에 컴퓨터 또는 소형 모니터의 경우 기술이 발달할 때까지 한동안은 흑백 등의 모노크롬 CRT를 대중적으로 사용하였습니다. 이는 초창기 Macintosh가 흑백 CRT를 고집한 이유이기도 합니다.

    CRT만이 가질 수 있는 이점

    CRT에는 정해진 해상도가 존재하지 않습니다.

    LCD에서는 네이티브 해상도를 사용하지 않으면 화상이 스케일링되어 다소 흐릿하게 표시됩니다.

    하지만 CRT는 래스터 화면을 송출하는 회로가 완전히 아날로그이기 때문에 지원하는 해상도 내라면 1:1로 뚜렷한 화상을 내보냅니다.

    명암비가 뚜렷하다는 장점 또한 있습니다.

    LCD 뒤에 있는 백라이트는 화상이 까맣든 아니든 간에 계속 빛을 내기 때문에 블랙 레벨에서 감점을 먹고 들어가지만, CRT는 그냥 검은 부분에 전자 빔을 송출하지 않으면 됩니다.

    설명했듯이 CRT는 아날로그 디스플레이기 때문에 가능한 거의 모든 색상을 섬세하게 표현할 수도 있습니다.

    다만 블랙 레벨이 좋다는 장점은 OLED가 계승했다는 점을 감안할 필요가 있습니다.

    CRT는 반응 속도가 존재하지 않습니다.

    위에서 보듯 전자총에서 쏘아진 전자 빔은 고전압을 공급받는 양극에 의해 빛의 약 30%에 달하는 속도로 가속됩니다.

    신호를 아날로그 변환만 거쳐 CRT로 전송하기 때문에 회로에서의 지연 또한 존재하지 않습니다.

    보너스 : CRT로 만들어진 또 다른 디스플레이

    Sony VPH-1000Q
    https://www.recycledgoods.com/sony-vph-1000q-super-bright-s-video-video-projector/

    우리가 아는 LCD나 DLP 방식 프로젝터가 등장하기 이전에는 CRT 프로젝터가 주로 사용되었습니다.

    이 중 삼관식 프로젝터의 경우 서로 다른 색의 CRT를 3개 놓음으로서 섀도우 마스크나 형광물질 패턴이 없어 화질이 매우 우수하다는 장점이 있습니다.

    하지만 CRT 프로젝터는 매우 비쌌고, 밝기가 매우 낮았으며, CRT 자체를 3개나 사용하여 보정 난이도가 하늘 넘어 우주를 뚫는 수준으로 까다로웠습니다.

    https://www.curtpalme.com/Fungus_Removal1.shtm

    CRT 프로젝터는 일반 CRT TV나 모니터보다 더 강한 출력을 내고, 그만큼 발열도 매우 심하기 때문에 이로 인한 번인 현상을 최대한 억제하고자 화면에 냉각수 챔버를 장착했습니다.

    이 냉각수는 글리콜을 기반으로 적정량의 색소가 섞여 있는데, PC에서 볼 수 있는 수냉 쿨러와는 달리 순환되지 않기 때문에 장시간 방치할 시 내부에 이끼가 자라 화면이 흐려지는 원인이 됩니다.

    결국 이후에 등장한 LCD와 DLP 프로젝터에 입지를 추월당해 역사 속으로 사라졌지만, 극소수의 레트로 게이머들은 여전히 CRT 프로젝터를 찾기도 합니다.

    https://www.recycledgoods.com/mitsubishi-55-widescreen-rear-projection-tv-ws-55809/

    같은 원리로 만들어진 CRT 프로젝션 TV 또한 존재합니다.

    CRT의 화상을 뒤에서 화면을 향해 투사하는 방식으로, 앞에서 설명했던 CRT 프로젝터와 같은 장점을 공유하고, 조금 더 싼 값에 고화질의 대화면을 만들 수 있다는 특징이 있습니다.

    이후 가성비가 더 좋은 DLP 방식으로 대체되었다가, PDP 및 LCD의 대형화로 인해 시장에서 자취를 감추었습니다.

    https://electronics.stackexchange.com/questions/399086/dso-oscilloscopes-with-crt-screens

    오실로스코프나 초창기 아케이드 게임에는 벡터 방식 CRT가 사용되었습니다.

    픽셀과 같은 개념 자체가 존재하지 않기에 매우 자연스러운 선을 그려낼 수 있는 장점이 있지만, 정말로 선만 그릴 수 있었기에 표현의 한계가 명확했습니다.

    CRT 오실로스코프는 더 이상 만들어지지 않고 있지만, 이 방식의 오실로스코프만을 고집하는 기술자들 또한 존재합니다.

    결론

    CRT는 이미 생산 및 공식 기술지원이 모두 종료된 디스플레이 기술입니다. 하지만 CRT 특유의 화질이나 특성은 LCD 같은 다른 디스플레이 기술이 대체할 수 없는 상황입니다.

    또한 요새 뜨고 있는 복고풍의 범위가 90년대 내지 00년대로 옮겨가면서 CRT에 맞춰진 컨텐츠를 최고의 화질로 즐길 수 있다는 장점이 있으며, CRT 자체의 두껍고 볼록한 형태에서 오는 향수는 많은 사람들을 CRT로 끌어들이기에 충분합니다.

    참고가 되셨기를 바라며, 이번 글을 통해 CRT의 동작 방식을 이해하여 향후 CRT를 매입할 때 선택의 폭을 좁혀나갈 수 있을 것으로 기대합니다.

    1. 조금 더 최근에 나온 CRT는 사용하지 않을 때 FBT에 적재된 고전압을 자연히 빼주는 bleeding resistor가 설치되지만, 수십년이 지난 현재 정상적으로 작동하지 않는 경우도 다소 있습니다. ↩︎
  • 삼성 시리즈7 슬레이트 PC (XQ700T1A) 배터리 자가교체

    삼성 시리즈7 슬레이트 PC (XQ700T1A) 배터리 자가교체

    x86_64 기반의 태블릿을 싸게 사려고 당근을 주시하다 7만원에 구매한 슬레이트 PC입니다.

    i5-2467M에 4GB RAM으로 성능이 그렇게 높지는 않지만 Linux에서의 사용은 나름대로 쾌적합니다.

    다만 이 기기에는 상당히 큰 문제가 하나 있는데,

    배터리 수명이 약 40% 남아 있었습니다.

    실제로 완충 상태에서의 배터리 타임이 1시간도 채 안 됩니다.

    이래서는 태블릿으로서 실사용조차 할 수 없으므로, 호환되는 배터리를 구매하여 자가수리를 진행하려 합니다.

    조사해보니 슬레이트 PC에는 AA-PBZN4NP 배터리가 들어 있습니다.

    현 시점에서 출시한지 거의 13년 넘은 기기이다 보니 정식 서비스는 이미 종료되었을 것으로 보여 호환 배터리를 주문했습니다.

    주문한 배터리가 도착했습니다. 원본과 동일한 리튬 폴리머 방식 40Wh입니다.

    특이하게도 분해 & 조립에 사용되는 공구가 포함되어 왔습니다.

    기기 뒷판을 뜯습니다. 나사가 없는 순수 걸쇠 타입이므로 주의해서 하나하나씩 딴다는 느낌으로 정성스레 열어줍니다.

    슬레이트 PC의 메인보드입니다. 아래에 배터리가 있고 위에 메인보드가 있는 전형적인 현세대 노트북의 구조와 비슷합니다.

    오른쪽에는 배터리 커넥터가 있습니다. 테이프를 뗀 다음 조심스럽게 분리합니다.

    배터리 핀아웃은 +극(빨간 선)이 아래에 있습니다. 배터리 교체 시 이 점 주의하여 장착합니다.

    성공적으로 배터리를 교체했습니다.

    CPU 써멀패드를 교체할까 생각은 했으나, 이쯤 하면 되었다고 생각해 다시 뒷판을 닫았습니다.

    40%였던 배터리 수명이 100%로 돌아왔습니다.

    배터리가 자체적으로 보정될 수 있도록 100%에서 5% 정도까지 여러번 사이클링을 시켜줘야 합니다.

    이후로 슬레이트 PC에서 할 만한 정비는

    1. CPU 및 칩셋(HM65) minus pad 8 서멀패드로 교체
    2. SSD를 Transcend MSA230S 512GB로 교체
    3. Wi-Fi 카드를 Intel AC3160으로 교체 (Wi-Fi 5 지원)
    4. 온보드된 RAM을 8GB로 교체 시도(?????)

    이 네 가지일 것으로 예상되고, 이에 대한 내용은 기회가 된다면 다뤄볼 예정입니다.

  • 당ㅇ에서 산 중고 PC를 TV로 만들어 쓴 후기

    아무튼 TV 맞음

    사람들의 미디어 소비량이 기하급수적으로 늘어난 현재, 자취를 하는 사람들 사이에서 이동식 스마트 TV(일명 스ㅇ바이미)가 잇템으로 떠오르고 있습니다.

    전 당시 일반 스마트 TV를 사기에는 돈이 그렇게 많지 않았고, 또 제 입맛에 맞추기 위해 내부 시스템을 커스터마이징 할 수도 없었습니다.

    그래서 “중고 PC를 이용해 하나 만들자”라는 제 3의 길을 선택해 지난 11월에 당ㅇ에서 중고 PC(삼성 DM301S3B-C25)를 하나 거래했습니다.

    사양은 Pentium G3240, 4GB DDR3 RAM으로 현 시점에서는 사무용으로도 부적합한 사양이나, 간결하게 축소된 Linux 시스템 위에 Kodi만이 올라가는 세팅으로는 충분합니다.

    특히 4GB나 되는 넉넉한 RAM은 사용량이 항상 25% 쯤에 머물어 스왑이 별도로 필요하지 않았습니다.

    거래 후 며칠 뒤에 알았는데, 이 모델의 고질병인 전원 버튼이 예상한 대로 고장나있어 잘 눌리지 않고 합선이 일어나 결국 헤더를 뽑았습니다.

    대신 전원이 인가되는 즉시 부팅되도록 BIOS를 조정하였고, 슬립 모드에서 깨울 때는 PS/2 포트에 연결된 키보드를 이용합니다.

    Qualcomm Atheros 계열로 보이는 mPCIe 802.11n 무선랜카드, DVD+RW까지 지원하는 SATA ODD, WD5000AZLX 하드디스크가 포함되어 있었습니다. 이것도 전부 들어내고 집에 돌아다니는 Micron BX500 240GB SSD를 장착했습니다.

    모니터로는 TG삼보 TGL 2240A를 또 중고로 구매해 올려놓았는데, 1680×1050 해상도로 TV로 사용하기에는 큰 무리가 없습니다.

    Fedora 40을 minimal 세팅으로 설치한 뒤, 부팅 후 즉시 Kodi가 켜지도록 구성했습니다.

    CPU 자체는 3.1GHz의 베이스 클럭을 갖고 있으나, 전력 소모 및 소음 최소화를 위해 최대 1.2GHz까지만 올라가도록 다운클럭 했습니다. 일반적인 상황에서는 30˚C 내외의 준수한 온도를 기록하나, 내장 그래픽(≒ Mesa 드라이버)이 허용하는 코덱 외의 영상을 구동할 경우 40˚C 근처까지 가는 모습을 보여줍니다.

    Kodi 설치 시 Estuary 스킨이 기본 제공됩니다. 기본 폰트가 한글을 지원하지 않고, 대체재로 사용할 수 있는 Arial 폰트는 별로 이쁘지 않아 몇몇 XML과 함께 수정했습니다.

    Fedora 40 기준으로 /usr/share/kodi에 설치됩니다.

    조작은 Kore 앱을 통해 이루어집니다.

    YouTube 또한 초기 세팅이 복잡하긴 하지만 지원합니다.

    YouTube 모바일 앱에서 TV로 스트리밍하거나, Kore 앱으로 링크를 공유하여 재생이 가능합니다.

    추가로, USB 블루투스 동글을 따로 설치해 Wii 리모컨을 사용하거나 오디오 장치에 연결하도록 시스템을 세팅하는 것도 고려해볼 수 있을 듯 합니다.

  • Docker를 rootless로 설치하기

    일반적으로 Docker는 root로 설치 및 실행됩니다.

    개인이 사용하는 서버에서는 큰 문제가 없겠지만, 기업에서 프로덕션 용도로 사용하기 위해 이런 방식으로 Docker를 설치하여 구동하는 경우, 컨테이너 탈옥 공격이 성공했을 때 상당히 큰 위험에 노출됩니다.

    다행히도 Docker에는 rootless 모드로 설치할 수 있는 옵션을 제공하는데, 시스템이 아닌 유저 영역으로 배치되기 때문에 컨테이너 탈옥 시 추가로 발생할 수 있는 피해를 최소화 해 줍니다.

    이 글은 Docker를 rootless 모드로 설치하는 방법을 설명합니다.

    주의사항

    • Ubuntu Server 24.04를 기준으로 합니다.

    1. 필요한 패키지 설치

    2개의 디펜던시가 필요합니다. 해당 패키지를 설치합니다.

    # apt install uidmap curl

    2. Docker 유저 생성

    Docker를 사용하기 위한 유저를 생성하고, sudo 권한을 부여합니다.

    # adduser docker
    # usermod -aG sudo docker

    이제 docker 유저를 사용하려면 su가 아닌 ssh로 로그인하여야 합니다.

    그렇지 않으면 XDG_RUNTIME_DIR 에러가 발생합니다.

    $ ssh docker@localhost

    3. rootless Docker 설치

    Docker를 사용하기 위해 만든 유저(docker)로 로그인한 상태에서 설치합니다.

    $ wget https://get.docker.com/rootless  
    $ sh rootless

    ~/bin이 생성되었으며, 모든 Docker 파일이 이곳에 저장됩니다.

    또한, 해당 디렉터리를 PATH로 참조하도록 ~/.bashrc에 몇 줄이 추가되어 있을 것입니다.

    만약 그렇지 않은 경우, nano와 같은 에디터로 ~/.bashrc를 열어 해당 줄을 추가합니다.

    export PATH=/home/$USER/bin:\$PATH
    export DOCKER_HOST=unix:///run/user/$UID/docker.sock

    1024 이하의 포트를 사용할 수 있도록 합니다.

    $ sudo setcap cap_net_bind_service=ep $HOME/bin/rootlesskit

    마지막으로, Docker를 systemd에 자동 시작 애플리케이션으로 등록하고 시작시킵니다.

    $ systemctl --user start docker
    $ systemctl --user enable docker
    $ sudo loginctl enable-linger $USER

    끝났습니다! docker info를 입력하여 잘 동작하고 있는지 확인합니다.

    선택 : Portainer 설치

    Portainer는 Docker 컨테이너, 이미지 등을 관리하기 위한 웹 인터페이스입니다.

    docker 유저로 해당 명령어를 실행한 뒤, 웹 브라우저를 통해 {서버 IP}:9000으로 접속했을 때 인터페이스가 뜨면 성공한 것입니다.

    docker run -d -p 8000:8000 -p 9000:9000 --name=portainer \
    --restart=always -v /$XDG_RUNTIME_DIR/docker.sock:/var/run/docker.sock \
    -v ~/.local/share/docker/volumes:/var/lib/docker/volumes \
    -v portainer_data:/data portainer/portainer-ce

  • 240929

    1. 벌써 1년의 거의 75%가 지나갑니다. 원래도 바빴지만 앞으로는 본업과 더불어 개인 프로젝트와 서버 관리도 중첩되어 더 바빠질 예정입니다.

      곧 저희 동네 연례행사인 유등축제와 개천예술제가 열릴 예정입니다. 거의 20번도 넘게 보던거라 이미 지겨움의 경지에 도달했는데, 이번 해에는 바뀐게 있을 것이라 기대하고 싶습니다.

    최근들어 레트로의 기준이 90년대에서 00년대(Y2K)로 넘어왔습니다. 즉, 00년대를 알차게 보낸 저에게는 정말로 컨텐츠가 쏟아지는 시대이기도 합니다.

    그래서 홈페이지 또한 새롭게 디자인하였고, 또 하나의 개인 프로젝트로 00년대를 풍미했던 요소 중 하나인 싸이월드 미니홈피를 self-hosted 방식으로 재창조하고 있습니다.

    아직까지 갈 길은 멀지만 조만간 베타 버전, 즉 실제 웹사이트로서 구동이 가능한 형태로 만나보게 될 듯합니다.

    2024-09-30 : 베타 버전이 출시되었습니다.

    3.

    껴안고 잘 바디필로우를 하나 샀습니다.

    매일 아침마다 바닥에 떨어진 채로 발견된다는 특성이 있습니다.

  • KDE Plasma 6로 업그레이드 (2024-02-29)

    배경화면 : https://steamcommunity.com/sharedfiles/filedetails/?id=3033094923

    KDE Plasma를 사용 중인 분들은 모두 아시다시피, 2024년 2월 28일에 KDE Plasma 6가 정식 출시되었습니다.

    저는 2022년 말에 노트북을 새로 산 이래로 계속 KDE의 Ubuntu LTS 기반 자체 배포판인 KDE neon을 써왔으니, 귀찮은 apt 레포지토리 수정 없이도 바로 pkcon을 통해 업그레이드 할 수 있었습니다.

    업그레이드 과정에서 dpkg 디펜던시와 amdgpu가 서로 꼬이는 등의 자잘한 해프닝은 있었지만, 삽질 몇 시간으로 해결되었습니다.

    Plasma 6의 가장 큰 차이점은 사용하는 Qt 프레임워크가 6로, 디스플레이 서버 프로토콜 기본값이 X11에서 Wayland로 변경되었다는 것입니다.

    Qt 6로 변경되면서 기존 Qt 5 기반의 Plasmoid 위젯들은 모두 Plasma 6와 호환되지 않습니다. (물론 Qt 5 애플리케이션들은 이전처럼 잘 돌아갑니다)

    macOS와 Android를 섞은 듯한 패널을 띄워 사용하고 있었는데, 여기에 Latte Dock을 포함해 Qt 5로 되어있는 위젯들이 상당히 많이 들어가 있었습니다. 결국 하는 수 없이 Breeze 기본 패널 구성으로 되돌아 간 뒤 처음부터 모든 패널을 재설계 했습니다.

    일부 앱의 기능을 쓸 수 없겠지만, X11을 계속 쓸 수는 있습니다. 다만, X11이 너무 오래되기도 했고, 다가오는 미래에 대비해야 하기도 하기에, 저 또한 기본값을 따라 Wayland로 이동했습니다.

    이 과정에서 Fcitx를 못 쓰게 되었습니다. Fcitx가 아직 Wayland를 지원하지 않기 때문에, 서비스가 켜지기는 해도 대부분의 앱에서 사용할 수가 없습니다.

    결론적으로, 어느정도 Wayland를 지원하는 ibus로 이전했습니다. 한글과 일본어(mozc) 입력기 또한 건재합니다.

    Plasma 5와 비교하여 큰 UI 상의 차이점이 없습니다. 기본 전역 테마도 그대로 Breeze를 사용하고 있습니다.

    다만, systemsettings를 포함한 몇몇 앱의 UI가 변경되었고, 추후 Plasma 버전 업데이트로 계속 변경될 예정이므로, 시간을 두고 지켜볼 일이긴 합니다.

  • Windows 10 보안 업데이트(KB5034441) 오류 해결 시도를 빙자한 삽질기

    다니고 있는 회사에서 월간 보안 점검 지시가 내려와서 Windows 10 기반 컴퓨터에서 업데이트를 진행했어요.

    업데이트가 몇개 있다고 했고 설치를 했어요. 네 일단 대부분은 설치가 돼요.

    근데 딱 하나의 업데이트가 이런 오류를 띄우면서 설치가 되지 않아요. 어어 왜지? Windows Update 서비스를 껐다 켜봐요. 마법의 주문 sfc /scannow도 돌려봐요. 둘 다 안돼요.

    … 이건 뭔가 이상해요.

    구글링을 해봐요.

    알려진 이슈가 여러 개 있네요. https://kbench.com/?q=node/251807 내용을 읽어보니 어어 느낌이 많이 좋지 않아요.

    이거 어째 KB5034441 업데이트가 지원되는 모든 OS를 대상으로 한다면서 정작 Windows 10 환경에서의 기능 검증이 거의 안 된 채로 릴리즈된 폭탄인 모양이예요. 더 큰 문제는 마인크래프트 인증 서버도 몇날 며칠동안 터진 채로 놔두는 MS답게 저게 고쳐지기까지 엄청난 시일이 걸릴 것 같아요.

    다른 글을 보니 직접 업데이트 오류 해결을 시도했다고 하네요. 이걸 한번 따라해 봅시다.

    diskpart를 열고 C:에 해당하는 파티션의 용량을 약간 축소하고, 있던 복구 파티션을 지운 다음, 늘어난 빈 공간을 새로운 복구 파티션으로 다시 만들었어요.

    일단 복구 파티션의 용량은 늘었어요. 근데 Windows 복구 서비스가 시작이 되지 않아요. 업데이트 설치가 실패하는 문제도 여전히 해결이 되지 않았어요.

    그냥 차라리 이걸 강제로 설치하려 시도하는 건 포기하고 업데이트가 고쳐지기까지 기다려야겠어요.

    아 참. MS가 Windows 업데이트를 배포하면서 이런 실수를 저지르는건 연례행사 마냥 자주 있는 일이예요.

    XP, 7 시절에도 겪었던 문제고 그 때는 업데이트 하나 깔았다고 OS가 깨지거나 그 전설의 “Windows Update 구성 실패”가 뜨는 등 증상이 더 심했거든요.

    국내외로 논란이 한창 일어난 상황이라 적어도 MS 측에서 상황 인지는 했을텐데, 빨리 고칠 수 없는 상황이면 적어도 업데이트 배포 중지라도 해 줬으면 좋겠어요.

  • 231015

    벌써 2023년이 4분기에 들어섰습니다. 한 것도 별로 없는데 시간이 너무 빨리 흐릅니다.

    일단 전 살아있습니다. 회사에서 진행중인 프로젝트로 한창 바쁩니다. 개인 프로젝트에도 유지보수 등 조금씩 신경을 쓰고는 있지만 각 잡고 제대로 하기에는 시간이 잘 안 나네요.

    최근에는 개인 프로젝트 진행 시간을 줄여주는 CI/CD의 존재에 매번 감사하고 있습니다.

    프로젝트가 끝나고 한 숨 돌릴 틈이 생긴다면 밀린 개인 작업을 진행하겠지만, 미루고 미룬 게 너무 많아 뭐부터 시작해야 할 지 모르겠습니다.


    방에 TV가 생겼습니다. 사실 TV는 아니고, 쓰는 PC 모니터에 싸게 산 미니PC를 달고 Debian을 올려서 LibreELEC과 비스무리한 환경을 맞춰놓은 것에 불과합니다. i5-1135G7 CPU를 달고 있는데, VP9 4K60까지 지원하는 등 꽤나 괜찮은 성능을 보입니다.

    셋톱박스가 있는데 전용 리모컨과 TV용 리모컨을 둘 다 써야 하고 굳이 큰 디스플레이가 필요치 않다면, 사무용 PC 모니터를 구입해서 TV 대용으로 쓰는 것도 좋은 방법일 듯 합니다.


    언젠가부터 -메-디테이션을 하고 있습니다. 네, 생애 첫 메이플입니다. 아는 게 많지 않다보니 그냥 사냥만 하면서 허송세월을 보내고 있습니다. 모르면 찾기보다 머리 박치기로 알아내는 성격이다 보니 아는 것마저 꽤 오래 걸리는 것 같기도 합니다. 그나마 일부 시스템이 메이플2와 동일하다는 점이 약간이나마 도움은 됐습니다.


    어느 시점부터 ganyu.n-e.kr로 들어가면 대충 만든 Wix 사이트가 아니라 이 블로그로 향합니다. 원래 홈페이지를 직접 만들어 게시할 예정이었는데, 시간이 나지 않다 보니 그냥 여기로 리다이렉트 되도록 해놓았습니다. 아마 언젠가는 홈페이지가 생겨 있겠죠?

  • ThinkPad E15 Gen4 (21ED) RAM 업그레이드 후기

    2022년 12월 27일에 구매한 ThinkPad E15 Gen4(이하 21ED)의 RAM을 업그레이드하게 되었습니다.

    RAM 16GB로 충분히 굴러갈 줄 알았는데, 제가 항상 리눅스 환경에서 멀티태스킹을 하는 습관을 잘 견뎌내지 못했습니다. 특히, IntelliJ IDEA와 PyCharm을 동시에 실행하는 동안 RAM이 거의 포화 수준으로 사용되는 모습까지 보였습니다. 16GB의 RAM으로는 본격적인 개발 작업에 문제가 생길 가능성이 높음을 의미합니다.

    들어가기 전에, 사전 조사를 해봅니다. PSREF에 따르면, 21ED는 8GB의 Micron제 메모리가 납땜되어 있고, 1개의 SODIMM 슬롯이 존재합니다.

    이 슬롯은 일반 DDR4 타입이고, 3200MT/s(PC4-25600)에 최대 32GB의 모듈까지 지원합니다.

    호환성 테스트 표는 눈을 씻고 찾아봐도 21ED의 메모리 관련 정보가 없는 것으로 보아, 화이트리스트가 느슨하거나 또는 없는 것으로 보입니다. 그냥 삼성 시금치 정도면 충분할 것 같습니다.

    21ED를 업그레이드하려면 하판을 전부 분리해야 합니다.* PH00 규격의 십자 드라이버로 8개의 나사를 전부 풉니다.

    모든 나사는 분실방지 처리가 되어있어 어느정도 돌리면 헛돌기 시작하며 빠지지 않습니다.

    하판 틈새에 헤라나 사용하지 않는 카드를 집어넣고 걸쇠를 분리합니다. 4방면에 모두 걸쇠가 있기 때문에 전부 뜯어야 합니다.

    주의할 점은, 걸쇠가 하나 풀렸다고 헤라를 쭉 긁으면 걸쇠가 파손될 수 있습니다. 걸쇠를 하나하나씩 딴다는 느낌으로 정성스럽게 따줍니다.

    21ED의 메인보드입니다. 순정 제품은 SSD가 M.2 2242 슬롯에 달려 있으나, 제 제품은 2280 슬롯에 다른 SSD가 달려 있습니다.

    RAM 슬롯은 은색 실드에 있습니다. 드라이버 등으로 조심스레 들어올려서 분리합니다.

    온보드 RAM과 추가 장착된 8GB의 RAM입니다. 이걸 빼내고 새 RAM을 장착해줍니다.

    추가 RAM을 16GB로 교체했습니다.

    조립은 분해의 역순이므로 적절히 재조립한 뒤, 전원을 켜줍니다.

    kinfocenter를 켜보면**, 내장 그래픽과 리눅스 커널이 사용하는 영역을 제외하고 약 22.3GB의 RAM을 사용할 수 있다는 정보가 나옵니다.

    이렇게 21ED의 RAM을 16GB에서 24GB로 업그레이드 하였습니다.


    * ThinkPad는 BIOS 셋업 메뉴에 배터리 비활성화 기능이 존재하며, 분해 시 이 기능을 사용하시는 것을 권장합니다. 작업 후 AC 어댑터를 꽂고 부팅하면 배터리가 다시 활성화됩니다.

    ** “알 수 없는 형식”은 chcpu로 일시 비활성화한 CPU 코어들입니다.

  • HDMI2AV / AV2HDMI 컨버터

    과거에 비디오 테이프를 즐겨 보거나 고전 콘솔 게임을 했던 사람이라면 기억할 만한, 흔히 머스타드 마요네즈 케찹 “외부입력”이라고도 불리는 세 가닥(또는 TV 종류에 따라 두 가닥)의 단자가 있습니다.

    이제 와서는 거의 대부분의 브랜드 TV에서 찾아보기가 힘든 단자지만, 간혹 시골 친척집 구석 등지에 있는 CRT TV로 영화를 보거나, PC용 모니터로 고전 콘솔게임을 즐기고 싶어하는 경우가 있습니다.

    이럴 때 써볼 만한 기기들이 바로 위에 보이는 컨버터들입니다.

    두 컨버터 모두 두부처럼 생긴 모양에 HDMI, 오디오를 포함한 컴포지트, mini-USB 단자, 그리고 스위치가 하나 있습니다.

    HDMI2AV는 출력 신호(NTSC / PAL), AV2HDMI는 해상도(720p / 1080p)를 스위치로 변경할 수 있습니다. 국내에서는 NTSC가 기본이고, 애초에 아날로그 신호라는 특성상 해상도가 상당히 낮고 열화가 심하기 때문에 720p로 놓아도 큰 문제가 없었습니다.

    수중에 CRT TV가 없어 PC용 모니터로 대체하였습니다. 1280×720으로 출력한 화면으로, 대충 이 정도의 화질입니다.

    EDID상 4096×2160까지 지원하나, 컴포지트로 그 정도의 해상도를 출력하는 것은 의미가 없는 것 같습니다. 영상 비율에 따라 1280×720이나 1024×768을 취사선택하는 정도가 적절한 듯 합니다.

    주사율은 60/50Hz만 지원합니다.

    PC를 옛날 TV에 물렸다면 당연히 옛날 게임을 해봐야겠죠, 위화감 없이 꽤나 부드러운 화질을 보여줍니다.

    요즘은 시골 TV도 거의 대부분이 LCD에 HDMI 포트가 달려있는 시대라 굳이 컴포지트를 찾아다닐 이유가 없지만, 가끔씩 이런 시도도 괜찮은 듯 합니다.

    .

    .

    .

    (2026-05-12 추가)

    네, 저질렀습니다.

    약 2만원 정도에 폐급 CRT TV를 업어와서 두번 정도의 정비를 거쳤습니다.

    HDMI2AV는 480i 신호를 출력합니다. 재생하는 영상의 화질에 따라 다르겠지만, DVD 수준의 샤프한 화질을 보여줍니다.