답답하면 내가 만들던가! 리눅스/유튜브 촬영용 스탑워치

1. 만들게 된 배경

앞으로 리눅스 OS 내에서 유튜브 촬영을 많이 할 것으로 예상되는데, 코딩하는 과정을 유튜브로 많이 내보내는 내 유튜브 채널의 특성상 코딩하는 시간이 실질적으로 얼마나 걸리는지 측정 가능한 스탑워치를 띄우는 것이 필요하다고 판단하였다.

유튜브로 화면을 촬영하는 용도로 사용하므로, 다른 개발 프로그램 여러개를 띄워도 화면이 항상 최상단에 떠서 시간을 항상 보여주는 게 필요했다.

기존 리눅스에는 스탑워치 프로그램이 몇개 있었지만, 내가 원하는, 화면 최상단에 띄워주는 기능을 제공하는 스탑워치 프로그램은 리눅스에 없었다.

그래서 답답해서 내가 직접 제작하기로 마음먹었다.

2. 제작 과정

스탑워치는 매우 일반적이고 범용적인 프로그램이다. 다만, 유튜브 촬영용이므로 무조건 화면 최상단에 떠야 하는 것이 관건이다.

이런 프로그램의 특성상 AI로 제작이 용이하고 AI로 코딩했을 때 시간이 많이 단축될 것이라 기대되었고, chatGPT에서 이것저것 물어보면서 제작하게 되었다.

사실 리눅스에서 동작 가능한 프로그램을 어떻게 만들어야, 심지어는 어떤 프로그래밍 언어를 써야 하는지도 알지 못했는데, chatGPT에 물어보니 선택지가 많이 좁혀졌다.

유튜브용 프로그램이고 무조건 다른 프로그램의 간섭을 받지 않고 화면 최상단에 뜨는 것이 필요했으므로 당연히 GUI 기반 프로그래밍을 해야 했고, 선택지를 많이 좁힐 수 있었다.

여기서 가장 좋은 선택지는 파이썬 프로그래밍이다. 해당 용도로 가장 빠르게 코딩할 수 있다.

3. 특이사항

파이썬 프로그래밍은 이전부터 사전지식이 있었고, 인터넷상에 많이 알려져 있으므로 자료가 많아서 굳이 이 블로그에 그 방법을 적을 필요는 없을 것 같다. 굳이 내가 아니더라도 파이썬 코딩 정보를 알려주는 블로그는 많다.

다만 특이사항이 있다면, 윈도우 실행 프로그램 exe를 만드는 게 아니라 리눅스 실행 프로그램으로 만들어야 한다는 것이다.

일단 윈도우즈에서도 이 방법은 동일하지만 리눅스에서도 라이브러리를 다운받아야 한다.

pip install pyinstaller

그 다음 제작도 방법은 윈도우즈와 크게 다르지 않다. 다만, noconsole 명령어는 따로 필요하지 않다. 그냥 리눅스에서 빌드하면 리눅스용 파이썬 프로그램이 만들어진다.

pyinstaller --onefile stopwatch.py

이 경우 dist 폴더 안에 생성된 stopwatch가 해당 프로그램이다. 이 프로그램을 리눅스 시스템 어디서나 터미널로 동작시키게 하려면 추가작업이 필요하다. 리눅스 시스템에 해당 파일을 복사해야 할 것이다.

sudo cp dist/stopwatch /usr/local/bin/

이제 터미널에, 어느경로더라도 상관없이 이 명령어만 치면 스탑워치가 동작한다.

stopwatch

혹여나 다른 명령어로 바꾸고 싶다면, sudo cp 명령어를 실행시키기 전에 미리 stopwatch라는 파일 이름을 바꾸면 된다. 물론 /usr/local/bin/ 안에 등록된 프로그램의 이름을 바꿀 수도 있지만 권한설정이 필요해서 조금 귀찮다.

tar.gz로 패키지화 할 수도 있지만 이 경우 프로그램의 동작은 위의 방법으로 동작시키는 것과 별반 다르지 않아서 귀찮기만 하다.

4. 다운로드

해당 소스코드는 아래 링크에서 다운로드 받을 수 있다.

5. 총평

생각외로 리눅스 응용 프로그램도 꽤 다양한 언어로 제작이 가능했다. 알려진 바로는 리눅스 OS 자체는 C언어로 만들어졌다. 그래서 리눅스 응용 프로그램도 C언어로 제작해야 동작하는 거 아닌가? 라는 막연한 추측이 있었는데 그건 사실이 아니었다.

여튼 방법이 생각보다 다양했기 때문에 생각외로 시간을 많이 단축할 수 있었고 쉽게 AI를 활용해서 제작이 가능했다. 이 프로그램을 완성하는데 실제로 40분밖에 걸리지 않았다. 그마저도 유튜브 촬영을 병행하느라 시간이 조금 더 소요된 것이고, 촬영 없이 그냥 개인적인 용도로만 만드는 거라면 시간이 더 많이 단축될 것이다.

일전에 작업했던 식품업계 영양성분 계산기 같은 특정 업계에 맞춰진 프로그램이라면 우리나라의 식품표기법 규정을 해석해서 코드로 만들어야 하니 사실상 이런 프로그램은 AI로 핵심 로직을 짜는 게 불가능하다. 하지만 스탑워치같은 범용적인 프로그램이라면 충분히 AI로도 핵심 로직을 짜는 게 가능할 것이다.

사실은 AI가 앞으로 어떻게 더 발전할지 기대되면서 무섭기도 하다.

ps) 제목의 ‘답답하면 내가 만들던가!’ 는 축구선수 기성용의 유행어를 변형한 것이다.

0 답글

댓글을 남겨주세요

Want to join the discussion?
Feel free to contribute!

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다