私は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.service
。systemd
ユーザーセッションマネージャによって間接的に起動されます。
望むよりsystemctl --user status
。
GUIデスクトップセッションが開始されると、その時点で開始されたユーザーレベルのサービスの1つは次のとおりです。アクセス可能なバスサービス: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 Cross Desktop Group(XDG)仕様であり、名前は適切です。デスクトップアプリケーションが自動的に起動します。、この小さな金の塊が中に隠されています。実装ノート節:
システム全体の自動起動ディレクトリに.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"