리눅스 데스크톱을 직접 커스터마이징해 보고 싶었지만 딱 마음에 드는 테마를 찾지 못한 적이 있으신가요?
현재 사용 중인 데스크톱 환경이 시나몬(Cinnamon)이라면, 직접 테마를 만드는 방법은 배우기 아주 쉽습니다. 특별한 도구도 필요하지 않습니다. 문법 강조 기능이 있는 일반 텍스트 편집기면 충분합니다.
시나몬은 2011년 그놈 셸(GNOME Shell)의 포크로 처음 등장한 이후 크게 발전해 왔습니다. 예전에는 정상적으로 작동하려면 GNOME에 의존해야 했지만, 오늘날에는 자체 기본 애플리케이션 세트를 갖춘 완전히 독립적인 데스크톱 환경입니다. 이 가이드는 최신 리눅스 민트(Linux Mint) 배포판인 버전 17.1 "레베카(Rebecca)"에 포함된 시나몬 2.4를 기준으로 작성되었지만, 여기서 만들 테마는 시나몬을 사용하는 모든 리눅스 배포판에서 호환됩니다.
시나몬 테마의 이해
시나몬 테마는 단순하면서도 복잡합니다. 역설적으로 들리죠? 단순한 이유는 테마 전체가 CSS로 작성되기 때문입니다. 반면 복잡한 이유는 테마 파일의 용량이 매우 크고 공식 문서화가 잘 되어 있지 않기 때문입니다. 대부분의 경우 어떤 규칙이 어떤 데스크톱 요소를 수정하는지 추론할 수 있지만, 일부 항목은 시행착오를 거쳐야 할 수도 있습니다. 이 작업을 시도하기 전에 CSS에 익숙해져 있는 것이 좋지만, 그렇지 않더라도 걱정할 필요는 없습니다. 온라인의 유용한 튜토리얼로 CSS를 빠르게 배울 수 있습니다.
중요한 점 하나를 짚고 넘어가겠습니다. 시나몬 테마는 창 테두리, 버튼 또는 기타 애플리케이션 요소는 변경하지 않습니다. 이러한 객체들은 GTK 테마가 제어하며, 별도로 다운로드해야 합니다. 시나몬 테마 자체는 민트 메뉴(Mint Menu), 패널, 툴팁, 알림, 애플릿 및 일부 다이얼로그에만 영향을 미칩니다.
시작하기
일반적으로 시나몬 테마를 만드는 방법에는 두 가지가 있습니다. 처음부터 코드를 작성하거나, 기존 테마를 템플릿으로 활용하는 것입니다. 여기서는 훨씬 쉬운 후자의 방식을 사용하겠습니다. 수정한 테마를 재배포하고 싶다면 라이선스 제약 조건을 확인하는 것을 잊지 마세요. 보통은 저작자에게 연락해 허락을 받으면 충분합니다.
CSS를 본격적으로 다루기 전에, 무엇을 변경하고 싶은지 구체적인 계획을 세워두는 것이 좋습니다. 이번 예제에서는 디지털 시계의 크기를 조절하고, 메뉴의 글꼴과 배경색을 바꾸며, 패널을 투명하게 만들어 보겠습니다. 새 테마가 눈에 편안하도록 하려면 무료 온라인 도구를 활용해 색상 조합(color scheme)을 먼저 설계하는 것도 좋은 방법입니다.
일부 변경 사항에는 "의존성"이 있다는 점도 유의하세요. 예를 들어 패널 배경을 어두운 색에서 흰색으로 바꾸면 패널 버튼과 애플릿의 색상도 함께 변경해야 합니다. 그렇지 않으면 기존 어두운 패널 위에서 흰색이던 요소들이 새 테마에서 보이지 않을 수 있습니다. 다크 테마를 만들고 싶다면, 현명하게도 처음부터 이미 어두운 색조의 템플릿으로 시작하는 것이 좋습니다.
템플릿 선택하기
좋은 선택지는 프로젝트 GitHub 페이지에서 제공되는 기본 시나몬 테마입니다. deviantART 커뮤니티에는 훌륭한 시나몬 테마들이 많으며, 공식 Linux Mint Spices 페이지와 오랜 명소 Gnome-Look.org에서도 더 많은 테마를 내려받을 수 있습니다.
기본 테마를 사용하려면 해당 파일들은 /home/$USERNAME/.themes 또는 /usr/share/themes 디렉터리에 있습니다. 후자 디렉터리에 위치한 테마는 모든 사용자(root 포함)가 실행하는 애플리케이션에 영향을 주는 반면, /home/$USERNAME 디렉터리에 있는 테마는 한 명의 사용자에게만 적용됩니다. 작업 중인 테마는 /home 디렉터리에 두는 것을 추천합니다. 작업이 완료되면 다음 명령어로 심볼릭 링크를 생성하면 됩니다:
sudo ln -s /home/username/.themes/ThemeName /usr/share/themes/ThemeName일부 테마에는 "gtk-2.0"과 "gtk-3.0"이라는 이름의 하위 폴더가 포함되어 있는 경우가 있습니다. 이는 시나몬 테마와 함께 GTK 테마도 포함되어 있다는 의미입니다. 하지만 실제로 필요한 것은 "cinnamon" 폴더 하나뿐입니다.

