web-dev-qa-db-ja.com

ユーザーとしてUSBデバイスをマウントできない、シャットダウンできない

gnome および gnome3-staging ppasを試し、Gnome 3.8の実行をテストしました。しばらくして、Gnome 3.8は私には向かないと判断したので、両方のPPAを削除しました。 gnome3-staging ppaページで説明したように、私もやった:

$ Sudo apt-get purge libpam-systemd
$ Sudo apt-get install libpam-xdg-support

問題は、外部USBデバイスをもうマウントできないことです。ユーザーとしてマウントしようとすると失敗します。

$ udisks --mount /dev/sdc1 
Mount failed: Not Authorized

XFCEセッションにログインしていますが、フォールバックGnomeセッションでも、Unityセッションでも同じことが起こります。また、XFCEでは、「サスペンド」および「シャットダウン」メニューがグレー表示されます。

XFCEメニューからシナプスパッケージマネージャーを開くこともできません(Sudo synapticが機能します)。

何度も検索した結果、ポリシーキットの問題のようです。 ~/.xsession-errorsに次が表示されます。

(polkit-gnome-authentication-agent-1:5805): polkit-gnome-1-WARNING **: Unable to determine the session we are in: No session for pid 5805

PID 5805は存在しません。 xtermからpolkit-dnome-authentication-agent-1を起動しようとすると、同じエラー(異なるPID)が表示されます。

$ /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
...
(polkit-gnome-authentication-agent-1:15971): polkit-gnome-1-WARNING **: Unable to determine the session we are in: No session for pid 15971

...行は、cssファイルの欠落などに関するGTKからの警告です)。

polkitdが実行されています:

$ pidof polkitd
1495

行方不明のものはありますか?

3
Alok

何度も検索した後、policykit-1パッケージを再インストールすることにしました。 Sudo apt-get install --reinstall policykit-1を実行すると、パッケージがリポジトリにないためインストールできないというメッセージが表示されました(正確なメッセージがないのでごめんなさい!)。

だから、私は走った:

apt-cache policy $(dpkg -l | awk 'NR >= 6 {print $2}') | less

これにより、多くのパッケージには0.105-1ubuntu1pitti2のようなバージョンがありましたが、Ubuntuリポジトリから入手できるバージョンは0.105-1ubuntu1のようなものでした。 gnome3 ppaが this ppa からパッケージをプルしたようです。

そこで、次のコマンドを実行しました(パッケージの名前は、pittiバージョンがインストールされているものです):

Sudo aptitude install dbus=1.6.8-1ubuntu6 dbus-x11=1.6.8-1ubuntu6 gir1.2-polkit-1.0=0.105-1ubuntu1 libdbus-1-3=1.6.8-1ubuntu6 libdbus-1-3:i386=1.6.8-1ubuntu6 libdbus-1-dev=1.6.8-1ubuntu6 libpolkit-agent-1-0=0.105-1ubuntu1 libpolkit-backend-1-0=0.105-1ubuntu1 libpolkit-gobject-1-0=0.105-1ubuntu1

上記のコマンドは、パッケージの公式Ubuntuリポジトリバージョンをインストールしました。バージョン番号は、上記のapt-cache policyコマンドの出力から取得されます。そして今、すべてが機能しています。

0
Alok

使用するDM(kdm、gdm、lightdmなど)に関係なく、次の手順を実行します。

  1. /etc/pam.d/ <your_dm>ファイルの先頭に次を追加します。

    session required pam_loginuid.so
    session required pam_systemd.so
    
  2. ログアウト、Xの再起動、ログイン

  3. すべてが機能することを確認する

  4. 手順1で適用した修正を削除します。

  5. ログアウト、Xの再起動、ログイン

  6. それでもすべてが機能することを確認してください!

このいわゆる修正は、ログインしてシステムが動作していることを確認したら削除できます。明らかに、アップグレードされたシステムは根本的な問題を修正するプロセスを完了することができます。 (管理者ログイン後)完了したら、修正を削除できます。

また、ログイン後に直接取得していたすべてのクラッシュレポートもクリアしました。

4
AtesComp

PolicyKitは、13.04から13.10への更新中にどこかで破損しました。バグレポートは

https://bugs.launchpad.net/ubuntu/+source/policykit-desktop-privileges/+bug/1240336

次の2つの回避策が含まれています。

  1. lxdmを使用している場合は、/etc/pam.d/lxdmに次の行を追加します。

    session required pam_loginuid.so
    session required pam_systemd.so
    
  2. または実行してみてください

    Sudo pam-auth-update --force
    
2
int_ua