잠시 동안 두 사용자 세션 간을 전환하면 일부 경우 비활성 세션이 GUI 프로세스 실행을 중지합니다. 이렇게하면 다른 세션이로드 될 때까지 대기하고 다른 세션에서 무언가를 수행 할 수 없습니다. 잠시 후에 전환하고 돌아 오면 여전히 같은 지점에 있기 때문입니다. 영향을받는 소프트웨어에는 rsync, rdiff-backup, KDE 백그라운드 프로세스, Openbox 세션에서 시작된 Steam (다운로드 중지) 및 일부 게임이 포함됩니다. VLC는 영향을받지 않습니다. 적어도 전환 한 후 필요한 시간으로 건너 뛰지 만 잠시 동안 창에서 오래된 프레임과 시간을 볼 수 있습니다.
그러한 행동에 어떤 책임이 있습니까? 어떻게 든 재구성 할 수 있습니까?
업데이트 : 메모리 및 스왑 사용량
몇 가지 추가 맥락 : 아이러니는 오래된 brainstorm.ubuntu.com (현재 기능 상실) 에서이 정확한 행동을 제안했습니다.
답변
콘솔과 그래픽 가상 터미널 사이를 정기적으로 전환하기 때문에이 문제도 발생합니다. Xorg는 VT 스위치 동안 클라이언트를 일시 중단시키기 때문에 Xorg의 VT가 더 이상 활성화되지 않으면 클라이언트가 “동결”되는 것처럼 보입니다. Wayland는 지원하지 않으므로 백그라운드 VT에서 계속 실행해야하는 프로그램이 새로운 디스플레이 프로토콜을 지원하는 경우 Xorg 대신 Wayland 컴포 지터를 사용하십시오.
이 문제를 해결하는 한 가지 방법은 로컬 VNC 서버에서 그래픽 프로그램을 실행하여 중단되지 않도록하는 것입니다. 이것이 내가 가장 자주 사용하는 해결 방법입니다.
답변
그러한 행동에 어떤 책임이 있습니까?
디스플레이 관리자 (DM)가 찾고 있습니다. 사람 : lightdm
, gdm
, kdm
(구 KDE), sddm
(새 KDE), xdm
…
어떻게 든 재구성 할 수 있습니까?
AFAIK, X 서버에서도 그렇게해야합니다. 그러나 다음을 사용하여 해당 동작을 건너 뛰었습니다.
- 다른 가상 콘솔 TTY의 CLI 도구
init
서비스 로서의 CLI 도구
오디오 스트림과 관련하여 2006 년 GNU / Linux를 사용하기 시작했습니다. 오디오 장치는 Display와 별도로 관리되었습니다. 이제 HDMI와 같은 새로운 통합 장치 / 포트를 통해 상황이 크게 달라졌습니다. 따라서 Pulse 서버는 일부 X 디스플레이 이벤트를 알고 있어야합니다. 내가 기억하는 것처럼 (이것을 다시 확인하겠습니다) Pulse 서버는 사용자 프로세스로 실행됩니다.
답변
screen
bash를 사용하여 CLI에서 세션을 시작할 수 있으며이 세션에서 응용 프로그램을 시작할 수 있습니다. 이제 문제없이이 터미널을 닫고 screen -r
명령을 사용하여 복구 할 수 있습니다 . 이보다 더 많거나 적습니다.
screen bash
rsync -V xxx yyy
그리고 CLI를 닫고 원하는대로 수행 할 수 있습니다.
screen -r
작업이 완료되었는지 확인합니다. 이것이 다음과 같은 명령을 사용하여 GUI 응용 프로그램에서 작동 할 수 있는지 모르겠습니다.
nohup your-X-application &