그 안에 하위 폴더가 더 있을 수 있는데, 여기에는 데스크톱 요소의 스타일링에 사용할 수 있는 에셋(asset), 즉 작은 이미지들이 담겨 있습니다. 예를 들어 민트 메뉴에 배경 이미지를 넣고 싶다면 그 이미지를 이 하위 폴더 중 하나에 저장하면 됩니다. 우리가 필요한 파일은 "cinnamon.css"이며, 이제 이 파일을 열어볼 차례입니다.
테마 구조 살펴보기
여기서는 기본 테마 중 하나인 "Linux Mint"를 사용합니다. 상당히 긴 CSS 파일이지만, 다행히 코드 속 주석이 방향을 잡아 줍니다. 주석들은 코드를 섹션별로 나누며, 각 섹션은 하나의 데스크톱 요소에 대응합니다. 주요 섹션은 다음과 같습니다:
- PopupMenu(popupMenu.js): 모든 팝업 메뉴, 패널 우클릭 메뉴 그리고 메인 메뉴를 수정합니다.
- Panel(panel.js): 이름 그대로 패널을 담당합니다.
- Desklets(desklet.js): 바탕화면 위젯을, Applets(applet.js): 패널 위젯을 담당합니다.
- Looking Glass: 그래픽 디버깅 인터페이스(cinnamon-looking-glass)를 수정합니다.
- Menu(menu.js): 메인 메뉴(민트 메뉴)에만 적용됩니다.
- Window list(windowList.js): 패널의 열린 창 목록에 적용됩니다.
시나몬 테마 수정하기
어떻게 진행되는지 보여주기 위해 몇 가지 작은 변화를 만들어 보겠습니다. CSS 편집에 익숙해지면 여러 요소를 동시에 수정하고 새로운 에셋을 추가해 시나몬 테마를 완전히 새롭게 탈바꿈시킬 수도 있습니다. 다음은 수정 전 모습입니다:

패널 배경색과 투명도 변경하기
"cinnamon.css" 파일에서 #panel로 시작하는 줄을 찾습니다.

그라디언트를 단색과 약간의 투명도로 교체하겠습니다. 다음 항목들을 삭제합니다:
background-gradient-start
background-gradient-end
background-gradient-direction그리고 다음 코드를 추가합니다:
background-color: rgba(152,13,13,0.6);결과는 다음과 같습니다:

