アップグレードの場合に変更を失うことなくdbusサービスの「Exec」行を変更する方法

シャクラ

私は自分のシステムで醜い問題に直面しています。ログインマネージャー(LightDM)は、ログイン時にgnome-keyring-daemonを正常に開始し、必要に応じてキーリングのロックを解除しています(編集: PAM経由のすべて)。

事は、ただ一つのコンポーネントを始めI GETのgnome-キーリング・デーモンですsecretsが、私はこれらすべてを必要とする:pkcs11secretsssh、とgpg後者がデフォルトではない理由はわかりません。これをパッケージメンテナに報告する必要があるかどうかもわかりません。

このファイル/usr/share/dbus-1/services/org.freedesktop.secrets.serviceは、gnome-keyring-daemonの実行方法を定義しています。

[D-BUS Service]
Name=org.freedesktop.secrets
Exec=/usr/bin/gnome-keyring-daemon --start --foreground --components=secrets

私はそれをEmacsで編集して問題を解決することができましたが、それは汚いので、私の変更はgnome-keyringパッケージの次のアップグレードのために失われます。

したがって、問題はExec、次のシステムアップグレードでこれが失われるのを防ぎながら、そのサービスラインを変更するにはどうすればよいですか?カスタムサービスを有効にし、デフォルトで提供されるサービスを無効にする方法はありますか?

関連するパッケージとそのバージョンが私のシステムにインストールされています。

$ LC_ALL=C pacman -Qi dbus gnome-keyring lightdm | egrep "(Name|Version)"
Name           : dbus
Version        : 1.8.8-1
Name           : gnome-keyring
Version        : 3.12.2-1
Name           : lightdm
Version        : 1:1.12.0-1
シャクラ

わかりました、私はこの問題を解決する方法を見つけました。これは私の質問に直接対処するものではありませんが、ここで質問するように私を駆り立てた問題を解決します。

問題

それがそうであったように、gnome-keyringは私のGPGキーのロックを解除していなかったので、ログインするたびにGPGキーのパスワードを尋ねられました(Emacsは構成のために.gpgファイルを読み取るため)。 offsetimapは、作業中に私の電子メールアカウントのパスワードをまったく取得できないことについて文句を言いませんでした。

次に、.xprofile(LightDMによって読み取られ、他のDMが異なるファイルを読み取る可能性がある)からgnome-keyring-daemonを次のように起動しようとしました

#!/bin/bash

eval $(gnome-keyring-daemon --start --components=gpg,pkcs11,secrets,ssh)
export GPG_AGENT_INFO SSH_AUTH_SOCK

再起動して(ログアウトして再度ログインするよりもこれが好きです)、ログインした後、GPGキーのパスワードの入力を求められませんでしたが、offlineimapは電子メールアカウントのパスワードを取得できないと不平を言っていました。タツノオトシゴを実行している私は、パスワードセクションがないことに気づきました

ソリューション

数時間戦い、さまざまな組み合わせを試した後(そのうちの1つ、[パスワード]セクションが表示されていますが、[ログイン]フォルダーがロックされています!)、正しい解決策が何であるかがわかりました。

#!/bin/bash

source /etc/X11/xinit/xinitrc.d/30-dbus  # You need a dbus session, duh
eval $(gnome-keyring-daemon --start --components=gpg,pkcs11,secrets,ssh)
export GPG_AGENT_INFO SSH_AUTH_SOCK

寄付。問題が解決しました。彼は終わりです、みんな。

編集:注意してください、あなたのgnome-keyring-daemonはあなたがエクスポートするためにより多くの環境変数を発行するかもしれません。シェルを超える必要がないこと、GPG_AGENT_INFOまたはシェルからSSH_AUTH_SOCK実行する必要がないことを確認gnome-keyring-daemon --start --components=gpg,pkcs11,secrets,sshし、exportそれに応じ文に変数を追加します

LightDMはPAM構成のおかげでまだgnome-keyring-daemonを開始していることに注意してください。そのような構成を変更することは、お勧めしません。ただし、ログイン後にパスワードを挿入してgnome-keyringで何かのロックを解除していることに気付いた場合は、LightDMがパスワードを提供していないことが原因である可能性があります。私はLightDMPAMモジュールにこの追加を行いました/etc/pam.d/lightdm

auth       optional    pam_gnome_keyring.so try_first_pass

追加されたのはtry_first_passLinux-PAMシステム管理者ガイドを読むことは悪い考えではありません)、私のシステムではLightDMにそのパラメーターが含まれていません。

これが、GnomeKeyringの問題を解決した方法です。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

制御を失うことなくリモートホストのIPアドレスを変更する(Linux)

分類Dev

systemd-MACアドレスが変更された場合にサービスの開始を防ぐ方法

分類Dev

openprojectのデータを失うことなくpostgresqlデータベースを10から12にアップグレードする方法

分類Dev

実行時にWebサービスアドレスを変更する方法は?

分類Dev

透明度を失うことなくステータスバーの色を動的に変更する

分類Dev

WebサービスのURLが変更されたことをAndroidアプリに通知する方法

分類Dev

Xampのデータを失うことなくTypeをvarcharからDateに変更する方法

分類Dev

JAX-WS Webサービスのアドレスの場所を変更する方法

分類Dev

Android MVP - プレゼンターをヘッドレスフラグメントに保持する場合、構成の変更中にビューが確実に更新されるようにする方法は?

分類Dev

