시작하기에 앞서,
시간이 돈이니 해결 방법만 알고 싶은 사람을 위해 남깁니다.
1줄 요약
우분투 계정 로긴 화면에서 wayland가 아닌 gdm 을 사용하면 해결됨.
(로긴 화면에서 톱니바퀴를 누른 후 설정 가능)
최근 회사에서 개발 장비를 새로 받을 일이 있었는데, 내가 사용하던 개발 환경인 Ubuntu 18.04를 더 이상 쓸 수 없게되었다는 얘길 들었다.
18.04 가 아니면 안되는 것들이 있는데도 그런 사정을 하나도 고려하지 않은 정책을 정한 회사가 이해가 되진 않았지만...ㅎ
까라면 까야지
docker 가 해결해줄거라 굳게 믿고, 이왕 버전 올리는거 20.04 말고 22.04로 올려달라고 했다.
그렇게 새로 대면하게 된 내 장비.
앞으로 나랑 몇년 간은 같이 구르고 고생할 새 파트너...
첫 인상은 나쁘지 않았다. 오 이제 웨이랜드가 디폴트구나. 세상 허허 좋아졌구만~
하면서 이것저것 설치해가며 몇일을 보냈다.
그런데 이상한 것이.. 뭔가 잠시 어딜 다녀오거나 하면 한번 씩 로그인이 풀려있는 것이었다.
그와 함께 내가 열어두고 간 모든 것들이 닫혀있고 말이다.
당연히 그 중에는 컴파일 중이거나 리모트에 붙어있는 터미널들은 기본이고 이것저것 휘갈겨 놓은 gedit 도 있었다.
난 그렇게 길게는 몇시간씩 공들여 놓은 것들을 잃어버리는 경험을 시작하게 되었다.
(여담이지만, 간편하게 열어서 이것저것 끄적여 놓기에 gedit 만한게 없었는데 한가지 아쉬운게 자동 저장이 안되는 점이었다. 그게 이번에 아쉬운 점이 아니라 아쉬x인 점이 되어서 obsidian으로 갈아탔다. 옵시디언 짱짱맨)
처음엔 PC를 받은지도 얼마 되지 않았고, 뭔가 백그라운드에서 새로 설치되는게 많나보다~ 했었는데 말이다. 이게 몇일이고 계속 반복이 되니 미칠 노릇이었다.
원인을 알 방법도 업었다. 여기저기 검색하고 다녀도..
우분투의 전원 옵셥이나 바꿔보라는 둥, 대부분 파워 쪽에서 해결 방법을 제시하고 있었고 모두 따라해봤지만 달라지는건 없었다.
마치, 매일 아침이면 기억을 상실하는 연인을 둔 사람의 마음과도 같이 내가 잠시 자리를 비우거나 개발 장소를 옮기거나 하면 어김없이 내 장비는 순백의 상태로 돌아가있었다.
그러던 중, 뭔가 단서가 될만한 동작 패턴을 발견했다.
개발 장소를 옮기거나 할 때 HDMI를 새로 연결하거나 기존의 것을 제거하거나 등을 하게 되는데 이 때 발생이 되는 것 같았다.
이게 또 문제가 뭐냐면 딱 한번 그걸 눈으로 확인한 것이었다.
의식하면서 쓰면 안 나와 이게.. 그러다가 한번 딱 눈 앞에서 모든 것이 꺼지는 것을 확인했다.
이건 재부팅도 아니었고 그냥 로그아웃이 되는 현상이었다.
그 때부터 이 문제는 전원 계열의 문제가 아님을 알 수 있었고, 그제서야 display, display 장치 등으로 확인 방향을 바꾸게 되었다.
dmesg, journal 등 로그들을 다 확인해보던 중 이상하게 wayland 라는 키워드가 계속 눈에 들어왔다.
근데 딱히 문제처럼 볼수는 없는 것이, 당연히 부팅이나 로그인을 할 때면 wayland가 뭔가를 초기화 할만도 하기에 처음에는 크게 눈여겨 보지는 않았다.
하지만 문제를 해결하기는 해야겠기에 wayland, auto logoff 등등으로 검색하던 중 한 댓글을 마주하게 된다.
(아쉽게도 너무 많은 문서들을 뒤져보다보니 어디에서 봤었는지는 찾지 못하였다)
대충 이런 얘기였다.
그거, wayland가 뻑나는거야. gdm으로 우분투 쉘을 바꿔.
즉, 노트북 커버를 닫거나 HDMI 포트를 제거하거나 새로 연결할 때 wayland가 어떤 동작을 하다가 뻑나버린다는 것이었다.
그리고 그렇게 wayland를 back으로 쓰고 있던 ubuntu shell도 같이 날아가는 것이었고,
이 ubuntu shell이 날아가니 내 login 세션도 같이 저세상으로 간다는 것이었다.
(wayland나 display 관련해선 잘 몰라서 대충 이런 느낌으로 이해했다 정도...)
그렇게 나는 당장 시스템을 재부팅하고 로긴 화면에서 우분투 쉘을 gdm 으로 변경했고
그 후로는 혼자서 꺼진적이 없다는 행복한 이야기~
그런데 새로 받은 노트북이 워낙 경량에 소형이라 배터리 자체가 작아서.. 그저 대기모드만으로도 밤새 방전이 되어버리는데..
이게 정말 배터리의 문제인지 idle 상태에서 뭔가 동작 중이어서 배터리를 먹는 것인지는 또 확인이 필요할 것 같다.
이렇게 하나하나 문제 현상들을 고쳐가며 정이 들만한 시점에는, 장비 교환 주기가 되어 아쉬운 이별을 하게 될 테지만.
이러한 삽질 역시도 개발자로서 살아가는 여정 중에 빠질 수 없는 소소한 재미 인 것 같다.
분명 처음 이글의 시작은 정보성의 목적이 짙었는데,
쓰다보니 일기가 된 것 같다.
글의 서두에 해결 방법을 써두었으니 정보가 필요한 사람은 거기만 확인해주시면 되겠다.
(화장실 '옆을 보시오' 개그 같기도...)