본문 바로가기
리눅스

Install the latest GNOME version on Debian

by 다움위키 2023. 12. 11.

2022년 5월 기준, 데비안 11은 gnome-shell-3.38.6을 제공하므로, 그놈 42 버전을 사용해 보고 싶기도 합니다. 이런 정보에 따라 진행해 볼 수 있습니다.

우분투와 같은 PPA가 존재하지 않기 때문에, 데비안 내부의 다른 버전, testing(테스팅), unstable(시드)의 패키지를 현재 안정 버전 stable에 설치해 볼 수 있습니다.

그러나, 그놈처럼 대형 프로젝트는 한꺼번에 모든 부분이 잘 작동하도록 만들기 힘듭니다. 이러다 보니, 안정 버전에서 제대로 작동하는 것처럼 보이는 것이 테스팅과 시드에서는 동작하지 않을 수 있음을 의미하고, 전혀 이상하지 않습니다.

우분투 22.04에서 여러 버그는 데비안 시드의 패키지를 사용했으므로 그 버그를 그대로 가지고 있습니다. 예를 들어, 그놈의 특정 부분은 유일하게 기본 지원 테마로 작동하고, 다른 테마로 바꾸더라도 그 테마에 영향을 받지 않습니다.

초보자 입장에서, 그들도 최신의 소프트웨어를 사용해보고 싶어 하고 여기저기의 튜토리얼에 따라 시드의 소프트웨어를 설치합니다. 그러나, 의도치 않게 만나는 버그는 초보자 입장에서 해결하기 힘들 수 있어서, 이전의 버전으로 돌아가고 싶기도 합니다.

여기서는 시드의 그놈 버전을 설치하는 방법과 이전 상태로 되돌리는 방법을 같이 소개해 보고자 합니다. 더 나은 방법이 있으면, 알려주세요!!

Add the unstable repository

먼저, 시드의 저장소를 /etc/apt/sources.list에 추가합니다.

deb http://ftp.kaist.ac.kr/debian/ unstable main contrib non-free
deb-src http://ftp.kaist.ac.kr/debian/ unstable main contrib non-free

저장소의 우선순위를 정해서 모든 패키지가 시드의 것으로 바뀌는 것을 방지합니다. 그러기 위해, /etc/apt/preferences에 다음을 씁니다:

Package: *
Pin: release a=bullseye
Pin-Priority: 500

Package: *
Pin: release a=unstable
Pin-Priority: 100

목록을 갱신합니다:

  • sudo apt update

Install the latest GNOME

이제 필요한, 즉, 그놈 패키지를 시드의 저장소를 특정해서 설치합니다:

  • sudo apt -t unstable install gnome-session gnome-shell gnome-backgrounds gnome-applets gnome-control-center mutter gjs

중간에 서비스를 재시작할 것인지 여부의 질문이 있는데 yes를 선택합니다.

시스템을 재시작합니다.

그런-다음 다른 패키지들도 시드의 것을 설치할 수 있습니다. 예를 들어, 그놈 트윅이 동작하지 않으면, 아래와 같이 시드의 것을 설치합니다:

  • apt -t unstable install gnome-tweaks

실험 버전은 아래와 같이 설치할 수 있습니다. 그러나, 버그 등에 유의하셔야 합니다.

  • sudo nala install -t experimental baobab eog evince gdm3 gjs gnome-backgrounds gnome-calculator gnome-characters gnome-contacts gnome-control-center gnome-disk-utility gnome-font-viewer gnome-keyring gnome-logs gnome-menus gnome-online-accounts gnome-remote-desktop gnome-session gnome-settings-daemon gnome-shell gnome-shell-extensions gnome-software gnome-system-monitor gnome-text-editor gnome-user-docs mutter gnome-desktop3-data nautilus

Keep GNOME up-to-date

시드의 패키지는 그놈 프로젝트에서 새로운 업데이트가 있거나, 버그 패치가 발생하면, 새롭게 패키징됩니다. 따라서, 시드의 패키지가 업데이트가 되면, 자동으로 시스템에 적용되도록 우선순위, /etc/apt/preferences를 조절해 줄 수 있습니다:

Package: *
Pin: release a=bullseye
Pin-Priority: 500

Package: *
Pin: release a=unstable
Pin-Priority: 100

Package: gnome-session
Pin: release a=unstable
Pin-Priority: 1000

Package: gnome-backgrounds
Pin: release a=unstable
Pin-Priority: 1000 

Package: gnome-applets
Pin: release a=unstable
Pin-Priority: 1000

Package: gnome-control-center
Pin: release a=unstable
Pin-Priority: 1000

