저는 데비안을 실행하기 위해 Blackbox를 창 관리자로 사용하고 콘솔에서 명령을 사용하여 구식 방식으로 실행합니다 startx
. Debian 11에서는 일부 GUI 애플리케이션을 시작하는 데 시간이 오래 걸리는 문제가 발생했습니다. 바꾸다
exec blackbox
그리고
exec dbus-launch --exit-with-session blackbox
.xinitrc
문제를 해결했습니다 . 오늘 저는 Debian 12(새로 설치)로 업그레이드했는데 dbus-launch를 사용해도 같은 문제가 다시 발생합니다. 예를 들어, Firefox는 처음 실행하는 데 25초가 걸립니다. 후속 부팅 시간은 5초 미만입니다. strace
무슨 일이 일어났는지 확인하기 위해 명령을 통해 Firefox를 실행해 보았습니다 .
$ strace firefox
프로세스가 잠시 중단되기 전의 마지막 10줄은 다음과 같습니다.
futex(0x7f060049ca18, FUTEX_WAKE_PRIVATE, 1) = 1
eventfd2(0, EFD_CLOEXEC|EFD_NONBLOCK) = 35
futex(0x7f0600500018, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x7f0600500018, FUTEX_WAIT_PRIVATE, 2, NULL) = -1 EAGAIN (Resource temporarily unavailable)
futex(0x7f0600500018, FUTEX_WAKE_PRIVATE, 1) = 0
write(27, "\1\0\0\0\0\0\0\0", 8) = 8
clock_gettime(CLOCK_MONOTONIC, {tv_sec=6056, tv_nsec=849987069}) = 0
futex(0x7f060049ca18, FUTEX_WAKE_PRIVATE, 1) = 1
clock_gettime(CLOCK_MONOTONIC, {tv_sec=6056, tv_nsec=850085427}) = 0
poll([{fd=35, events=POLLIN}], 1, 25000
누구든지 출력을 설명할 수 있나요? 무엇이 문제일까요?
답변1
문제는 다른 창 관리자(dwm)를 실행하지만 콘솔 터미널에서 동일한 방식으로 실행하는 문제인 것 같습니다. 증상은 Firefox가 느리게 시작되고 시작하는 데 30초 이상이 걸리는 것입니다. 다음 솔루션을 사용하면 시간이 약 8초로 단축됩니다.
이 문제는 다른 컴퓨터에서 두 가지 방법으로 해결됩니다.
먼저, .xinitrc에 다음 줄을 추가한 후 X를 다시 시작하세요.
dbus-update-activation-environment --systemd DBUS_SESSION_BUS_ADDRESS DISPLAY XAUTHORITY &
.xinitrc 대신 .xsession을 사용하는 것에 대한 데비안 조언을 따르는 다른 컴퓨터의 두 번째 솔루션:https://wiki.debian.org/Xsession. .xsession이 .xinitrc를 대체하는 경우 "dbus-update-activation-environment" 명령은 필요하지 않으며 /etc/X11/Xsession.d에서 실행되므로 .xsession 파일에 포함되지 않습니다. 그렇지 않으면 .xinitrc의 원래 명령과 옵션이 새 .xsession 파일에 복사되고 .xinitrc 파일은 삭제됩니다.