| adm | Find | login register |
coolcd joined: 2008-01-21 posted: 2601 promoted: 348 bookmarked: 95 |
目前 Debian Stable (Squeeze) 的 PCManFM 0.9.7 無法自動掛載 USB 外接硬碟 如果在 terminal 執行,可以看到出現 try automount 的訊息 但打開 PCManFM 後,並沒有自動掛載,也沒有進一步的訊息 如果可以自動掛載 應該會在桌面、垃圾筒、應用程式、CDRom0 下方,文件、音樂……等資料夾上方顯示 USB 外接硬碟的磁區 經過反覆嚐試 如果在 polkit-1 內自訂一個規則,就可以讓 PCManFM 自動掛載 PCManFM#Mounting_as_normal_user /etc/polkit-1/localauthority/50-local.d/55-myusb.conf [Storage Permissions]
Identity=unix-group:plugdev
Action=org.freedesktop.udisks.filesystem-mount;org.freedesktop.udisks.drive-eject;org.freedesktop.udisks.drive-detach;org.freedesktop.udisks.luks-unlock;org.freedesktop.udisks.inhibit-polling;org.freedesktop.udisks.drive-set-spindown
ResultAny=yes
ResultActive=yes
ResultInactive=no
記得你的 user account 要加入 plugdev 這個 group 然後要登出、重新登入才會生效 感謝 archlinux 很棒的 wiki,很多疑難雜症的解法都是從那邊學來的 如果不是用 gnome 2,用其他視窗管理器/桌面系統,如 icewm/pekwm/awesome 等 可能要手動跑 /usr/lib/gvfs/gvfsd & edited: 2
| |||||||||||
eliu joined: 2007-08-09 posted: 11478 promoted: 617 bookmarked: 187 新竹, 台灣 |
在 ubuntu 11.0 & mandriva /etc/polkit-1/localauthority.conf.d 都有
ubuntu 多了
與你的不一樣 | |||||||||||
coolcd joined: 2008-01-21 posted: 2601 promoted: 348 bookmarked: 95 |
路徑忘了改,是
是自己新加的檔案 不過剛剛再次確認,結果是沒有解決 Orz 歹勢誤導各位了 目前狀況是: 以 gdm3 管理登入 thunar 1.0.2 無論在 gnome 或 icewm/pekwm,都可以自動 mount usb nautilus 2.30.1 只有在 gnome 可以自動 mount usb pcmanfm 無論在 gnome/icewm/pekwm 都無法自動 mount usb edited: 1
| |||||||||||
coolcd joined: 2008-01-21 posted: 2601 promoted: 348 bookmarked: 95 |
第一篇的方式只能用在 gnome 環境,猜想可能是 polkit authentication agent 的問題,不太清楚 目前試過的自動掛載方式,相對可靠的可能是→自訂 udev rule 參考資料還是來自 archlinux wiki 在 /etc/udev/rules.d/ 內加入 11-media-by-label-with-pmount.rules,內容如下: KERNEL!="sd[b-z]*", GOTO="media_by_label_auto_mount_end" ACTION=="add", PROGRAM!="/sbin/blkid %N", GOTO="media_by_label_auto_mount_end" # Get label PROGRAM=="/sbin/blkid -o value -s LABEL %N", ENV{dir_name}="%c" # use basename to correctly handle labels such as ../mnt/foo PROGRAM=="/usr/bin/basename '%E{dir_name}'", ENV{dir_name}="%c" ENV{dir_name}=="", ENV{dir_name}="usbhd-%k" ACTION=="add", ENV{dir_name}!="", RUN+="/bin/su YOURNAME -c '/usr/bin/pmount %N %E{dir_name}'" ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/su YOURNAME -c '/usr/bin/pumount /media/%E{dir_name}'" LABEL="media_by_label_auto_mount_end" 綠字的部份可依自己系統狀況調整,紅字的部份要改成自己的 username。 當然,別忘了裝 pmount。 這個方式適用性比第一篇的高,據我測試,用在各種桌面環境都 ok。 這個方式的壞處是,usb 如果原本開機時就插著,不會自動 mount,猜想可能是 udev 還沒啟動,重插一次就可以自動掛載了。 還有,掛載的 username 要寫死在 rule,有多位使用者的電腦可能不太適合這個方式。 edited: 1
| |||||||||||
coolcd joined: 2008-01-21 posted: 2601 promoted: 348 bookmarked: 95 |
錯了,在 gnome 環境,不需要去自訂 polkit-1 的 rule,把 gvfs 裝好,應該就可以自動掛載 usb 外接硬碟了。 | |||||||||||
coolcd joined: 2008-01-21 posted: 2601 promoted: 348 bookmarked: 95 |
哇哈哈,約於抓到問題點了! 為什麼 PCManFM 有時可自動掛載以致於讓我誤解問題已解決、後來又不行呢?原因在於 → consolekit session 的問題 愈是 geeky 的人,愈容易陷入迷惑的泥沼! 從 startx 的情況來解說比較容易測試 原本我的 .xinitrc 中是這樣的: ck-launch-session dbus-launch --sh-syntax --exit-with-session icewm-session & 進入後,就在 urxvt 打 pcmanfm 測試,或者用 xbindkeys 設好的 alt+f2 從 dmenu 來跑 pcmanfm 因為這些途徑,都不是由 consolekit 控制的 session,所以導致 pcmanfm 無法取得 dbus 上的資源 要是用 icewm 內建的機制 Win + Space 或 menu 去執行 pcmanfm 就可以發現,usb 外接硬碟都自動掛載了!! 希望這次真的有抓到問題的重點 XD
要解決這個問題,可以用一個 dirty hack 把 .xinitrc 改成 exec ck-launch-session dbus-launch --sh-syntax --exit-with-session $HOME/.xstart 然後原本要執行的東西,改放到 .xstart 內 edited: 2
|
| adm | Find | login register |