Package: mutter
Pin: release a=unstable
Pin-Priority: 1000

Package: gjs
Pin: release a=unstable
Pin-Priority: 1000

Return back previsou gnome version

역과정은 쉽지 않은데, 왜냐하면 그놈이 업데이트가 되면서 그것의 올바른 동작에 필요한 모든 패키지들, 즉, 의존성 패키지들이 함께 업데이트가 되기 때문입니다. 이 말은 단순히 위의 몇 개의 패키지를 다운그레이드한다고 원래 대로 돌아가지 않음을 의미합니다.

우선, /etc/apt/sources.list 파일에서 시드의 저장소를 주석처리합니다:

#deb http://ftp.kaist.ac.kr/debian/ unstable main contrib non-free
#deb-src http://ftp.kaist.ac.kr/debian/ unstable main contrib non-free

그런-다음 우선순위 파일은 다른 이름으로 변경해 둡니다:

  • sudo mv /etc/apt/preferences /etc/apt/preferences.old

목록을 갱신합니다:

  • sudo apt update

그런-다음 위의 반대로 다음과 같이 입력해 보십시오:

  • sudo apt install gnome-session gnome-shell gnome-backgrounds gnome-applets gnome-control-center mutter gjs --reinstall

이런 과정으로 현재 시스템과 안정판, bullseye의 데이터를 비교해서 안정판으로 설치해 주면 좋을 텐데, 지옥 같은 의존성으로 인해, 지원되지 않는 과정일 것입니다.

어쩔 수 없이, 지우고 새롭게 설치할 수밖에 없습니다:

  • sudo apt purge gnome-session gnome-shell gnome-backgrounds gnome-applets gnome-control-center mutter gjs

이제, 그놈이 지워졌으니, 그놈 데스크탑은 사용할 수 없게 되었을 것입니다. 다른 콘솔로 넘어가기 위해, Ctrl+Alt+F2를 누릅니다. 다른 콘솔이 올라오지 않으면 뒤의 숫자를 3,4,.. 이런 식으로 높여서 키보드를 눌러보십시오.

콘솔에서 사용자와 id를 입력합니다.

이제 다시 그놈을 설치해 봅니다:

  • sudo apt install gnome-session gnome-shell gnome-backgrounds gnome-applets gnome-control-center mutter gjs

아마도 설치가 되지 않을 것입니다. 왜냐하면, 시드에서 설치된 높은 버전의 의존성 패키지들이 여전히 남아 있어서, 자동으로 다운그레이드를 지원하지 않기 때문입니다.

화면에 나온 의존성 패키지를 지웁니다. 예를 들어,

  • sudo apt purge gir1.2*
  • sudo apt autoremove

특정 패키지가 지워지면 더 이상 sudo를 지원하지 않습니다. 루트 사용자로 들어갑니다.

  • su -

그런-다음 다시 설치를 시도합니다:

  • sudo apt install gnome-session gnome-shell gnome-backgrounds gnome-applets gnome-control-center mutter gjs

여전히 의존성 패키지가 남아 있을 것입니다.

계속해서 의존성 패키지를 지우고, 관련된 깨진 패키지를 자동으로 삭제하십시오. 이런 과정을 설치가 될 때까지 계속해야 합니다.

아마도, 예를 들어, libglib2.0-0이 지워지고 나면 그놈이 설치될 것입니다.

시스템을 재시작하십시오.

그놈 터미널이 설치되지 않았을 수 있습니다. 위와 같이 다른 콘솔로 넘어가서 그놈 터미널을 설치하시고, 원래 콘솔로 돌아오십시오.

44 back to 43

그놈 44는 아직 대부분의 확장과 테마에서 제대로 지원하지 않기 때문에 이전 버전으로 되돌릴 필요가 있습니다.

그놈 시드 43에서 실험 버전 44로 업그레이드 후에, 최소한으로 되돌리는 방법입니다.

다음을 시드 버전을 받습니다:

  • gnome-shell
  • gnome-shell-common
  • gnome-shell-extension-prefs
  • libmutter-11-0
  • mutter
  • mutter-common

그런-다음 다음과 같이 순차적으로 설치합니다:

  • sudo dpkg -i mutter_43.3-5_amd64.deb libmutter-11-0_43.3-5_amd64.deb mutter-common_43.3-5_all.deb gnome-shell*
  • sudo apt install -f
  • sudo apt purge mutter-common-bin
  • sudo dpkg -i mutter_43.3-5_amd64.deb libmutter-11-0_43.3-5_amd64.deb mutter-common_43.3-5_all.deb gnome-shell*

아마도 일부에서 사소한 오류가 발생할 수 있습니다.