RGBa 형식으로 색상을 선언하면 색상과 투명도를 한 번에 손쉽게 변경할 수 있습니다. 괄호 안의 마지막 숫자가 투명도 값으로, 0은 완전히 투명, 1은 완전히 불투명을 의미합니다.
시나몬 패널은 세 개 영역(왼쪽, 가운데, 오른쪽)으로 나뉩니다. 새 애플릿을 드래그해 놓을 때 각 영역의 강조 색상을 바꾸는 특수 설정이 따로 있습니다. 이는 #panelLeft:dnd, #panelRight:dnd, #panelCenter:dnd 아래의 값을 수정해 조절할 수 있습니다.
메인 메뉴의 색상, 투명도, 글꼴 변경하기
메인 메뉴는 두 섹션, 즉 "PopupMenu"와 "Menu"가 함께 제어합니다. 첫 번째 섹션의 변경 사항은 모든 팝업 메뉴에 영향을 미칩니다. "Menu" 섹션에는 즐겨찾기, 카테고리, 장소(Places), 검색창 관련 옵션이 들어 있습니다. 따라서 색상과 투명도는 .popup-menu-boxpointer에서 변경해야 합니다.

새 패널의 RGBa 값을 그대로 복사해 -arrow-background-color: 뒤에 붙여 넣고, 테두리 두께를 2px로 늘린 뒤 테두리 색을 회색으로 바꿨습니다. 글꼴을 변경하려면 "cinnamon.css" 파일 맨 앞부분의 font-family 값을 수정하면 됩니다. 이 설정은 테마 전체에 적용되지만, 일부 요소에 대해서는 개별적으로 조정할 수도 있습니다. 결과는 다음처럼 바뀌었습니다:

→

패널의 디지털 시계 크게 만들기
시계는 패널 애플릿이지만, 창 목록이나 달력과 달리 테마 파일에 자체적인 외관 설정이 정의되어 있지 않습니다. 따라서 일반 "Applets" 설정을 수정해야 하며, 이는 메뉴 버튼 텍스트 크기와 개별 조정이 불가능한 다른 모든 패널 애플릿에도 영향을 미칩니다.

시계를 크게 만들려면 .applet-label을 찾아 font-size 값을 늘립니다. 여기서 font-family 값을 변경하여 앞서 메인 메뉴에 적용했던 글꼴 설정을 덮어쓸 수도 있습니다. 이 예제에서는 시계를 산세리프(sans-serif) 글꼴로 바꾸고, 팝업 메뉴는 세리프(serif) 글꼴을 유지했습니다.
달력 애플릿(시계를 클릭하면 열리는)의 외관을 수정하려면 "Date applet" 섹션을 살펴보세요. 예를 들어 .datemenu-date-label을 통해 달력 애플릿 상단의 텍스트(예: "3월 8일 일요일...")의 크기, 색상, 글꼴을 변경할 수 있습니다.
수정 후 버전이 물론 세상에서 가장 아름다운 테마는 아니지만, 우리가 만든 변경 사항을 잘 보여줍니다.

메뉴 버튼과 시계가 더 커졌고, 색상이 바뀌었으며 글꼴도 달라졌습니다. 다음 단계로는 실행 다이얼로그, 세션 종료 다이얼로그, 알림 같은 덜 두드러진 인터페이스 요소들을 다듬으면 됩니다.
테스트와 심화 학습
테마 파일을 /home/$USERNAME/.themes/ThemeName 경로에 두고, "모든 설정 → 테마 → 데스크톱" 메뉴에서 해당 테마를 활성화하면 변경 사항을 실시간으로 미리 볼 수 있습니다.

변경 사항이 바로 보이지 않으면 Alt+F2를 눌러 실행 다이얼로그를 연 뒤 r을 입력하고 Enter를 눌러 시나몬을 재시작하세요. 물론 모든 편집을 먼저 끝낸 후 새 테마를 적용하고 수정이 필요한 부분을 확인하는 방식으로 진행해도 좋습니다.
이런 기본 지침 외에도 Linux Mint 포럼에서 시나몬 테마 관련 조언을 얻을 수 있습니다. 그곳에서 다른 사용자와 테마 제작자들로부터 피드백을 받을 수도 있습니다. 다른 많은 창작 활동과 마찬가지로 테마 작업도 연습이 곧 실력입니다. 테마를 많이 만들고(또는 수정할수록) 점점 쉬워질 것이고, 어느새 "CSS만 있으면 문제 없는" 상태가 되어 있을 겁니다. 시나몬 개발팀이 조속히 공식적이고 상세한 테마 문서를 제공해 주기를 바라봅니다.