X Window와 Wayland

SailfishOS 는 X Window System을 쓰지 않고 Wayland 를 쓰고 있습니다. Wayland는 X Window 의 문제점을 고려하면서 만들어진 것이다보니 Wayland를 쓰는 이유는 찾기 쉽습니다. 좋은 점이 있지요.

눈에 띄는 차이는, X Window는 네트워크 기반이고 Wayland는 그렇지 않은 점입니다. 사실 네트워크 기반인 부분을 이제는 잘 활용하지 않으니(언제는 활용했냐라고 물어보면 할 말 없습니다만...) Wayland의 단점은 아닙니다. 다만 의도가 다른 것이죠.

다르게 표현하면, X Window는 원격의 서버가 로컬의 클라이언트를 렌더링하여 원격의 디바이스에 표시할 수 있다는 건데요. 이런 것을 Wayland는 로컬의 컴포지터가 렌더링하고 그 내용을 원격의 컴포지터가 받아서 디바이스에 표시하는 거고요. 사용자에게 표시되는 것이야 별 차이는 없습니다만... 사실 내부에는 차이가 있습니다.

이에 대해 차이가 만들어진 것은, 그런 기능이 현재 컴퓨팅 환경에서 왜 필요하냐는 질문에서 시작합니다. 예전처럼 X Terminal을 쓰는 시대가 아니니까요. (여기서 말하는 것은 xterm이 아닙니다. PC나 workstation을 쓰기엔 부담이 큰 시절에, mini computer나 mainframe에 접속하기 위한 터미널 말하는 것입니다.)

하지만 아직도 그런 환경이 필요한 사람이 있을겁니다. 또는 그런 환경을 원하는 사람이 있을 겁니다, 최소한 1명. Xnest 명령을 쓰면 X Window 안에 또 X window를 만들 수 있고, 계정을 바꾸거나 chroot를 하는 등의 트릭을 이용하면, 요늠 Virtual Machine이 필요한 상황과 유사한 경우에 참 유용하게 쓸 수 있습니다. 심지어는 Xnest를 여러개 실행하고 그 중 일부는 로컬의 X server에, 일부는 다수의 원격 X server에 표시할 수도 있는거죠.

Wayland가 X Window와 경쟁할 테고, X Window의 자리를 다소 빼앗겠지만... 한편으론 새로운 변화에 적극 가담하고 싶지만, 한편으론 그 다채롭고 유연한 활용 가능성 때문에 X Window가 오래오래 유지되면 좋겠습니다.

SailfishOS 를 보니 별 생각이 다 드네요.