나는 라이브 미디어에서 설치한 후 테스트를 위해 업그레이드한 Debian Gnome 사본을 가지고 있습니다. 생산성상의 이유로 기본 X 환경을 GDM에서 i3으로 변경하기로 결정했습니다. 이로 인해 기본 런레벨을 5에서 3으로 변경하고 어떤 이유로 GNOME3을 다시 실행하려는 경우를 대비해 i3을 실행하도록 런레벨 3을 구성하고 싶습니다.
아직 이 작업을 수행하는 방법을 잘 모르겠습니다. Systemd 매뉴얼에서는 graphical.target
다른 것으로 변경할 것을 제안합니다. 그래서 graphical.target
예를 들어 나만의 사용자 지정 대상을 구성할 수 있도록 systemd 폴더에서 이라는 파일을 검색했지만 i3.target
찾을 수 없었습니다. 그러다가 Debian에서 대부분의 Systemd 시작 스크립트가 실제로는 /etc/init.d에서 sysvinit 스크립트로 호출된다는 사실을 발견했습니다. 일부 Upstart 스크립트도 호출됩니다. 하지만 이제 무엇을 호출해야 할지 모르기 graphical.target
때문에 i3를 시작하기 위한 사용자 정의 시작 스크립트를 생성할 수 없습니다.
그래서 제 질문은 Systemd에서 사용자 정의 대상을 만드는 방법이라고 생각합니다. 그러나 이는 그보다 좀 더 일반적이며 Systemd/Sysvinit/Upstart 전체 상황에 대해 매우 혼란스러워합니다.
답변1
당신은 잘못된 해결책을 찾고 있습니다. 다양한 창 관리자를 사용하는 방법을 정말로 알고 싶습니다. 런레벨은 답이 아닙니다.
컴퓨터를 시작하고 그래픽 로그인 화면이 표시되면 이를 디스플레이 관리자라고 합니다. gnome의 경우 이 디스플레이 관리자를 이라고 합니다 gdm
. 이 DM과 기타 주요 DM은 거의 모든 데스크탑 환경이나 창 관리자를 시작하는 방법을 알고 있습니다.
gnome 및 i3가 설치되어 있는 경우 로그인 시 시작할 항목을 선택하는 옵션이 로그인 화면에 있어야 합니다.
런레벨을 조작하거나 시스템을 초기화할 필요가 없습니다. 원하는 그래픽 환경을 설치하고(두 가지를 동시에 설치할 수 있음) 로그인 시 원하는 것을 선택하면 됩니다.
이 gdm 예에서 화면 하단의 "세션"을 클릭하면 이 로그인 세션에 사용할 그래픽 환경을 선택할 수 있습니다(기본값은 마지막으로 사용한 그래픽 환경). 이 옵션이 표시되지 않으면 gnome에서 gdm을 구성하여 표시할 수 있습니다.
답변2
이전 버전의 데비안에서는 세 가지 주요 init 시스템 중 하나를 설치할 수 있었지만 기본값은 system v였습니다. jessie의 경우 기본값이 systemd로 변경되었습니다. 이는 근본적인 변화이며 모든 항목을 동시에 설치하고 시작 시 선택할 수 있습니다. 안타깝게도 이것이 창 관리자 및 디스플레이 관리자와 더 관련이 있기 때문에 이것이 반드시 문제를 해결하지는 않는다는 Cathy의 의견에 동의해야 합니다.
먼저 세션 관리자의 아이디어를 소개하겠습니다. 로그아웃할 때 열리는 창을 로그인할 때 열리게 하려면 이는 세션 관리자의 책임입니다. 세션 관리자는 창 관리자와 로그인 시 실행하려는 다른 모든 항목도 실행합니다. 세션 관리자는 일반적으로 윈도우 시스템과 연관되어 있으며, gnome 및 kde에는 모두 자체 세션 관리자가 있습니다. 선택한 창 시스템이 세션 관리자를 사용하지 않는 경우 창 관리자가 세션 관리자 역할을 합니다.
세션 관리자는 시스템 시작 시스템에 의해 시작되는 디스플레이 관리자에 의해 시작된 세션 스크립트에 의해 시작됩니다. 대부분의 디스플레이 관리자에서는 사용자가 여러 세션 스크립트 중에서 선택하거나 세션 스크립트에 옵션을 전달하고 세션 스크립트가 세부 사항을 처리하도록 하여 세션 관리자를 선택할 수 있습니다.
이것이 원하는 것보다 조금 더 복잡하게 들리면 정말 간단하게 원하는 작업을 수행하는 Choosewm이라는 패키지가 있습니다. 이는 메타 세션 관리자입니다. 즉, 로그인할 때 실행할 세션 관리자를 선택할 수 있습니다.