리눅스의 31번째 생일을 축하하며 - 개인적인 리눅스 경험에 대한 이야기
사흘 전(2022년 8월 25일), 리눅스가 31번째 생일을 맞이했습니다. 서버, 모바일, IoT 등 다양한 분야에서 저력을 보여주고 있는 한편, 31년이 지나도 데스크톱 컴퓨터나 노트북에서는 Windows, macOS 등 다른 운영체제에 비해 힘을 못 쓰고 있다는 점은 조금 아쉬워요. Windows나 macOS만큼이나 리눅스 데스크톱 환경에도 계속해서 커다란 변화가 이뤄지고 있다 싶은데, 그 노력에 비해 아직까지도 안정성이 불안정한 측면에 사용할 수 있는 프로그램도 적어 많은 사랑을 받지는 못하고 있다는 인상입니다. 그래서 그런 것은 아니지만, 이 글은 Kubuntu 22.04에서 iBus 입력기로 쓰고 있습니다. 오늘 여기서는 2012년 전후부터 써왔던 리눅스에 대한 개인적인 회고이자, 기록을 적어보고자 합니다.
처음 만난 리눅스, 생각보다 미려했던 UI
예전에 『Windows 7 지대로 배우기』라는 책이 집에 있었던 적이 있었습니다. 그때 맨 마지막 장에는 Windows Virtual PC로 Microsoft에서 무료 제공하는 Windows XP Professional 가상머신에 대한 내용이 있어서, 생각보다 Windows XP 써 본 경험이 적었던 저는 기존 OS 위에서 다른 OS가 굴러간다는 것이 신기하기도 하고, XP를 써보고 싶기도 해서 가상화 지원도 안 되는 컴퓨터에 억지로 설치하려고 했던 적이 있습니다.
물론 당시 제게 주어진 컴퓨터는 보급형 Pentium 듀얼 코어 컴퓨터여서, 가상화가 안 되는 건 그렇다 치고 제대로 작동할리가 만무했습니다. 그러다 난생처음 블루스크린을 만나고, 이 컴퓨터에서는 쓸 수 없다는 것을 깨달은 후에야 다른 OS에 눈독들이기 시작했던 기억이 있네요. 당시에 어디서 읽었는지는 모르곘지만 Windows Virtual PC는 Windows 이외의 다른 운영체제를 설치하기에는 적합하지 않다는 글을 보고 Oracle VirtualBox를 설치해서 썼습니다. 첫 타자는 Ubuntu 12.04였어요.
당시에는 Cobuntu라고 해서 한국 우분투 사용자 모임에서 미비한 한글화나 한글 입력 등을 보완하고자 하는 배포판이 있었는데, 이를 Ubuntu를 설치하고서야 알게 되었고, 무엇보다 12.04를 마지막으로 배포가 중단되어 사용할 이유가 딱히 없다고 생각하여 설치해서 사용하지는 않았습니다. 다만, Ubuntu 12.04를 설치하면서 한글화가 잘 되어있고, nabi 입력기를 설치하고 나서부터는 입력에도 큰 문제가 없어 Cobuntu가 왜 개발 중단되었는지 대략적으로 추측할 순 있을 것 같았습니다. 지금과 다른 점을 꼽아보자면, 요즘 쓰이는 UIM, fcitx나 nimf가 아니라 nabi 입력기를 썼다는 점과, 당시에는 전산용어 한글화의 잔재가 남았던 것인지 패키지의 공식 번역어가 '꾸러미'였다는 점 정도가 인상에 남네요.[각주:1] 그리고 iBus 한글 입력기의 경우 당시에는 정말 별로였습니다. 지금도 다른 입력기에 비하면 좋은 편은 아니지만, 당시에는 아예 한글 입력이 안 되는 버그가 많은 환경에서 있었거든요.
약간은 둥글둥글한 최소화, 최대화, 닫기 버튼이 macOS를 연상시킨다는 점도 신기했습니다. 지금 Ubuntu Unity 배포판이 보여주고 있는 모습보다 살짝 낡은 정도니까요. 다만 처음 설치할 때는 Synaptic 패키지 관리자로 소프트웨어를 찾고 설치했는데, 나중에는 Ubuntu 소프트웨어 센터가 도입되어 그거 하나는 Microsoft보다 편리하다 싶었습니다. 당시에 호스트 운영체제도 Windows 8이어서 Microsoft Store가 있긴 했지만, 어디까지나 지금 Windows 10이나 11에 탑재된 Microsoft Store와 달리 UWP 앱만 올라가는 그런 장소였으니까요.
한편 지금와서 생각해보면 설치 프로그램 편의성이나 UI 변화는 10년이 지난 지금까지도 거의 없는 편인데, 어차피 당시에도 초등학생이 알아서 가상머신에 설치할 수 있을 정도로는 편했으니 큰 변화가 필요해보이진 않긴 합니다. 다만 나중에 나이가 들면서 듀얼 부팅을 시도할 때는 살짝 헷갈리기도 했던 것이, Fedora와 Ubuntu가 용량을 표기하는 방식이 좀 달라서 설치할 때 순간적으로 혼동이 올 수 있었습니다. 두 리눅스 진영이 패키지 관리자부터 다른 걸 쓰고 있고 서로 다른 생태계를 구축하고 있긴 하지만, 통일해서 쓰면 안 되는 걸까요? 생각해보면 Windows와 Fedora는 같은 방식을 쓰고 있는데 Debian 계열만 유독 더하다는 느낌입니다.
각종 배포판 체험하기
설치 뿐인 경우가 많긴 했지만, 생각보다 많은 OS를 설치하고, 때로는 좀 기행을 벌이기도 했습니다. 예를 들어, 한때 꽂혀있었던 일 중 하나는 OS를 마이그레이션해서 최신 버전으로 올릴 수 있는 만큼 올리기, 였는데요. Ubuntu 11.04에서 12,10까지 올려서 설치하기라든가, Fedora Core 3부터 19까지 설치해보기라든가. 하는 일들을 벌였습니다. 이때 우분투 같은 경우 패키지를 추가로 설치하지 않았음을 고려해도 비공식에 개발 중단된 배포판을 기반으로 업그레이드를 했는데도 생각보다 매끄럽게 마이그레이션이 되어 놀랐던 기억이 있고, Fedora Core 3을 설치할 때는 그때도 한국어는 지원했다는 점과 나중에 Core라는 명칭이 사라지게 된 것, 그리고 아직도 iso 파일 형태로 이미지를 제공하고 있다는 점 등이 신선했습니다.
아마도 그 시기 사용해본 듯한 Fedora 19 MATE Spin
그리고 리눅스 배포판 계보도의 최신판을 따라가면서 특이한 이름을 가진 배포판 설치하기도 많이 시도했습니다. 예를 들어 계보도에는 없지만 한국 개발자가 경량형으로 개발한 스터디눅스라든가, Mandriva OS를 기반으로 떨어져나온 Mageia라든가, Windows 느낌이 나도록 만들어진 Ubuntu 기반의 Zorin OS, 당시 개발 중이었던 elementaryOS, 설치에 꽤 애먹었던 Arch Linux 등을 Oracle VirtualBox나 VMWare Player로 설치해봤던 기억이 있네요. 그 중에서 마음에 들었던 elementaryOS나 스터디눅스는 직접 듀얼부팅 혹은 USB 메모리에 설치해서 써보기도 했지만,
- elementaryOS는 리눅스 민트와 달리 당시 유명 배포판이 아니면서도 독자 코드네임을 쓰는 바람에 호환되지 않는 패키지가 있었고
- 스터디눅스는 그 정도로 커스텀되진 않았지만 USB 메모리에서 불안정하게 동작하는 바람에
사용을 포기했었네요.
본격적인 듀얼 부팅은 LinuxMint로부터
처음 제가 듀얼 부팅용으로 설치했던 리눅스는 리눅스민트였습니다. 당시에는 Cinammon에 꽂혀있었고, 꽤 유명한 배포판인 만큼 우분투와 호환이 잘 되면서도 매끄럽게 작동하는 점이 매력적이었던 기억이 납니다. 다만 Windows 업데이트 때마다 GRUB가 초기화되는 통에 제대로 쓰기에는 어려움이 종종 있었고, 당시에는 GRUB를 살리는 방법을 몰랐기에 겸겸 다양한 리눅스를 듀얼 부팅 환경에서 써봤습니다. 가상 머신으로는 겪을 수 없는 문제들을 겪어보면서 더 잘 써보고 싶은 욕심도 있었던 것 같아요.
다만 실제 설치하는 배포판은 거의 항상 Debian 계열(Ubuntu 포함)이었는데요, 이는 당시 제가 쓰고 있던 샌디브릿지 노트북에서 Fedora를 제대로 쓸 수 없었기 때문이었습니다. Fedora가 최신 기술 지원에 적극적이어서 그런 것인지는 잘 모르겠지만, 유독 시스템이 잘 꼬였고 NVIDIA 그래픽 드라이버를 설치한 이후에는 몇 초에 한 번씩 오류 보고 창이 뜨면서 충돌이 나는 탓에 다시는 설치할 엄두를 못 내게 되더군요. 지금은 노트북을 바꾸면서 NVIDIA 드라이버는 물론이고 외장 그래픽 드라이버 자체를 설치할 일이 없어졌지만, 여전히 꺼려지는 것은 사실입니다. 리누스 토르발즈가 괜히 가운데 손가락을 올린 것은 아니라는 생각입니다
Kubuntu로 정착
GNOME, LXDE, Xfce, KDE, Cinnamon, MATE 등 다양한 데스크톱 환경을 써 보았지만, 아무래도 KDE의 통합된 기본 기능이 강력하다보니 돌고 돌아 KDE로 정착했습니다. 배포판 중에서도 Mageia, openSUSE, Manjaro, Arch Linux, Linux Mint KDE Edition을 써본 만큼 무엇을 쓸지 고민이 많았었는데, 마침 LinuxMint는 KDE Edition의 배포를 중단하였고 앞서 언급한대로 Fedora를 쓰면서 어려움이 많아서 RPM 패키지 관리자를 사용하는 Mageia나 openSUSE는 그다지 당기지 않았습니다. Manjaro나 Arch Linux도 두 번 정도 설치해보았는데 가상머신에서도 패키지가 잘 깨지는 등 관리가 쉽지 않아 GRUB까지 자주 삭제되는 환경에서는 쉽게 의욕을 잃어버릴 수 있겠다 싶더군요.
결국 최종적으로 KDE Neon과 Kubuntu 중에서 고민하였는데, KDE Neon은 기반이 같으면서도 Kubuntu에 비해 메이저 업데이트 속도가 느려 KDE 패키지를 더 빨리 쓸 수 있다는 점을 고려하고도 결국 Kubuntu를 설치해서 쓰게 되었습니다. 총 2개 버전(20.04와 22.04)째 쓰는 중인데, 20.04 때는 fcitx와 nimf를 쓰다가 지금은 ibus-hangul을 그대로 쓰고 있습니다. 이제는 별도 설정을 하지 않아도 동작을 하긴 하더군요. 물론 아직도 문제가 많아서 프로그램에 따라 설정을 잠시 변경해야 하는 문제가 있긴 합니다.
한편, 예전과 달리 Wayland의 도입에 많은 진척이 생기면서 화면 녹화와 같이 Wayland가 지원하지 않는 부분을 제외하고는 이제 그대로 써도 될 정도로 안정화가 되었다는 느낌이었습니다. 물론, 아직 KDE에서의 Wayland 지원은 실험적인 부분이긴 하지만요. 저처럼 가볍게 쓰는 용도로는 테스트 중인 기능임에도 Wayland라고 해서 어떤 문제가 발생하진 않았습니다. 다만 아쉽게도 현재 그래픽 타블렛, 그러니까 디지타이저는 지원하지 않는 모양입니다.
그리고 이번에 22.04로 올리면서 X.org나 Wayland나 공통적으로 화면의 일부가 마우스를 가져다 댈 때까지 제대로 렌더링되지 않는 버그가 고쳐지질 않고 있는 중입니다. 이유는 모르겠지만 10세대 모바일 인텔 그래픽과 잘 맞지 않는 부분이 있는 것 같아요. 그래도 22.04.1로 안정화가 되었는데도 불구하고 부족한 모습이 살짝 아쉽습니다.
리눅스 데스크톱의 다음?
KDE를 보면 단순 미려함을 넘어서 Windows의 사용자 휴대폰 기능보다 어떤 부분에선 더 낫기도 한 KDE Connect를 제공하는 등, 데스크톱 환경 개선을 위해 각 커뮤니티가 꾸준히 발전하고 있다는 점을 발견할 수 있었습니다. 하지만 APT 혹은 RPM 또는 pacman 패키지 관리자만 쓰던 과거에 비해 flatpak, snap 등 새로운 범용 패키지 매니저가 등장하면서 파편화가 이뤄진 탓에 이전보다 서로간의 상호작용은 한 발자국 멀어진 느낌이 듭니다.
다른 곳에 설치되어 있더라도 잘 호환이 되면 좋겠지만, 기본 브라우저로 설정해도 자기가 기본 브라우저인 줄 모른다든지, flatpak으로 설치하면 바로가기도 생성되지 않는다든지, 그런 문제들이 새로 리눅스 배포판을 접하는 사람들에겐 어려운 법입니다. 기존 사용자들도 귀찮긴 마찬가지고요. 물론 APT 같은 기존 저장소에서 설치하는 방법이 여전히 있지만, 문제는 Ubuntu 계열의 경우 시스템 패키지의 일부도 이미 snap에서 설치하여 나온다는 점입니다. 때문에 Kubuntu조차도 Firefox가 자신이 기본 웹 브라우저임을 인식하지 못하는 버그가 있으며, Discover 앱에서 snap 패키지의 업데이트를 제대로 확인하질 않아서 한 번에 업데이트하기도 애매합니다. 이를 지우고 다시 설치하는 것도 번거로운 법입니다. 특히 snap은 Ubuntu의 개발사가 밀어주고 있는 플랫폼이어서, 중복되는 패키지의 APT 소스 쪽 최신 패키지 업데이트에 소홀해질 우려도 있을 수 있고요.
그리고 현재 Wayland 환경에서는 화면 녹화를 지원하지 않고 있는데, 여러가지 이유로 지원하지 않기로 했다고는 하지만 이런 점에서도 다른 범용 운영체제와 비교하였을 때 부족한 점이라고 보는 편입니다. 나중에 지원하는 소프트웨어가 제대로 나올 수도 있겠지만, 각자 방법이 파편화되는 것보다는 정해진 규격이 있는 편이 나으니까요.
최근 한글과컴퓨터를 비롯해 많은 회사에서 구름OS를 기반으로 국산 리눅스 배포판을 제작하는 작업을 진행하고 업데이트도 하고 있는데, 최신 버전에서는 제외되었지만 한때 한컴오피스 2022 Beta가 데비안 10 기반의 구름 OS 2.0 전용으로 번들된 적이 있는 만큼 부족하지만 점차 한국에서의 문서 편집 환경도 나아질 것이라 생각합니다. 이전에 김호동님께서 개발하시던 nimf의 경우에도 여러 사정으로 개발이 중단된 직후 HamoniKR 배포판을 개발하는 팀에서 유지보수를 결정하면서 nabi[각주:2]에 이어서 리눅스에서는 지속적인 인기를 유지하고 있다는 점을 생각해보면 앞으로 국내에서 리눅스를 쓰기에는 점점 좋아질 거란 기대가 있습니다. 물론 지금까지도 좋아지고 있었지만요.