アクティビティを変更する方法サーバーのフラグが変更された場合、アプリは30秒に1回サーバーをチェックする必要があります#android?

分類Dev

スペース/フォーマットを失うことなく、特定の列の文字列を行の範囲で変更する

分類Dev

ドックパネルの2つのグループボックス、サイズ変更(ストレッチと修正)を正しく設定する方法は?

分類Dev

アップグレードの一部としてデフォルトのサービスの説明を変更することはできませんEnableDefaultServicesUpgradeをtrueに設定します

分類Dev

アップストリームサービスのIPが変更されたときにKubernetesnginxがIPアドレスを更新する

分類Dev

ffmpegがスピードアップするときにmp3のビットレートを変更するのはなぜですか?

分類Dev

MySQLのデータを失うことなく列のデータ型を変更する方法

分類Dev

比率を失うことなくFacebookの画像のサイズを変更する

分類Dev

ユニバーサルWindowsアプリで、ビューモデルのプロパティが変更された場合にxamlとデータバインディングを使用してボタンの背景色を変更する方法

分類Dev

データを失うことなく、動的フィールドを使用せずにSolrのスキーマを変更する

分類Dev

Auto Call Recorderアプリのデータを失うことなく構造DBを変更するにはどうすればよいですか?

分類Dev

ディスクの可視サイズをアップグレードするときにRAIDを拡張/サイズ変更する

分類Dev

ディスクの可視サイズをアップグレードするときにRAIDを拡張/サイズ変更する

分類Dev

データを失うことなくVarcharタイプの列を日付タイプの列に変更する方法

分類Dev

ローカルの変更がアップストリームの変更と競合する場合、変更を隠し、プルを実行してから、隠し解除できるのはなぜですか?

分類Dev

WiXインストーラーのサイレントインストールでアップグレード場所を変更する

分類Dev

ルートのスクロール ビュー慣性効果を追加する方法、または私の場合にこのコードを変更する方法

分類Dev

実行時に特定のユーザー/スレッドのログレベルを変更する方法

分類Dev

コンピュータにオペレーティングシステムがインストールされていない場合、キーボードのレイアウトを変更することはできますか?

分類Dev

何も失うことなく、Windows10で大容量のNVMESSDにアップグレードする方法

Related 関連記事

  1. 1

    制御を失うことなくリモートホストのIPアドレスを変更する(Linux)

  2. 2

    systemd-MACアドレスが変更された場合にサービスの開始を防ぐ方法

  3. 3

    openprojectのデータを失うことなくpostgresqlデータベースを10から12にアップグレードする方法

  4. 4

    実行時にWebサービスアドレスを変更する方法は?

  5. 5

    透明度を失うことなくステータスバーの色を動的に変更する

  6. 6

    WebサービスのURLが変更されたことをAndroidアプリに通知する方法

  7. 7

    Xampのデータを失うことなくTypeをvarcharからDateに変更する方法

  8. 8

    JAX-WS Webサービスのアドレスの場所を変更する方法

  9. 9

    Android MVP - プレゼンターをヘッドレスフラグメントに保持する場合、構成の変更中にビューが確実に更新されるようにする方法は?

  10. 10

    アクティビティを変更する方法サーバーのフラグが変更された場合、アプリは30秒に1回サーバーをチェックする必要があります#android?

  11. 11

    スペース/フォーマットを失うことなく、特定の列の文字列を行の範囲で変更する

  12. 12

    ドックパネルの2つのグループボックス、サイズ変更(ストレッチと修正)を正しく設定する方法は?

  13. 13

    アップグレードの一部としてデフォルトのサービスの説明を変更することはできませんEnableDefaultServicesUpgradeをtrueに設定します

  14. 14

    アップストリームサービスのIPが変更されたときにKubernetesnginxがIPアドレスを更新する

  15. 15

    ffmpegがスピードアップするときにmp3のビットレートを変更するのはなぜですか?

  16. 16

    MySQLのデータを失うことなく列のデータ型を変更する方法

  17. 17

    比率を失うことなくFacebookの画像のサイズを変更する

  18. 18

    ユニバーサルWindowsアプリで、ビューモデルのプロパティが変更された場合にxamlとデータバインディングを使用してボタンの背景色を変更する方法

  19. 19

    データを失うことなく、動的フィールドを使用せずにSolrのスキーマを変更する

  20. 20

    Auto Call Recorderアプリのデータを失うことなく構造DBを変更するにはどうすればよいですか?

  21. 21

    ディスクの可視サイズをアップグレードするときにRAIDを拡張/サイズ変更する

  22. 22

    ディスクの可視サイズをアップグレードするときにRAIDを拡張/サイズ変更する

  23. 23

    データを失うことなくVarcharタイプの列を日付タイプの列に変更する方法

  24. 24

    ローカルの変更がアップストリームの変更と競合する場合、変更を隠し、プルを実行してから、隠し解除できるのはなぜですか?

  25. 25

    WiXインストーラーのサイレントインストールでアップグレード場所を変更する

  26. 26

    ルートのスクロール ビュー慣性効果を追加する方法、または私の場合にこのコードを変更する方法

  27. 27

    実行時に特定のユーザー/スレッドのログレベルを変更する方法

  28. 28

    コンピュータにオペレーティングシステムがインストールされていない場合、キーボードのレイアウトを変更することはできますか?

  29. 29

    何も失うことなく、Windows10で大容量のNVMESSDにアップグレードする方法

ホットタグ

アーカイブ