KDEアクセシブル/スクリーンリーダーが自動的に起動する理由とこれを防ぐ方法は?

KDEアクセシブル/スクリーンリーダーが自動的に起動する理由とこれを防ぐ方法は?

私は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 の内容を見つけることができます。ここ

Debian でこれを無効にすると、問題は次のようになります。ここ

答え1

ファイルに定義されているセッションD-Busサービス/usr/share/dbus-1/services/org.kde.kaccessible.servicesystemdユーザーセッションマネージャによって間接的に起動されます。

望むよりsystemctl --user status

GUIデスクトップセッションが開始されると、その時点で開始されたユーザーレベルのサービスの1つは次のとおりです。アクセス可能なバスサービスat-spi-dbus-bus.service。これにより、バスにアクセスできるインスタンスとバスにアクセスできる実際のD-Busサービスがat-spi-bus-launcher開始されます。dbus-daemonkaccessibleapp

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 -fGate to Hellの作品はかなり満足です。しかし、私は全く異なる方向にあなたにアドバイスをしたいと思います。その理由はこれです...

このファイルの最近のmtimeは、このファイルが粗雑ではありませんが、KDEフレームワーク内でまだ現在のパッケージの一部であることを思い出させます。実際、私はそれがそうではないことをすぐに知りました。どのパッケージはそれ以外のものそのものplasma-desktopです!つまり、ファイルを削除すると、次にplasma-*新しいパッケージセットをリリースした後、パッケージマネージャを使用してシステムを更新すると、ファイルは元の場所に戻ります。幸いなことに、「Hoyleによると」法的解決策は少なくとも速いです。

ドラゴンを殺そうとする前に、常に古代の巻物を参照してください

フォルダautostart全体は別のFreedesktop.org Cross Desktop Group(XDG)仕様であり、名前は適切です。デスクトップアプリケーションが自動的に起動します。、この小さな金の塊が中に隠されています。実装ノート節:

システム全体の自動起動ディレクトリに.desktopファイルをインストールしてアプリケーションを自動起動する場合、個々のユーザーはKeyHidden = Trueを含む同じ名前の.desktopファイルを個人の自動起動ディレクトリに配置し、そのアプリケーションの自動起動を開始します。無効にできます。

この仕様の前半で関連自己起動ディレクトリ状態:

設定されていない場合、$XDG_CONFIG_HOMEユーザーアカウントの自動起動ディレクトリはです~/.config/autostart

設定されていない場合、$XDG_CONFIG_DIRSシステム全体の自動起動ディレクトリはです/etc/xdg/autostart

征服の英雄が帰ってきた

言い換えれば、表示された条件変数拡張に対応するのに十分な複雑なシェル(BashやZ Shellなど)で実行してこの状況を処理する方法は次のとおりです。

  1. ユーザーアカウントの自動起動ディレクトリが実際に存在することを確認してください。

    mkdir -pv "${XDG_CONFIG_HOME:-~/.config}/autostart"

  2. 問題のあるPlasma Desktopファイルのコピーを削除して永久に腐ったままにしてください。

    cp -iv /etc/xdg/autostart/kaccess.desktop "${XDG_CONFIG_HOME:-~/.config}/autostart"

  3. 隠しキーの値を設定するファイルから既存の行をすべて削除した後、スクロールの注文を使用して生涯無能であるという呪いを下します。

    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"
    

関連情報