![KDE 접근 가능/화면 판독기가 자동으로 시작되는 이유와 이를 방지하는 방법은 무엇입니까?](https://linux55.com/image/116734/KDE%20%EC%A0%91%EA%B7%BC%20%EA%B0%80%EB%8A%A5%2F%ED%99%94%EB%A9%B4%20%ED%8C%90%EB%8F%85%EA%B8%B0%EA%B0%80%20%EC%9E%90%EB%8F%99%EC%9C%BC%EB%A1%9C%20%EC%8B%9C%EC%9E%91%EB%90%98%EB%8A%94%20%EC%9D%B4%EC%9C%A0%EC%99%80%20%EC%9D%B4%EB%A5%BC%20%EB%B0%A9%EC%A7%80%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
나는 KDE와 KDE Accessible이 포함된 Debian 9.1을 실행하고 있습니다. / 어떤 이유에서인지 스크린 리더가 가끔 계속 나타납니다. 나는 알고 싶다왜이것이 바로 시작을 방지하는 방법입니다.
백그라운드 서비스의 자동 시작 항목이나 시작 관리자(부랑자)에는 나열되지 않습니다. 접근성 옵션에서 "스크린 리더 활성화"가 체크 해제되어 있습니다.
ps -ef | grep access
나에게주세요:
/usr/bin/dbus-daemon --config-file=/usr/share/defaults/at-spi2/accessibility.conf --nofork --print-address 3
/usr/lib/kde4/libexec/kaccessibleapp
/usr/share/defaults/at-spi2/accessibility.conf의 내용을 찾을 수 있습니다.여기.
이제 데비안에서 이를 비활성화하면 문제는 다음과 같습니다.여기.
답변1
파일에 정의된 세션 D-Bus 서비스입니다 /usr/share/dbus-1/services/org.kde.kaccessible.service
. systemd
사용자 세션 관리자에 의해 간접적으로 시작됩니다 .
바라보다 systemctl --user status
.
GUI 데스크탑 세션이 시작되면 그 시점에 시작된 사용자 수준 서비스 중 하나는 다음과 같습니다.접근 가능한 버스 서비스: at-spi-dbus-bus.service
. 그러면 버스에 액세스할 수 있는 인스턴스와 버스에 액세스할 수 있는 실제 D-Bus 서비스가 at-spi-bus-launcher
시작 됩니다 .dbus-daemon
kaccessibleapp
kaccessibleapp
내가 아는 한, 서비스를 비활성화하려면 파일이 /usr/share/dbus-1/services/org.kde.kaccessible.service
해당 디렉터리에 존재하는 것을 중지해야 합니다. 서비스 시작을 구체적으로 제어할 수 있는 다른 방법은 없는 것 같습니다.
전체 보조 버스를 비활성화하려면 systemctl --user stop at-spi-dbus-bus.service
일반 사용자 계정으로 실행하고 중요한 내용이 손상되지 않았는지 확인하십시오. 문제가 발생하면 로그아웃했다가 다시 로그인하여 보조 버스를 다시 시작하면 됩니다. 보조 버스 시작을 영구적으로 비활성화하려면 를 실행하십시오 systemctl --user disable at-spi-dbus-bus.service
. 실행 취소하려면 disable
로 바꾸세요 enable
.
다른 세션 수준 서비스의 systemd
구성에 접근성 버스가 필요한 경우에도 해당 요구 사항을 충족하기 위해 접근성 버스 서비스를 시작할 수 있습니다. 보조 버스의 시작을 명시적으로 비활성화하려면(달리 필요한 경우에도) 를 실행하십시오 systemctl --user mask at-spi-dbus-bus.service
. 실행 취소하려면 mask
로 바꾸세요 unmask
.
답변2
나에게도 같은 문제가 있었기 때문에 몇 가지 조사 끝에 파일을 편집 /etc/xdg/autostart/kaccess.desktop
하고 줄에 주석을 달거나 파일 kdeconnecting과 마찬가지로 Exec=kaccess
전체 파일을 삭제하여 나에게 맞는 솔루션을 찾았습니다./org.kde.kdeconnect.daemon.desktop
답변3
머리말
Plasma의 4일 동안의 레거시 소프트웨어에서 기대할 수 있듯이 KAccess도 systemd의 존재보다 앞서 있으며 아직 모든 현재 데스크톱 인프라와 통합할 만큼 충분히 철저하게 포팅되지 않았습니다. 사실 저는 귀하의 질문을 보고 "아! 그 질문에 대한 답이 무엇인지 알 것 같아요!"라고 생각했을 때 조금 놀랐습니다. 그런 다음 Yakuake 창을 내리고 첫 번째 ls
명령은 올바른 디렉토리로 이동하는 것이었습니다. 비록 제가 이 문제의 희생양이 된 지 아마 6-8년이 지났을 것입니다. 이것은 내가 호출한 정확한 명령과 그 결과입니다.
$ ls -lFAhkp /etc/xdg/autostart/kaccess.desktop
rw-r--r-- 1 root root 2 KiB Thu Jan 21 13:01:43 2021 kaccess.desktop
범인이 발견됐다
이 파일이 귀하의 모든 불만의 원인임을 알려드리게 되어 유감입니다. 내가 알 수 있는 바에 따르면, rm -f
Gate to Hell 작품은 꽤 만족스러울 것입니다. 하지만 저는 완전히 다른 방향으로 여러분에게 조언을 드리고 싶습니다. 그 이유는 이것이다...
이 파일의 최근 mtime은 이 파일이 조잡하지는 않지만 KDE 프레임워크 내에서 여전히 현재 패키지의 일부일 것이라는 사실을 상기시켜 줍니다. 사실 나는 그것이 단지 그런 것이 아니라는 것을 곧 알게 되었다.어느패키지는 다름 아닌 그 plasma-desktop
자체입니다! 즉, 해당 파일을 삭제하면 다음에 plasma-*
새 패키지 세트를 릴리스한 후 패키지 관리자를 사용하여 시스템을 업데이트할 때 파일이 원래 위치로 돌아갑니다. 다행스럽게도 "Hoyle에 따르면" 법적 해결책은 적어도 빠른 것입니다.
용을 죽이려고 하기 전에 항상 고대 두루마리를 참고하세요
전체 autostart
폴더는 또 다른 Freedesktop.org XDG(Cross Desktop Group) 사양이며 이름이 적절합니다.데스크탑 애플리케이션이 자동으로 시작됩니다., 이 작은 금 덩어리가 안에 숨겨져 있어요구현 노트절:
시스템 전체 자동 시작 디렉터리에 .desktop 파일을 설치하여 응용 프로그램이 자동 시작되는 경우 개별 사용자는 KeyHidden=True가 포함된 동일한 이름의 .desktop 파일을 개인 자동 시작 디렉터리에 배치하여 해당 응용 프로그램에 대한 자동 시작을 비활성화할 수 있습니다.
이 사양의 앞부분에서 관련자체 시작 디렉터리상태:
설정되지 않은 경우
$XDG_CONFIG_HOME
사용자 계정의 자동 시작 디렉터리는 입니다~/.config/autostart
.설정되지 않은 경우
$XDG_CONFIG_DIRS
시스템 전체 자동 시작 디렉터리는 입니다/etc/xdg/autostart
.
정복의 영웅이 돌아왔다
말하자면, 표시된 조건 변수 확장을 수용할 수 있을 만큼 충분히 복잡한 쉘(예: Bash 또는 Z Shell)에서 실행하여 이 상황을 처리하는 방법은 다음과 같습니다.
사용자 계정의 자동 시작 디렉터리가 실제로 존재하는지 확인하세요.
mkdir -pv "${XDG_CONFIG_HOME:-~/.config}/autostart"
문제가 있는 Plasma Desktop 파일의 복사본을 삭제하여 영원히 썩게 놔두세요.
cp -iv /etc/xdg/autostart/kaccess.desktop "${XDG_CONFIG_HOME:-~/.config}/autostart"
숨겨진 키에 대한 값을 설정하는 파일에서 기존 줄을 모두 제거한 후 스크롤의 주문을 사용하여 평생 무능하다는 저주를 내립니다.
grep -Eq 'Hidden\s*?=' "${XDG_CONFIG_HOME:-~/.config}/autostart/kaccess.desktop" && sed -Ei '/Hidden[[:blank:]]*?=/d' "${XDG_CONFIG_HOME:-~/.config}/autostart/kaccess.desktop"; echo "Hidden=true" >>"${XDG_CONFIG_HOME:-~/.config}/autostart/kaccess.desktop"